aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/c-parse.c3903
-rw-r--r--gcc/c-parse.h69
-rw-r--r--gcc/c-parse.y2054
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/Makefile.in3
-rw-r--r--gcc/cp/parse.c8709
-rw-r--r--gcc/cp/parse.h97
-rw-r--r--gcc/java/ChangeLog4
-rw-r--r--gcc/java/parse-scan.c2571
-rw-r--r--gcc/objc/objc-parse.c5102
-rw-r--r--gcc/objc/objc-parse.y2781
12 files changed, 19 insertions, 25288 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b0d42ca..9b6f0dc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2000-07-12 Mark Mitchell <mark@codesourcery.com>
+
+ * c-parse.c: Remove.
+ * c-parse.h: Likewise.
+ * c-parse.y: Likewise.
+ * objc/objc-parse.c: Likewise.
+ * objc/objc-pasre.y: Likewise.
+
2000-07-11 Rodney Brown <RodneyBrown@pmsc.com>
* gcc.texi: Fix minor typos
diff --git a/gcc/c-parse.c b/gcc/c-parse.c
deleted file mode 100644
index 20e2024..0000000
--- a/gcc/c-parse.c
+++ /dev/null
@@ -1,3903 +0,0 @@
-
-/* A Bison parser, made from c-parse.y
- by GNU Bison version 1.28 */
-
-#define YYBISON 1 /* Identify Bison output. */
-
-#define IDENTIFIER 257
-#define TYPENAME 258
-#define SCSPEC 259
-#define TYPESPEC 260
-#define TYPE_QUAL 261
-#define CONSTANT 262
-#define STRING 263
-#define ELLIPSIS 264
-#define SIZEOF 265
-#define ENUM 266
-#define STRUCT 267
-#define UNION 268
-#define IF 269
-#define ELSE 270
-#define WHILE 271
-#define DO 272
-#define FOR 273
-#define SWITCH 274
-#define CASE 275
-#define DEFAULT 276
-#define BREAK 277
-#define CONTINUE 278
-#define RETURN 279
-#define GOTO 280
-#define ASM_KEYWORD 281
-#define TYPEOF 282
-#define ALIGNOF 283
-#define ATTRIBUTE 284
-#define EXTENSION 285
-#define LABEL 286
-#define REALPART 287
-#define IMAGPART 288
-#define VA_ARG 289
-#define PTR_VALUE 290
-#define PTR_BASE 291
-#define PTR_EXTENT 292
-#define END_OF_LINE 293
-#define ASSIGN 294
-#define OROR 295
-#define ANDAND 296
-#define EQCOMPARE 297
-#define ARITHCOMPARE 298
-#define LSHIFT 299
-#define RSHIFT 300
-#define UNARY 301
-#define PLUSPLUS 302
-#define MINUSMINUS 303
-#define HYPERUNARY 304
-#define POINTSAT 305
-#define INTERFACE 306
-#define IMPLEMENTATION 307
-#define END 308
-#define SELECTOR 309
-#define DEFS 310
-#define ENCODE 311
-#define CLASSNAME 312
-#define PUBLIC 313
-#define PRIVATE 314
-#define PROTECTED 315
-#define PROTOCOL 316
-#define OBJECTNAME 317
-#define CLASS 318
-#define ALIAS 319
-#define OBJC_STRING 320
-
-#line 34 "c-parse.y"
-
-#include "config.h"
-#include "system.h"
-#include <setjmp.h>
-#include "tree.h"
-#include "input.h"
-#include "c-lex.h"
-#include "c-tree.h"
-#include "flags.h"
-#include "output.h"
-#include "toplev.h"
-#include "ggc.h"
-
-#ifdef MULTIBYTE_CHARS
-#include <locale.h>
-#endif
-
-
-/* Since parsers are distinct for each language, put the language string
- definition here. */
-const char * const language_string = "GNU C";
-
-/* Like YYERROR but do call yyerror. */
-#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
-
-/* Cause the `yydebug' variable to be defined. */
-#define YYDEBUG 1
-
-#line 65 "c-parse.y"
-typedef union {long itype; tree ttype; enum tree_code code;
- const char *filename; int lineno; int ends_in_label; } YYSTYPE;
-#line 186 "c-parse.y"
-
-/* Number of statements (loosely speaking) and compound statements
- seen so far. */
-static int stmt_count;
-static int compstmt_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 const char *if_stmt_file;
-static int if_stmt_line;
-
-/* List of types and structure classes of the current declaration. */
-static tree current_declspecs = NULL_TREE;
-static tree prefix_attributes = NULL_TREE;
-
-/* Stack of saved values of current_declspecs and prefix_attributes. */
-static tree declspec_stack;
-
-/* For __extension__, save/restore the warning flags which are
- controlled by __extension__. */
-#define SAVE_WARN_FLAGS() \
- size_int (pedantic | (warn_pointer_arith << 1))
-#define RESTORE_WARN_FLAGS(tval) \
- do { \
- int val = tree_low_cst (tval, 0); \
- pedantic = val & 1; \
- warn_pointer_arith = (val >> 1) & 1; \
- } while (0)
-
-
-/* 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 PARAMS ((FILE *, int, YYSTYPE));
-
-/* Add GC roots for variables local to this file. */
-void
-c_parse_init ()
-{
- ggc_add_tree_root (&declspec_stack, 1);
- ggc_add_tree_root (&current_declspecs, 1);
- ggc_add_tree_root (&prefix_attributes, 1);
-}
-
-#include <stdio.h>
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
-#endif
-
-
-
-#define YYFINAL 706
-#define YYFLAG -32768
-#define YYNTBASE 89
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 320 ? yytranslate[x] : 247)
-
-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, 85, 2, 2, 2, 57, 48, 2, 64,
- 81, 55, 53, 86, 54, 63, 56, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 43, 82, 2,
- 41, 2, 42, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 65, 2, 88, 47, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 87, 46, 83, 84, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 44, 45, 49, 50, 51, 52,
- 58, 59, 60, 61, 62, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80
-};
-
-#if YYDEBUG != 0
-static const short yyprhs[] = { 0,
- 0, 1, 3, 4, 7, 8, 12, 14, 16, 22,
- 25, 29, 34, 39, 42, 45, 48, 51, 53, 54,
- 55, 63, 68, 69, 70, 78, 83, 84, 85, 92,
- 96, 98, 100, 102, 104, 106, 108, 110, 112, 114,
- 116, 117, 119, 121, 125, 127, 130, 133, 136, 139,
- 142, 147, 150, 155, 158, 161, 168, 170, 172, 174,
- 179, 180, 188, 190, 194, 198, 202, 206, 210, 214,
- 218, 222, 226, 230, 234, 238, 239, 244, 245, 250,
- 251, 252, 260, 261, 267, 271, 275, 277, 279, 281,
- 285, 289, 293, 297, 302, 307, 311, 315, 318, 321,
- 323, 326, 327, 329, 332, 336, 338, 340, 343, 346,
- 351, 356, 359, 362, 366, 368, 370, 373, 376, 377,
- 378, 383, 388, 392, 396, 399, 402, 405, 408, 412,
- 413, 416, 419, 422, 425, 429, 430, 433, 436, 438,
- 440, 443, 446, 448, 450, 453, 456, 459, 463, 464,
- 467, 469, 471, 473, 478, 483, 485, 487, 489, 491,
- 495, 497, 501, 502, 507, 508, 515, 519, 520, 527,
- 531, 532, 534, 536, 539, 546, 548, 552, 553, 555,
- 560, 567, 572, 574, 576, 578, 580, 582, 583, 588,
- 590, 591, 594, 596, 600, 604, 607, 608, 613, 615,
- 616, 621, 623, 625, 627, 630, 633, 639, 643, 644,
- 645, 651, 652, 653, 659, 661, 663, 667, 671, 676,
- 680, 684, 688, 690, 694, 699, 704, 708, 712, 716,
- 718, 722, 726, 730, 735, 740, 744, 748, 750, 752,
- 755, 757, 760, 762, 765, 766, 774, 780, 783, 784,
- 792, 798, 801, 802, 811, 812, 820, 823, 824, 826,
- 827, 829, 831, 834, 835, 839, 842, 846, 852, 856,
- 858, 860, 863, 865, 869, 874, 881, 887, 889, 893,
- 895, 897, 901, 904, 907, 908, 910, 912, 915, 916,
- 919, 923, 927, 930, 934, 939, 943, 946, 950, 953,
- 957, 959, 961, 964, 967, 968, 970, 973, 974, 975,
- 977, 979, 982, 986, 988, 991, 993, 995, 1001, 1006,
- 1011, 1014, 1017, 1020, 1023, 1028, 1029, 1034, 1035, 1036,
- 1040, 1045, 1049, 1051, 1053, 1055, 1057, 1060, 1061, 1066,
- 1068, 1072, 1073, 1074, 1082, 1088, 1091, 1092, 1093, 1094,
- 1107, 1108, 1115, 1118, 1121, 1124, 1128, 1135, 1144, 1155,
- 1168, 1172, 1177, 1179, 1181, 1182, 1189, 1193, 1199, 1202,
- 1206, 1207, 1209, 1210, 1212, 1213, 1215, 1217, 1221, 1226,
- 1228, 1232, 1233, 1236, 1239, 1240, 1245, 1248, 1249, 1251,
- 1253, 1257, 1259, 1263, 1268, 1273, 1278, 1283, 1288, 1289,
- 1292, 1294, 1297, 1299, 1303, 1305, 1309
-};
-
-static const short yyrhs[] = { -1,
- 90, 0, 0, 91, 93, 0, 0, 90, 92, 93,
- 0, 95, 0, 94, 0, 27, 64, 104, 81, 82,
- 0, 246, 93, 0, 126, 140, 82, 0, 133, 126,
- 140, 82, 0, 129, 126, 139, 82, 0, 133, 82,
- 0, 129, 82, 0, 1, 82, 0, 1, 83, 0,
- 82, 0, 0, 0, 129, 126, 168, 96, 120, 97,
- 202, 0, 129, 126, 168, 1, 0, 0, 0, 133,
- 126, 171, 98, 120, 99, 202, 0, 133, 126, 171,
- 1, 0, 0, 0, 126, 171, 100, 120, 101, 202,
- 0, 126, 171, 1, 0, 3, 0, 4, 0, 48,
- 0, 54, 0, 53, 0, 59, 0, 60, 0, 84,
- 0, 85, 0, 106, 0, 0, 106, 0, 112, 0,
- 106, 86, 112, 0, 118, 0, 55, 110, 0, 246,
- 110, 0, 103, 110, 0, 45, 102, 0, 108, 107,
- 0, 108, 64, 189, 81, 0, 109, 107, 0, 109,
- 64, 189, 81, 0, 33, 110, 0, 34, 110, 0,
- 35, 64, 112, 86, 189, 81, 0, 11, 0, 29,
- 0, 107, 0, 64, 189, 81, 110, 0, 0, 64,
- 189, 81, 87, 111, 154, 83, 0, 110, 0, 112,
- 53, 112, 0, 112, 54, 112, 0, 112, 55, 112,
- 0, 112, 56, 112, 0, 112, 57, 112, 0, 112,
- 51, 112, 0, 112, 52, 112, 0, 112, 50, 112,
- 0, 112, 49, 112, 0, 112, 48, 112, 0, 112,
- 46, 112, 0, 112, 47, 112, 0, 0, 112, 45,
- 113, 112, 0, 0, 112, 44, 114, 112, 0, 0,
- 0, 112, 42, 115, 104, 43, 116, 112, 0, 0,
- 112, 42, 117, 43, 112, 0, 112, 41, 112, 0,
- 112, 40, 112, 0, 3, 0, 8, 0, 119, 0,
- 64, 104, 81, 0, 64, 1, 81, 0, 205, 204,
- 81, 0, 205, 1, 81, 0, 118, 64, 105, 81,
- 0, 118, 65, 104, 88, 0, 118, 63, 102, 0,
- 118, 62, 102, 0, 118, 59, 0, 118, 60, 0,
- 9, 0, 119, 9, 0, 0, 122, 0, 122, 10,
- 0, 211, 212, 123, 0, 121, 0, 197, 0, 122,
- 121, 0, 121, 197, 0, 131, 126, 139, 82, 0,
- 134, 126, 140, 82, 0, 131, 82, 0, 134, 82,
- 0, 211, 212, 128, 0, 124, 0, 197, 0, 125,
- 124, 0, 124, 197, 0, 0, 0, 129, 126, 139,
- 82, 0, 133, 126, 140, 82, 0, 129, 126, 162,
- 0, 133, 126, 165, 0, 129, 82, 0, 133, 82,
- 0, 246, 128, 0, 137, 130, 0, 133, 137, 130,
- 0, 0, 130, 138, 0, 130, 5, 0, 130, 147,
- 0, 137, 132, 0, 134, 137, 132, 0, 0, 132,
- 138, 0, 132, 5, 0, 134, 0, 147, 0, 133,
- 134, 0, 133, 147, 0, 7, 0, 5, 0, 134,
- 7, 0, 134, 5, 0, 137, 136, 0, 191, 137,
- 136, 0, 0, 136, 138, 0, 6, 0, 175, 0,
- 4, 0, 28, 64, 104, 81, 0, 28, 64, 189,
- 81, 0, 6, 0, 7, 0, 175, 0, 142, 0,
- 139, 86, 142, 0, 144, 0, 140, 86, 142, 0,
- 0, 27, 64, 119, 81, 0, 0, 168, 141, 146,
- 41, 143, 152, 0, 168, 141, 146, 0, 0, 171,
- 141, 146, 41, 145, 152, 0, 171, 141, 146, 0,
- 0, 147, 0, 148, 0, 147, 148, 0, 30, 64,
- 64, 149, 81, 81, 0, 150, 0, 149, 86, 150,
- 0, 0, 151, 0, 151, 64, 3, 81, 0, 151,
- 64, 3, 86, 106, 81, 0, 151, 64, 105, 81,
- 0, 102, 0, 5, 0, 6, 0, 7, 0, 112,
- 0, 0, 87, 153, 154, 83, 0, 1, 0, 0,
- 155, 180, 0, 156, 0, 155, 86, 156, 0, 160,
- 41, 158, 0, 161, 158, 0, 0, 102, 43, 157,
- 158, 0, 158, 0, 0, 87, 159, 154, 83, 0,
- 112, 0, 1, 0, 161, 0, 160, 161, 0, 63,
- 102, 0, 65, 112, 10, 112, 88, 0, 65, 112,
- 88, 0, 0, 0, 168, 163, 120, 164, 206, 0,
- 0, 0, 171, 166, 120, 167, 206, 0, 169, 0,
- 171, 0, 64, 169, 81, 0, 169, 64, 241, 0,
- 169, 65, 104, 88, 0, 169, 65, 88, 0, 55,
- 192, 169, 0, 147, 127, 169, 0, 4, 0, 170,
- 64, 241, 0, 170, 65, 55, 88, 0, 170, 65,
- 104, 88, 0, 170, 65, 88, 0, 55, 192, 170,
- 0, 147, 127, 170, 0, 4, 0, 171, 64, 241,
- 0, 64, 171, 81, 0, 55, 192, 171, 0, 171,
- 65, 55, 88, 0, 171, 65, 104, 88, 0, 171,
- 65, 88, 0, 147, 127, 171, 0, 3, 0, 13,
- 0, 13, 147, 0, 14, 0, 14, 147, 0, 12,
- 0, 12, 147, 0, 0, 172, 102, 87, 176, 182,
- 83, 146, 0, 172, 87, 182, 83, 146, 0, 172,
- 102, 0, 0, 173, 102, 87, 177, 182, 83, 146,
- 0, 173, 87, 182, 83, 146, 0, 173, 102, 0,
- 0, 174, 102, 87, 178, 187, 181, 83, 146, 0,
- 0, 174, 87, 179, 187, 181, 83, 146, 0, 174,
- 102, 0, 0, 86, 0, 0, 86, 0, 183, 0,
- 183, 184, 0, 0, 183, 184, 82, 0, 183, 82,
- 0, 135, 126, 185, 0, 135, 126, 211, 212, 146,
- 0, 191, 126, 185, 0, 191, 0, 1, 0, 246,
- 184, 0, 186, 0, 185, 86, 186, 0, 211, 212,
- 168, 146, 0, 211, 212, 168, 43, 112, 146, 0,
- 211, 212, 43, 112, 146, 0, 188, 0, 187, 86,
- 188, 0, 1, 0, 102, 0, 102, 41, 112, 0,
- 135, 190, 0, 191, 190, 0, 0, 193, 0, 7,
- 0, 191, 7, 0, 0, 192, 7, 0, 64, 193,
- 81, 0, 55, 192, 193, 0, 55, 192, 0, 193,
- 64, 234, 0, 193, 65, 104, 88, 0, 193, 65,
- 88, 0, 64, 234, 0, 65, 104, 88, 0, 65,
- 88, 0, 147, 127, 193, 0, 195, 0, 214, 0,
- 195, 214, 0, 195, 197, 0, 0, 194, 0, 1,
- 82, 0, 0, 0, 200, 0, 201, 0, 200, 201,
- 0, 32, 245, 82, 0, 206, 0, 1, 206, 0,
- 87, 0, 83, 0, 198, 199, 125, 196, 83, 0,
- 198, 199, 1, 83, 0, 198, 199, 194, 83, 0,
- 64, 87, 0, 203, 204, 0, 208, 213, 0, 208,
- 1, 0, 15, 64, 104, 81, 0, 0, 18, 210,
- 213, 17, 0, 0, 0, 211, 212, 216, 0, 211,
- 212, 227, 213, 0, 211, 212, 215, 0, 216, 0,
- 227, 0, 206, 0, 224, 0, 104, 82, 0, 0,
- 207, 16, 217, 213, 0, 207, 0, 207, 16, 1,
- 0, 0, 0, 17, 218, 64, 104, 81, 219, 213,
- 0, 209, 64, 104, 81, 82, 0, 209, 1, 0,
- 0, 0, 0, 19, 64, 229, 82, 220, 229, 82,
- 221, 229, 81, 222, 213, 0, 0, 20, 64, 104,
- 81, 223, 213, 0, 23, 82, 0, 24, 82, 0,
- 25, 82, 0, 25, 104, 82, 0, 27, 228, 64,
- 104, 81, 82, 0, 27, 228, 64, 104, 43, 230,
- 81, 82, 0, 27, 228, 64, 104, 43, 230, 43,
- 230, 81, 82, 0, 27, 228, 64, 104, 43, 230,
- 43, 230, 43, 233, 81, 82, 0, 26, 102, 82,
- 0, 26, 55, 104, 82, 0, 82, 0, 225, 0,
- 0, 19, 64, 118, 81, 226, 213, 0, 21, 112,
- 43, 0, 21, 112, 10, 112, 43, 0, 22, 43,
- 0, 102, 43, 146, 0, 0, 7, 0, 0, 104,
- 0, 0, 231, 0, 232, 0, 231, 86, 232, 0,
- 9, 64, 104, 81, 0, 119, 0, 233, 86, 119,
- 0, 0, 235, 236, 0, 238, 81, 0, 0, 239,
- 82, 237, 236, 0, 1, 81, 0, 0, 10, 0,
- 239, 0, 239, 86, 10, 0, 240, 0, 239, 86,
- 240, 0, 129, 126, 170, 146, 0, 129, 126, 171,
- 146, 0, 129, 126, 190, 146, 0, 133, 126, 171,
- 146, 0, 133, 126, 190, 146, 0, 0, 242, 243,
- 0, 236, 0, 244, 81, 0, 3, 0, 244, 86,
- 3, 0, 102, 0, 245, 86, 102, 0, 31, 0
-};
-
-#endif
-
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
- 233, 238, 252, 254, 254, 255, 257, 259, 260, 268,
- 272, 282, 286, 290, 292, 294, 295, 296, 301, 308,
- 310, 314, 318, 324, 326, 330, 334, 340, 342, 346,
- 352, 354, 357, 359, 361, 363, 365, 367, 369, 373,
- 377, 380, 383, 386, 390, 392, 395, 398, 402, 430,
- 436, 439, 442, 445, 447, 449, 453, 457, 461, 463,
- 466, 470, 497, 499, 501, 503, 505, 507, 509, 511,
- 513, 515, 517, 519, 521, 523, 527, 529, 533, 535,
- 538, 542, 544, 551, 554, 562, 573, 580, 581, 583,
- 589, 591, 614, 623, 625, 627, 631, 637, 639, 644,
- 646, 654, 656, 657, 667, 672, 674, 675, 676, 683,
- 688, 692, 695, 703, 708, 710, 711, 712, 719, 729,
- 733, 738, 742, 746, 750, 752, 754, 763, 766, 770,
- 772, 774, 779, 783, 786, 790, 793, 795, 807, 810,
- 812, 814, 818, 822, 824, 827, 840, 843, 847, 849,
- 857, 858, 859, 863, 865, 871, 872, 873, 876, 878,
- 881, 883, 886, 889, 895, 902, 904, 911, 918, 921,
- 928, 931, 935, 938, 942, 947, 950, 954, 957, 959,
- 961, 963, 970, 972, 973, 974, 979, 981, 983, 985,
- 990, 994, 997, 999, 1004, 1006, 1007, 1010, 1010, 1013,
- 1016, 1018, 1020, 1023, 1025, 1028, 1034, 1036, 1040, 1054,
- 1062, 1066, 1080, 1088, 1095, 1097, 1102, 1105, 1110, 1112,
- 1114, 1121, 1123, 1131, 1137, 1142, 1144, 1146, 1153, 1155,
- 1161, 1167, 1169, 1171, 1176, 1178, 1185, 1187, 1190, 1193,
- 1197, 1200, 1204, 1207, 1211, 1216, 1218, 1222, 1224, 1226,
- 1228, 1232, 1234, 1236, 1239, 1241, 1244, 1248, 1250, 1253,
- 1255, 1260, 1263, 1268, 1270, 1272, 1286, 1292, 1305, 1310,
- 1315, 1317, 1322, 1324, 1328, 1332, 1336, 1346, 1348, 1353,
- 1358, 1361, 1365, 1368, 1372, 1375, 1378, 1381, 1385, 1388,
- 1392, 1396, 1398, 1400, 1402, 1404, 1406, 1408, 1410, 1414,
- 1422, 1430, 1432, 1434, 1438, 1440, 1443, 1446, 1456, 1458,
- 1463, 1465, 1468, 1482, 1485, 1488, 1490, 1492, 1496, 1500,
- 1506, 1524, 1529, 1534, 1537, 1551, 1560, 1564, 1568, 1572,
- 1578, 1582, 1587, 1590, 1595, 1598, 1599, 1615, 1620, 1623,
- 1635, 1637, 1647, 1657, 1658, 1665, 1667, 1679, 1683, 1697,
- 1703, 1709, 1710, 1714, 1718, 1722, 1726, 1737, 1744, 1751,
- 1758, 1769, 1775, 1778, 1783, 1806, 1836, 1842, 1848, 1854,
- 1868, 1872, 1876, 1879, 1884, 1886, 1889, 1891, 1895, 1900,
- 1903, 1909, 1914, 1919, 1921, 1930, 1931, 1937, 1939, 1949,
- 1951, 1955, 1958, 1964, 1973, 1981, 1989, 1998, 2011, 2016,
- 2021, 2023, 2032, 2035, 2040, 2043, 2047
-};
-#endif
-
-
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = { "$","error","$undefined.","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","ATTRIBUTE",
-"EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG","PTR_VALUE","PTR_BASE","PTR_EXTENT",
-"END_OF_LINE","ASSIGN","'='","'?'","':'","OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE",
-"ARITHCOMPARE","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS",
-"MINUSMINUS","HYPERUNARY","POINTSAT","'.'","'('","'['","INTERFACE","IMPLEMENTATION",
-"END","SELECTOR","DEFS","ENCODE","CLASSNAME","PUBLIC","PRIVATE","PROTECTED",
-"PROTOCOL","OBJECTNAME","CLASS","ALIAS","OBJC_STRING","')'","';'","'}'","'~'",
-"'!'","','","'{'","']'","program","extdefs","@1","@2","extdef","datadef","fndef",
-"@3","@4","@5","@6","@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist",
-"unary_expr","sizeof","alignof","cast_expr","@9","expr_no_commas","@10","@11",
-"@12","@13","@14","primary","string","old_style_parm_decls","lineno_datadecl",
-"datadecls","datadecl","lineno_decl","decls","setspecs","setattrs","decl","typed_declspecs",
-"reserved_declspecs","typed_declspecs_no_prefix_attr","reserved_declspecs_no_prefix_attr",
-"declmods","declmods_no_prefix_attr","typed_typespecs","reserved_typespecquals",
-"typespec","typespecqual_reserved","initdecls","notype_initdecls","maybeasm",
-"initdcl","@15","notype_initdcl","@16","maybe_attribute","attributes","attribute",
-"attribute_list","attrib","any_word","init","@17","initlist_maybe_comma","initlist1",
-"initelt","@18","initval","@19","designator_list","designator","nested_function",
-"@20","@21","notype_nested_function","@22","@23","declarator","after_type_declarator",
-"parm_declarator","notype_declarator","struct_head","union_head","enum_head",
-"structsp","@24","@25","@26","@27","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","lineno_stmt_or_labels","xstmts","errstmt","pushlevel","maybe_label_decls",
-"label_decls","label_decl","compstmt_or_error","compstmt_start","compstmt_nostart",
-"compstmt_primary_start","compstmt","simple_if","if_prefix","do_stmt_start",
-"@28","save_filename","save_lineno","lineno_labeled_stmt","lineno_stmt_or_label",
-"stmt_or_label","stmt","@29","@30","@31","@32","@33","@34","@35","all_iter_stmt",
-"all_iter_stmt_simple","@36","label","maybe_type_qual","xexpr","asm_operands",
-"nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","@37","parmlist_1",
-"@38","parmlist_2","parms","parm","parmlist_or_identifiers","@39","parmlist_or_identifiers_1",
-"identifiers","identifiers_or_typenames","extension", NULL
-};
-#endif
-
-static const short yyr1[] = { 0,
- 89, 89, 91, 90, 92, 90, 93, 93, 93, 93,
- 94, 94, 94, 94, 94, 94, 94, 94, 96, 97,
- 95, 95, 98, 99, 95, 95, 100, 101, 95, 95,
- 102, 102, 103, 103, 103, 103, 103, 103, 103, 104,
- 105, 105, 106, 106, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 108, 109, 110, 110,
- 111, 110, 112, 112, 112, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 113, 112, 114, 112, 115,
- 116, 112, 117, 112, 112, 112, 118, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 118, 118, 119,
- 119, 120, 120, 120, 121, 122, 122, 122, 122, 123,
- 123, 123, 123, 124, 125, 125, 125, 125, 126, 127,
- 128, 128, 128, 128, 128, 128, 128, 129, 129, 130,
- 130, 130, 130, 131, 131, 132, 132, 132, 133, 133,
- 133, 133, 134, 134, 134, 134, 135, 135, 136, 136,
- 137, 137, 137, 137, 137, 138, 138, 138, 139, 139,
- 140, 140, 141, 141, 143, 142, 142, 145, 144, 144,
- 146, 146, 147, 147, 148, 149, 149, 150, 150, 150,
- 150, 150, 151, 151, 151, 151, 152, 153, 152, 152,
- 154, 154, 155, 155, 156, 156, 157, 156, 156, 159,
- 158, 158, 158, 160, 160, 161, 161, 161, 163, 164,
- 162, 166, 167, 165, 168, 168, 169, 169, 169, 169,
- 169, 169, 169, 170, 170, 170, 170, 170, 170, 170,
- 171, 171, 171, 171, 171, 171, 171, 171, 172, 172,
- 173, 173, 174, 174, 176, 175, 175, 175, 177, 175,
- 175, 175, 178, 175, 179, 175, 175, 180, 180, 181,
- 181, 182, 182, 183, 183, 183, 184, 184, 184, 184,
- 184, 184, 185, 185, 186, 186, 186, 187, 187, 187,
- 188, 188, 189, 189, 190, 190, 191, 191, 192, 192,
- 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
- 194, 195, 195, 195, 196, 196, 197, 198, 199, 199,
- 200, 200, 201, 202, 202, 203, 204, 204, 204, 204,
- 205, 206, 207, 207, 208, 210, 209, 211, 212, 213,
- 213, 214, 215, 215, 216, 216, 216, 217, 216, 216,
- 216, 218, 219, 216, 216, 216, 220, 221, 222, 216,
- 223, 216, 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 224, 226, 225, 227, 227, 227, 227,
- 228, 228, 229, 229, 230, 230, 231, 231, 232, 233,
- 233, 235, 234, 236, 237, 236, 236, 238, 238, 238,
- 238, 239, 239, 240, 240, 240, 240, 240, 242, 241,
- 243, 243, 244, 244, 245, 245, 246
-};
-
-static const short yyr2[] = { 0,
- 0, 1, 0, 2, 0, 3, 1, 1, 5, 2,
- 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, 2, 2, 2, 2,
- 4, 2, 4, 2, 2, 6, 1, 1, 1, 4,
- 0, 7, 1, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 0, 4, 0, 4, 0,
- 0, 7, 0, 5, 3, 3, 1, 1, 1, 3,
- 3, 3, 3, 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, 0,
- 4, 4, 3, 3, 2, 2, 2, 2, 3, 0,
- 2, 2, 2, 2, 3, 0, 2, 2, 1, 1,
- 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, 1, 1, 2, 6, 1, 3, 0, 1, 4,
- 6, 4, 1, 1, 1, 1, 1, 0, 4, 1,
- 0, 2, 1, 3, 3, 2, 0, 4, 1, 0,
- 4, 1, 1, 1, 2, 2, 5, 3, 0, 0,
- 5, 0, 0, 5, 1, 1, 3, 3, 4, 3,
- 3, 3, 1, 3, 4, 4, 3, 3, 3, 1,
- 3, 3, 3, 4, 4, 3, 3, 1, 1, 2,
- 1, 2, 1, 2, 0, 7, 5, 2, 0, 7,
- 5, 2, 0, 8, 0, 7, 2, 0, 1, 0,
- 1, 1, 2, 0, 3, 2, 3, 5, 3, 1,
- 1, 2, 1, 3, 4, 6, 5, 1, 3, 1,
- 1, 3, 2, 2, 0, 1, 1, 2, 0, 2,
- 3, 3, 2, 3, 4, 3, 2, 3, 2, 3,
- 1, 1, 2, 2, 0, 1, 2, 0, 0, 1,
- 1, 2, 3, 1, 2, 1, 1, 5, 4, 4,
- 2, 2, 2, 2, 4, 0, 4, 0, 0, 3,
- 4, 3, 1, 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, 1, 0, 6, 3, 5, 2, 3,
- 0, 1, 0, 1, 0, 1, 1, 3, 4, 1,
- 3, 0, 2, 2, 0, 4, 2, 0, 1, 1,
- 3, 1, 3, 4, 4, 4, 4, 4, 0, 2,
- 1, 2, 1, 3, 1, 3, 1
-};
-
-static const short yydefact[] = { 3,
- 5, 0, 0, 0, 153, 144, 151, 143, 243, 239,
- 241, 0, 0, 0, 407, 18, 4, 8, 7, 0,
- 119, 119, 139, 130, 140, 173, 0, 0, 0, 152,
- 0, 6, 16, 17, 244, 240, 242, 0, 0, 0,
- 238, 289, 0, 0, 161, 120, 0, 15, 0, 14,
- 0, 141, 130, 142, 146, 145, 128, 174, 31, 32,
- 264, 248, 264, 252, 255, 257, 10, 87, 88, 100,
- 57, 58, 0, 0, 0, 0, 33, 35, 34, 0,
- 36, 37, 0, 38, 39, 0, 0, 40, 59, 0,
- 0, 63, 43, 45, 89, 0, 0, 287, 0, 285,
- 149, 0, 285, 178, 0, 0, 11, 0, 0, 30,
- 0, 399, 0, 0, 171, 223, 289, 0, 0, 159,
- 120, 0, 215, 216, 0, 0, 129, 132, 156, 157,
- 131, 133, 158, 0, 0, 245, 0, 249, 0, 253,
- 54, 55, 0, 49, 46, 0, 321, 0, 0, 48,
- 0, 0, 0, 50, 0, 52, 0, 0, 80, 78,
- 76, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 98, 99, 0, 0, 41, 0, 101,
- 0, 317, 309, 0, 47, 154, 289, 382, 0, 120,
- 283, 286, 147, 155, 288, 149, 284, 184, 185, 186,
- 183, 0, 176, 179, 290, 233, 232, 162, 163, 237,
- 0, 231, 0, 0, 236, 0, 0, 28, 0, 328,
- 107, 329, 170, 172, 0, 0, 13, 0, 0, 22,
- 0, 171, 399, 0, 12, 26, 0, 171, 271, 266,
- 119, 263, 119, 0, 264, 171, 264, 280, 281, 260,
- 278, 0, 0, 91, 90, 0, 9, 44, 0, 0,
- 86, 85, 0, 0, 0, 0, 74, 75, 73, 72,
- 71, 69, 70, 64, 65, 66, 67, 68, 97, 96,
- 0, 42, 0, 93, 0, 0, 310, 311, 92, 293,
- 0, 297, 0, 299, 0, 0, 382, 0, 150, 148,
- 0, 178, 41, 0, 0, 403, 389, 119, 119, 401,
- 0, 390, 392, 400, 0, 234, 235, 307, 0, 109,
- 104, 108, 0, 168, 221, 217, 160, 222, 20, 167,
- 218, 220, 0, 24, 247, 328, 265, 328, 272, 0,
- 251, 0, 0, 261, 0, 260, 0, 61, 60, 51,
- 53, 0, 0, 79, 77, 94, 95, 405, 0, 0,
- 0, 328, 0, 0, 116, 329, 302, 312, 292, 291,
- 383, 298, 300, 294, 296, 0, 175, 177, 87, 0,
- 164, 387, 285, 285, 384, 385, 0, 402, 0, 0,
- 316, 29, 308, 314, 105, 119, 119, 136, 0, 0,
- 165, 219, 0, 267, 273, 329, 269, 329, 171, 171,
- 282, 279, 171, 0, 0, 0, 81, 84, 313, 0,
- 319, 118, 117, 306, 0, 320, 304, 329, 303, 0,
- 295, 180, 0, 182, 230, 289, 382, 120, 171, 171,
- 171, 289, 120, 171, 171, 0, 391, 393, 404, 315,
- 322, 112, 0, 113, 0, 136, 134, 190, 188, 187,
- 169, 21, 0, 25, 328, 171, 0, 246, 250, 256,
- 171, 56, 203, 87, 0, 0, 200, 0, 202, 0,
- 258, 193, 199, 0, 0, 0, 406, 318, 0, 153,
- 0, 342, 326, 0, 0, 0, 0, 0, 0, 0,
- 0, 371, 363, 0, 0, 114, 119, 119, 335, 340,
- 0, 0, 332, 333, 336, 364, 334, 0, 0, 293,
- 0, 399, 0, 394, 395, 396, 293, 0, 397, 398,
- 386, 0, 0, 163, 135, 138, 137, 0, 166, 274,
- 0, 268, 120, 171, 254, 206, 0, 0, 197, 62,
- 0, 192, 0, 205, 196, 82, 0, 0, 328, 373,
- 0, 0, 369, 353, 354, 355, 0, 0, 0, 372,
- 0, 171, 337, 125, 0, 126, 0, 0, 324, 329,
- 323, 346, 0, 127, 181, 228, 229, 224, 0, 227,
- 0, 110, 111, 0, 171, 0, 275, 0, 208, 0,
- 0, 194, 195, 0, 0, 0, 374, 45, 0, 0,
- 0, 367, 356, 0, 361, 0, 370, 0, 123, 209,
- 0, 124, 212, 341, 328, 0, 0, 225, 226, 189,
- 277, 171, 0, 201, 198, 325, 0, 327, 365, 347,
- 351, 0, 362, 0, 121, 0, 122, 0, 339, 330,
- 328, 0, 276, 207, 343, 328, 373, 328, 368, 375,
- 0, 210, 213, 331, 345, 328, 366, 0, 352, 0,
- 0, 376, 377, 357, 0, 0, 344, 348, 0, 375,
- 0, 0, 211, 214, 373, 0, 0, 358, 378, 0,
- 379, 0, 0, 349, 380, 0, 359, 328, 0, 0,
- 350, 360, 381, 0, 0, 0
-};
-
-static const short yydefgoto[] = { 704,
- 1, 2, 3, 17, 18, 19, 231, 400, 237, 403,
- 114, 319, 478, 86, 148, 281, 88, 89, 90, 91,
- 92, 416, 93, 266, 265, 263, 486, 264, 94, 95,
- 218, 219, 220, 395, 361, 362, 20, 229, 506, 308,
- 57, 396, 457, 309, 23, 100, 193, 24, 131, 119,
- 44, 115, 120, 463, 45, 399, 223, 224, 26, 202,
- 203, 204, 461, 538, 480, 481, 482, 601, 483, 548,
- 484, 485, 619, 646, 675, 622, 648, 676, 209, 123,
- 439, 124, 27, 28, 29, 30, 245, 247, 252, 139,
- 552, 345, 134, 135, 242, 404, 405, 250, 251, 102,
- 191, 103, 105, 192, 363, 364, 425, 221, 183, 286,
- 287, 288, 392, 393, 184, 96, 394, 510, 511, 512,
- 559, 580, 323, 581, 367, 513, 514, 625, 558, 666,
- 657, 685, 698, 658, 515, 516, 656, 517, 571, 609,
- 671, 672, 673, 696, 292, 293, 310, 446, 311, 312,
- 313, 212, 213, 314, 315, 359, 97
-};
-
-static const short yypact[] = { 60,
- 74, 2478, 2478, 206,-32768,-32768,-32768,-32768, 53, 53,
- 53, 56, 64, 70,-32768,-32768,-32768,-32768,-32768, 66,
- 21, 483, 244,-32768, 53,-32768, 59, 73, 85,-32768,
- 2478,-32768,-32768,-32768, 53, 53, 53, 2279, 2200, 81,
--32768,-32768, 66, 215,-32768, 53, 608,-32768, 461,-32768,
- 66, 244,-32768, 53,-32768,-32768, 1057,-32768,-32768,-32768,
--32768, 27,-32768, 77,-32768, 95,-32768,-32768,-32768,-32768,
--32768,-32768, 2279, 2279, 127, 392,-32768,-32768,-32768, 2279,
--32768,-32768, 1222,-32768,-32768, 2279, 116, 120,-32768, 2337,
- 2375,-32768, 2542, 827, 203, 713, 2279,-32768, 139, 238,
--32768, 193, 1137, 569, 403, 213,-32768, 461, 66,-32768,
- 180,-32768, 1573, 321, 53,-32768,-32768, 461, 222,-32768,
- 53, 1560, 339, 377, 271, 1530, 1057,-32768,-32768,-32768,
--32768, 53,-32768, 170, 387,-32768, 212,-32768, 410,-32768,
--32768,-32768, 2279,-32768,-32768, 195,-32768, 225, 228,-32768,
- 247, 2279, 1222,-32768, 1222,-32768, 2279, 2279, 293,-32768,
--32768, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279,
- 2279, 2279, 2279,-32768,-32768, 392, 392, 2279, 2279,-32768,
- 250,-32768, 319, 278,-32768,-32768,-32768, 238, 1640, 53,
--32768, 395, 544,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, 129,-32768, 297,-32768, 377,-32768,-32768, 337, 377,
- 358,-32768, 778, 1678,-32768, 284, 303,-32768, 233, 57,
--32768,-32768, 349, 53, 891, 249,-32768, 461, 461,-32768,
- 321, 53,-32768, 1736,-32768,-32768, 321, 53,-32768,-32768,
--32768, 305, 172, 857,-32768, 53,-32768,-32768, 379, 336,
--32768, 410, 2499,-32768,-32768, 2079,-32768, 2542, 369, 382,
- 2542, 2542, 2279, 386, 2279, 2279, 2553, 2167, 1456, 1664,
- 1392, 589, 589, 288, 288,-32768,-32768,-32768,-32768,-32768,
- 390, 120, 398,-32768, 392, 905, 319,-32768,-32768, 72,
- 259,-32768, 967,-32768, 406, 238,-32768, 1774,-32768, 544,
- 419, 569, 2416, 50, 424,-32768,-32768,-32768, 1112,-32768,
- 425, 316,-32768,-32768, 140,-32768,-32768,-32768, 46,-32768,
--32768,-32768, 1534,-32768, 339,-32768,-32768, 339,-32768, 457,
--32768,-32768, 426,-32768,-32768,-32768,-32768,-32768,-32768, 429,
--32768, 435, 2279, 392, 441, 336, 1585,-32768,-32768,-32768,
--32768, 464, 2279, 1799, 2303,-32768,-32768,-32768, 323, 374,
- 820, 444, 448, 990,-32768,-32768,-32768,-32768, 395,-32768,
--32768,-32768, 395,-32768,-32768, 465,-32768,-32768, 155, 455,
--32768,-32768, 282, 158,-32768,-32768, 1027,-32768, 552, 473,
--32768,-32768, 478,-32768,-32768, 480, 1054,-32768, 1431, 46,
--32768,-32768, 46, 482,-32768,-32768, 482,-32768, 53, 53,
- 2542,-32768, 53, 486, 496, 1260,-32768, 1704,-32768, 392,
--32768,-32768,-32768,-32768, 498,-32768,-32768,-32768,-32768, 1956,
--32768,-32768, 2279,-32768,-32768,-32768, 158, 53, 205, 235,
- 53,-32768, 53, 235, 53, 967,-32768,-32768,-32768,-32768,
--32768,-32768, 461,-32768, 66,-32768, 698,-32768,-32768, 2542,
--32768,-32768, 1431,-32768,-32768, 536, 536,-32768,-32768,-32768,
- 53,-32768,-32768, 542, 392, 2279,-32768, 549, 2542, 501,
- 507,-32768,-32768, 167, 1366, 2279,-32768,-32768, 2041, 554,
- 535,-32768,-32768, 537, 538, 2279, 564, 529, 534, 2238,
- 104, 610,-32768, 575, 546,-32768, 550, 672,-32768, 615,
- 1075, 84,-32768,-32768,-32768,-32768,-32768, 2141, 177, 277,
- 282,-32768, 1832,-32768,-32768,-32768, 541, 158,-32768,-32768,
--32768, 346, 348, 163, 698,-32768,-32768, 1260,-32768,-32768,
- 2279,-32768, 67, 175,-32768,-32768, 613, 1260,-32768,-32768,
- 1325,-32768, 1469,-32768,-32768, 1704, 2279, 570,-32768, 2279,
- 2279, 1896,-32768,-32768,-32768,-32768, 551, 2279, 558,-32768,
- 584, 53,-32768,-32768, 461,-32768, 66, 1160,-32768,-32768,
--32768,-32768, 2279,-32768,-32768, 417, 417,-32768, 1870,-32768,
- 562,-32768,-32768, 588, 1977, 2279,-32768, 2279,-32768, 592,
- 1469,-32768,-32768, 571, 2279, 663,-32768, 1237, 599, 601,
- 2279,-32768,-32768, 606,-32768, 2279,-32768, 357,-32768, 733,
- 362,-32768, 522,-32768,-32768, 2041, 602,-32768,-32768,-32768,
--32768, 1977, 2470,-32768,-32768,-32768, 611,-32768,-32768,-32768,
--32768, 2521,-32768, 37,-32768, 321,-32768, 321,-32768,-32768,
--32768, 607,-32768,-32768,-32768,-32768, 2279,-32768,-32768, 682,
- 616,-32768,-32768,-32768,-32768,-32768,-32768, 617,-32768, 629,
- 43, 620,-32768,-32768, 473, 473,-32768,-32768, 2279, 682,
- 626, 682,-32768,-32768, 2279, 628, 96,-32768,-32768, 632,
--32768, 358, 633,-32768, 203, 186,-32768,-32768, 641, 358,
--32768,-32768, 203, 750, 751,-32768
-};
-
-static const short yypgoto[] = {-32768,
--32768,-32768,-32768, 63,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, -23,-32768, -38, 450, -137, 384,-32768,-32768,
- -57,-32768, 211,-32768,-32768,-32768,-32768,-32768, 196, -199,
- -193, 545,-32768,-32768, 393,-32768, 30, -3, 251, 17,
- 717,-32768, 315, 24, -4, -89, 579, 39, -165, -417,
- -43, -100, -59,-32768,-32768,-32768, 185, 62, -22,-32768,
- 474,-32768, 324,-32768, -345,-32768, 227,-32768, -428,-32768,
--32768, 302,-32768,-32768,-32768,-32768,-32768,-32768, -42, -73,
- -37, -18,-32768,-32768,-32768, 11,-32768,-32768,-32768,-32768,
--32768, 443, -28,-32768, 555, 456, 328, 553, 458, -49,
- -66, -81, -86, -48, 439,-32768,-32768, -163,-32768,-32768,
--32768, 516, -305,-32768, 411,-32768, -360,-32768,-32768,-32768,
--32768, -105, -316, -442, 446,-32768, 187,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 188,-32768, -510,
- 131,-32768, 134,-32768, 521,-32768, -251,-32768,-32768,-32768,
- 433, -212,-32768,-32768,-32768,-32768, 8
-};
-
-
-#define YYLAST 2610
-
-
-static const short yytable[] = { 87,
- 99, 47, 58, 62, 64, 66, 122, 125, 222, 31,
- 31, 304, 58, 58, 58, 141, 142, 52, 21, 21,
- 331, 232, 145, 58, 106, 22, 22, 299, 150, 450,
- 225, 58, 126, 149, 137, 532, 197, 329, 31, 185,
- 282, 371, 109, 334, 226, 241, 390, 21, 208, 430,
- 49, 51, 144, 243, 22, 320, 555, -103, 180, -1,
- 53, 59, 60, 25, 25, 32, 321, 133, 41, 509,
- 35, 36, 37, -2, 216, 59, 60, 101, 205, 660,
- 201, 46, 14, 54, 582, 680, 206, 59, 60, 466,
- 210, 467, 25, 67, 462, 14, 14, 464, 58, 106,
- 290, 14, 48, 259, 46, 260, 59, 60, 232, 58,
- 121, 489, 46, 136, 222, 249, 606, 661, 132, 38,
- 42, 101, 365, 681, 603, 222, 187, 39, 509, 43,
- 381, 222, 391, 40, 299, 188, 189, 133, 692, 291,
- 283, 196, 244, -103, 104, 61, 668, 583, -172, -172,
- 295, 325, 279, 280, 241, 328, 145, 618, 568, 63,
- 41, 190, 243, 138, 190, 282, 46, 58, 327, 121,
- 46, 65, 635, 101, 690, 5, 693, 7, 195, 121,
- 366, 140, 649, 9, 10, 11, 296, 14, 132, 111,
- 143, 101, 594, 101, 531, 333, 151, 422, 349, 13,
- 427, 58, 600, 133, 14, 152, 206, 553, 664, 301,
- 210, 180, 442, 667, 302, 669, 340, 596, 342, 186,
- 388, 437, 189, 677, 352, 389, 112, 113, 249, 475,
- 406, 476, 408, 217, 14, 432, -106, -106, -106, -106,
- 433, 369, -106, 211, -106, -106, -106, 373, 55, 190,
- 56, 244, 238, -270, -270, 701, 366, 585, 428, 376,
- -106, 358, 152, 626, 14, 509, 699, 14, 522, 523,
- 336, 700, 338, 194, 25, 254, 112, 113, 201, 41,
- 435, 196, 101, 205, 41, 435, 121, 33, 34, 121,
- 121, 537, 187, 207, 246, 519, 107, 415, 112, 113,
- 108, 188, 189, 227, 52, 255, 14, 228, 256, 588,
- 133, 14, 233, 234, 683, 684, 441, 445, 397, -106,
- 249, 217, 297, 298, -328, -328, -328, -328, 257, 326,
- 284, 436, -328, -328, -328, -83, 436, 383, 384, 370,
- 437, 189, 171, 172, 173, 437, 189, 53, -328, 520,
- 285, 190, 235, 253, 25, 527, 108, 190, 289, 408,
- 303, 398, 258, 111, 440, 444, 70, 261, 262, 537,
- 54, 317, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 318, 101, 337, 239, 291, 324,
- 5, 505, 7, 98, 59, 60, 487, 386, 9, 10,
- 11, 387, 233, 234, 419, 41, 504, -102, 420, 205,
- 248, 533, 59, 60, 13, 58, 330, 15, 106, 343,
- 58, 344, 335, 544, 544, 453, 455, 592, 353, 593,
- 341, 228, 14, 108, 521, 456, 534, 518, 645, 528,
- 112, 113, 228, 647, 438, 443, 507, 108, 25, 350,
- 505, 546, 662, 508, 663, 318, 421, 42, 297, 298,
- 185, 567, 351, 41, 116, 504, 43, 133, 240, -262,
- 356, 369, 373, 154, 156, 354, 355, 569, 369, 373,
- 522, 523, 586, 587, 591, 357, 5, 6, 7, 8,
- 14, 25, 695, 372, 9, 10, 11, 401, 443, 377,
- 703, 206, 210, 52, 382, 385, 417, 25, 206, 210,
- 13, 409, 14, 402, 121, 117, 46, 410, 604, 232,
- 58, 607, 610, 413, 118, 518, -305, 543, 121, 614,
- 426, 145, 620, 621, 507, 434, 575, 577, 41, 116,
- 222, 508, 222, 41, 627, 133, 53, 205, 111, 129,
- 130, -163, 431, 411, 449, 9, 10, 11, 623, 391,
- 182, 452, -163, 418, 50, 14, 637, 465, 471, 54,
- 14, 59, 60, 198, 199, 200, 472, 644, 541, 25,
- 488, 438, 438, 550, -31, 112, 113, 505, 443, 443,
- 117, 549, 551, 468, 469, 442, -32, 470, 557, 118,
- 560, 561, 504, -163, 437, 189, 563, -163, 110, 460,
- 564, -27, -27, -27, -27, 565, 570, 572, 607, -27,
- -27, -27, 598, 524, 525, 526, 479, 573, 529, 530,
- 578, 574, 613, 605, 111, -27, 121, -163, 46, 615,
- 686, 169, 170, 171, 172, 173, 607, 616, -163, 629,
- 542, 636, 157, 158, 159, 545, 160, 161, 162, 163,
- 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
- 630, 112, 113, 460, 634, 5, 6, 7, 8, 638,
- 640, 641, 652, 9, 10, 11, 547, 643, 665, -163,
- 670, 655, 679, -163, -27, 479, 556, 674, 678, 13,
- 599, 14, 536, 129, 130, 682, 562, 688, 691, 9,
- 10, 11, 694, 181, 697, -308, -308, -308, -308, -308,
- -308, -308, 702, -308, -308, -308, -308, -308, 597, -308,
- -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
- -308, -308, -308, -308, -308, -308, -308, -308, 479, 705,
- 706, 595, 380, 576, 423, 608, 617, -308, 479, 111,
- -308, 479, -163, 479, 322, -308, -308, -308, 584, 127,
- 535, -308, -308, -163, 300, 378, -308, 602, 305, 631,
- 306, 5, 6, 7, 8, 554, 539, 307, 414, 9,
- 10, 11, 540, 407, -308, 182, -308, -308, 339, -308,
- 424, 412, 368, 451, 346, 13, 632, 14, 633, 429,
- 687, 479, 650, 651, -163, 689, 653, 374, -163, 448,
- 217, 642, -115, -115, -115, -115, -115, -115, -115, 0,
- -115, -115, -115, -115, -115, 0, -115, -115, -115, -115,
- -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
- -115, 0, -115, -115, -115, 0, 0, 239, -388, 0,
- 5, 0, 7, 98, -115, 0, 0, -115, 9, 10,
- 11, 0, -115, -115, -115, 0, 0, 0, -115, -115,
- 0, 0, 0, -115, 13, 174, 175, 15, 176, 177,
- 178, 179, 0, 41, 116, 0, 0, 205, 0, 0,
- 0, -115, -115, -115, -115, 360, -115, -328, -328, -328,
- -328, -328, -328, -328, 0, -328, -328, -328, -328, -328,
- 14, -328, -328, -328, -328, -328, -328, -328, -328, -328,
- -328, -328, -328, -328, -328, -328, 0, -328, -328, -328,
- 0, 0, 0, 0, 0, 117, 0, 0, 0, -328,
- 0, 0, -328, 0, 118, 0, 0, -328, -328, -328,
- 0, 0, 0, -328, -328, 0, 0, 305, -328, 0,
- 5, 6, 7, 8, 0, 0, 307, 0, 9, 10,
- 11, 0, 0, 0, 0, 0, -328, 0, -328, -328,
- 217, -328, -328, -328, 13, 0, 14, -328, -328, 0,
- -328, 0, 0, 0, -328, 0, -328, -328, -328, -328,
- -328, -328, -328, -328, -328, -328, -328, 0, -328, 0,
- -328, 0, -328, -328, -328, 0, 0, 0, 0, 0,
- 5, 6, 7, 8, -328, 0, 447, -328, 9, 10,
- 11, 0, -328, -328, -328, 0, 0, -388, -328, -328,
- 0, 0, 0, -328, 13, 0, 14, 5, 55, 7,
- 56, 128, 129, 130, 0, 9, 10, 11, 9, 10,
- 11, -328, -301, -328, -328, 579, -328, -328, -328, 0,
- 0, 13, -328, -328, 0, -328, 14, 0, 0, -328,
- 0, -328, -328, -328, -328, -328, -328, -328, -328, -328,
- -328, -328, 0, -328, 0, -328, 0, -328, -328, -328,
- 0, 0, 0, 0, 0, 5, 6, 7, 8, -328,
- 0, 0, -328, 9, 10, 11, 0, -328, -328, -328,
- 0, 0, 0, -328, -328, 454, 0, 0, -328, 13,
- 5, 14, 7, 195, 0, 0, 0, 0, 9, 10,
- 11, 0, 0, 0, 0, 0, -328, 0, -328, -328,
- 624, -328, -338, -338, 13, 0, 14, -338, -338, 0,
- -338, 0, 0, 0, -338, 0, -338, -338, -338, -338,
- -338, -338, -338, -338, -338, -338, -338, 0, -338, 0,
- -338, 187, -338, -338, -338, 0, 0, 0, 0, 0,
- 188, 189, 0, 0, -338, 0, 0, -338, 0, 0,
- 0, 0, -338, -338, -338, 0, 0, 0, -338, -338,
- 0, 0, 146, -338, 68, 5, 0, 7, 98, 69,
- 70, 0, 71, 9, 10, 11, 0, 0, 0, 0,
- 0, -338, 0, -338, -338, 0, -338, 0, 0, 13,
- 72, 0, 15, 0, 73, 74, 75, 0, 0, 0,
- 473, 0, 474, 60, 0, 0, 76, 69, 70, 77,
- 71, 0, 0, 0, 78, 79, 80, 0, 0, 0,
- 81, 82, 0, 0, 0, 83, 0, 0, 72, 0,
- 15, 0, 73, 74, 75, 174, 175, 0, 176, 177,
- 178, 179, 0, 0, 76, 84, 85, 77, 147, 0,
- 0, 0, 78, 79, 80, 0, 0, 639, 81, 82,
- 0, 0, 475, 83, 476, 473, 0, 474, 60, 0,
- 0, 0, 69, 70, 0, 71, 0, 0, 0, 0,
- 0, 0, -191, 84, 85, 0, 477, 0, 0, 0,
- 0, 0, 0, 72, 0, 15, 0, 73, 74, 75,
- 0, 0, 0, 0, 0, 0, 473, 0, 68, 76,
- 0, 0, 77, 69, 70, 0, 71, 78, 79, 80,
- 0, 0, 0, 81, 82, 0, 0, 475, 83, 476,
- 0, 0, 0, 0, 72, 0, 15, 0, 73, 74,
- 75, 0, 0, 0, 0, 0, -204, -259, 84, 85,
- 76, 477, 0, 77, 0, 0, 0, 0, 78, 79,
- 80, 0, 0, 0, 81, 82, 0, 0, -204, 83,
- -204, 458, 0, 68, 0, 0, 0, 0, 69, 70,
- 0, 71, 167, 168, 169, 170, 171, 172, 173, 84,
- 85, 0, 477, 0, 0, 0, 0, 0, 0, 72,
- 0, 15, 0, 73, 74, 75, 0, 0, 0, 473,
- 0, 68, 0, 0, 0, 76, 69, 70, 77, 71,
- 0, 0, 0, 78, 79, 80, 0, 0, 0, 81,
- 82, 0, 0, 0, 83, 0, 0, 72, 0, 15,
- 0, 73, 74, 75, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 76, 84, 85, 77, 459, 0, 0,
- 0, 78, 79, 80, 0, 0, 0, 81, 82, 0,
- 236, 0, 83, -23, -23, -23, -23, 5, 6, 7,
- 8, -23, -23, -23, 0, 9, 10, 11, 0, 0,
- 0, 0, 84, 85, 0, 477, 111, -23, 0, -163,
- 230, 13, 0, -19, -19, -19, -19, 0, 0, 0,
- -163, -19, -19, -19, 0, 68, 0, 0, 0, 0,
- 69, 70, 0, 71, 0, 0, 111, -19, 5, -163,
- 7, 98, 0, 112, 113, 0, 9, 10, 11, 0,
- -163, 72, 0, 15, 0, 73, 74, 75, 0, 0,
- 0, -163, 13, 0, 0, -163, -23, 76, 0, 0,
- 77, 0, 0, 0, 0, 78, 79, 214, 0, 0,
- 0, 81, 82, 0, 0, 0, 83, 0, 0, 0,
- 0, -163, 68, 0, 0, -163, -19, 69, 70, 0,
- 71, 0, 0, 0, 0, 0, 84, 85, 0, 0,
- 215, 0, 0, 0, 0, 0, 0, 0, 72, 0,
- 15, 0, 73, 74, 75, 0, 0, 0, 0, 0,
- 68, 0, 0, 0, 76, 69, 70, 77, 71, 0,
- 0, 0, 78, 79, 80, 0, 0, 0, 81, 82,
- 0, 0, 0, 83, 0, 0, 72, 0, 15, 0,
- 73, 74, 75, 166, 167, 168, 169, 170, 171, 172,
- 173, 0, 76, 84, 85, 77, 0, 294, 0, 0,
- 78, 79, 80, 0, 0, 0, 81, 82, 68, 0,
- 0, 83, 0, 69, 70, 159, 71, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 84, 85, 0, 72, 316, 15, 0, 73, 74,
- 75, 0, 0, 0, 0, 0, 68, 0, 0, 0,
- 76, 69, 70, 77, 71, 0, 0, 0, 78, 79,
- 80, 0, 0, 0, 81, 82, 0, 0, 0, 83,
- 0, 0, 72, 0, 15, 0, 73, 74, 75, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 76, 84,
- 85, 77, 0, 332, 0, 0, 78, 79, 80, 0,
- 0, 0, 81, 82, 68, 0, 0, 83, 0, 69,
- 70, 0, 71, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 0, 84, 85, 0,
- 72, 375, 15, 0, 73, 74, 75, 0, 0, 0,
- 0, 0, 68, 0, 0, 0, 76, 69, 70, 77,
- 71, 0, 0, 0, 78, 79, 589, 0, 0, 0,
- 81, 82, 0, 0, 0, 83, 0, 0, 72, 0,
- 15, 0, 73, 74, 75, 611, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 84, 85, 77, 0, 590,
- 0, 0, 78, 79, 80, 0, 0, 0, 81, 82,
- 0, 0, 0, 83, 0, 157, 158, 159, 612, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 84, 85, 0, 0, 628, 474, 490,
- 6, 7, 8, 69, 70, 0, 71, 9, 10, 11,
- 491, 0, 492, 493, 494, 495, 496, 497, 498, 499,
- 500, 501, 502, 13, 72, 14, 15, 0, 73, 74,
- 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 0, 0, 77, 0, 0, 14, 0, 78, 79,
- 80, 0, 0, 0, 81, 82, 157, 158, 159, 83,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
- 170, 171, 172, 173, 0, 0, 0, 503, 0, 84,
- 85, 0, 391, 474, 60, 0, 0, 0, 69, 70,
- 0, 71, 0, 0, 0, 491, 0, 492, 493, 494,
- 495, 496, 497, 498, 499, 500, 501, 502, 0, 72,
- 0, 15, 0, 73, 74, 75, 0, 0, 0, 0,
- 0, 68, 0, 0, 0, 76, 69, 70, 77, 71,
- 0, 0, 0, 78, 79, 80, 0, 0, 0, 81,
- 82, 0, 0, 0, 83, 0, 0, 72, 0, 15,
- 0, 73, 74, 75, 0, 0, 0, 0, 0, 0,
- 0, 0, 503, 76, 84, 85, 77, 391, 0, 0,
- 0, 78, 79, 80, 0, 0, 0, 81, 82, 0,
- 0, 0, 83, 68, 5, 6, 7, 8, 69, 70,
- 0, 71, 9, 10, 11, 0, 0, 0, 0, 0,
- 0, 0, 84, 85, 0, 348, 0, 0, 13, 72,
- 14, 15, 0, 73, 74, 75, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 76, 0, 0, 77, 0,
- 0, 0, 0, 78, 79, 80, 0, 0, 0, 81,
- 82, 0, 68, 5, 83, 7, 98, 69, 70, 0,
- 71, 9, 10, 11, 164, 165, 166, 167, 168, 169,
- 170, 171, 172, 173, 84, 85, 0, 13, 72, 0,
- 15, 0, 73, 74, 75, 0, 0, 0, 0, 0,
- 68, 0, 0, 0, 76, 69, 70, 77, 71, 0,
- 0, 0, 78, 79, 80, 0, 0, 0, 81, 82,
- 0, 0, 0, 83, 0, 0, 72, 0, 15, 0,
- 73, 74, 75, 0, 0, 0, 0, 0, 0, 0,
- 0, 68, 76, 84, 85, 77, 69, 70, 0, 71,
- 78, 79, 80, 0, 0, 0, 81, 82, 0, 0,
- 0, 83, 0, 0, 0, 0, 0, 72, 0, 15,
- 0, 73, 74, 75, 0, 0, 0, 0, 0, 566,
- 0, 84, 85, 76, 0, 0, 77, 0, 0, 0,
- 0, 78, 79, 80, 0, 0, 0, 81, 82, 68,
- 0, 0, 83, 0, 69, 70, 0, 71, 162, 163,
- 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
- 0, 0, 84, 85, 0, 72, 0, 15, 0, 73,
- 74, 75, 0, 0, 0, 0, 0, 68, 0, 0,
- 0, 76, 69, 70, 77, 71, 0, 0, 0, 78,
- 79, 80, 0, 0, 0, 81, 82, 0, 0, 0,
- 153, 0, 0, 72, 0, 15, 0, 73, 74, 75,
- 0, 0, 0, 0, 0, 0, 0, 0, 379, 76,
- 84, 85, 77, 69, 70, 0, 71, 78, 79, 80,
- 0, 0, 0, 81, 82, 0, 0, 0, 155, 0,
- 0, 0, 0, 0, 72, 0, 15, 0, 73, 74,
- 75, 0, 0, 0, 0, 0, 0, 0, 84, 85,
- 76, 0, 0, 77, 0, 0, 0, 0, 78, 79,
- 80, 0, 0, 0, 81, 82, 0, 0, 4, 83,
- -119, 5, 6, 7, 8, 0, 0, 0, 0, 9,
- 10, 11, 0, 0, 0, 0, 0, 0, 0, 84,
- 85, 0, 0, 0, 12, 13, 0, 14, 15, 157,
- 158, 159, 0, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 0, 0, 0,
- 0, 0, -119, 0, 0, 0, 0, 0, 157, 158,
- 159, -119, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 0, 654, 0, 16,
- 157, 158, 159, 659, 160, 161, 162, 163, 164, 165,
- 166, 167, 168, 169, 170, 171, 172, 173, 0, 0,
- 0, 157, 158, 159, 347, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 163,
- 164, 165, 166, 167, 168, 169, 170, 171, 172, 173
-};
-
-static const short yycheck[] = { 38,
- 39, 20, 25, 27, 28, 29, 49, 51, 114, 2,
- 3, 211, 35, 36, 37, 73, 74, 22, 2, 3,
- 233, 122, 80, 46, 43, 2, 3, 193, 86, 390,
- 117, 54, 51, 83, 63, 453, 103, 231, 31, 97,
- 178, 293, 46, 237, 118, 135, 1, 31, 108, 366,
- 21, 22, 76, 135, 31, 219, 485, 1, 9, 0,
- 22, 3, 4, 2, 3, 3, 10, 57, 3, 430,
- 9, 10, 11, 0, 113, 3, 4, 39, 7, 43,
- 104, 20, 30, 22, 1, 43, 105, 3, 4, 406,
- 109, 408, 31, 31, 400, 30, 30, 403, 121, 118,
- 187, 30, 82, 153, 43, 155, 3, 4, 209, 132,
- 49, 428, 51, 87, 220, 139, 559, 81, 57, 64,
- 55, 83, 286, 81, 553, 231, 55, 64, 489, 64,
- 81, 237, 87, 64, 300, 64, 65, 127, 43, 188,
- 179, 103, 135, 87, 64, 87, 657, 64, 82, 83,
- 189, 225, 176, 177, 244, 229, 214, 575, 55, 87,
- 3, 100, 244, 87, 103, 303, 105, 190, 228, 108,
- 109, 87, 601, 135, 685, 4, 81, 6, 7, 118,
- 286, 87, 625, 12, 13, 14, 190, 30, 127, 27,
- 64, 153, 538, 155, 446, 234, 81, 361, 256, 28,
- 364, 224, 548, 193, 30, 86, 225, 41, 651, 81,
- 229, 9, 55, 656, 86, 658, 245, 43, 247, 81,
- 81, 64, 65, 666, 263, 86, 64, 65, 252, 63,
- 336, 65, 338, 1, 30, 81, 4, 5, 6, 7,
- 86, 290, 10, 64, 12, 13, 14, 296, 5, 188,
- 7, 244, 83, 82, 83, 698, 362, 81, 364, 298,
- 28, 285, 86, 580, 30, 626, 81, 30, 64, 65,
- 241, 86, 243, 81, 213, 81, 64, 65, 302, 3,
- 4, 243, 244, 7, 3, 4, 225, 82, 83, 228,
- 229, 457, 55, 81, 83, 433, 82, 347, 64, 65,
- 86, 64, 65, 82, 309, 81, 30, 86, 81, 522,
- 300, 30, 64, 65, 675, 676, 383, 384, 323, 87,
- 344, 1, 64, 65, 4, 5, 6, 7, 82, 81,
- 81, 55, 12, 13, 14, 43, 55, 308, 309, 81,
- 64, 65, 55, 56, 57, 64, 65, 309, 28, 436,
- 32, 290, 82, 143, 293, 442, 86, 296, 81, 465,
- 64, 323, 152, 27, 383, 384, 9, 157, 158, 535,
- 309, 88, 162, 163, 164, 165, 166, 167, 168, 169,
- 170, 171, 172, 173, 82, 347, 82, 1, 437, 41,
- 4, 430, 6, 7, 3, 4, 420, 82, 12, 13,
- 14, 86, 64, 65, 82, 3, 430, 87, 86, 7,
- 1, 455, 3, 4, 28, 438, 232, 31, 437, 41,
- 443, 86, 238, 466, 467, 396, 397, 82, 43, 82,
- 246, 86, 30, 86, 438, 397, 455, 430, 82, 443,
- 64, 65, 86, 82, 383, 384, 430, 86, 387, 81,
- 489, 475, 646, 430, 648, 82, 83, 55, 64, 65,
- 518, 500, 81, 3, 4, 489, 64, 457, 82, 83,
- 81, 520, 521, 90, 91, 265, 266, 501, 527, 528,
- 64, 65, 520, 521, 523, 88, 4, 5, 6, 7,
- 30, 430, 692, 88, 12, 13, 14, 41, 437, 81,
- 700, 520, 521, 508, 81, 81, 43, 446, 527, 528,
- 28, 83, 30, 88, 453, 55, 455, 83, 557, 620,
- 543, 560, 561, 83, 64, 518, 83, 466, 467, 568,
- 83, 589, 575, 577, 518, 81, 507, 508, 3, 4,
- 646, 518, 648, 3, 583, 535, 508, 7, 27, 6,
- 7, 30, 88, 343, 3, 12, 13, 14, 577, 87,
- 83, 82, 41, 353, 82, 30, 605, 86, 83, 508,
- 30, 3, 4, 5, 6, 7, 81, 616, 43, 518,
- 83, 520, 521, 83, 43, 64, 65, 626, 527, 528,
- 55, 43, 86, 409, 410, 55, 43, 413, 64, 64,
- 64, 64, 626, 82, 64, 65, 43, 86, 1, 399,
- 82, 4, 5, 6, 7, 82, 7, 43, 657, 12,
- 13, 14, 10, 439, 440, 441, 416, 82, 444, 445,
- 16, 82, 82, 64, 27, 28, 575, 30, 577, 82,
- 679, 53, 54, 55, 56, 57, 685, 64, 41, 88,
- 466, 81, 40, 41, 42, 471, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 83, 64, 65, 463, 83, 4, 5, 6, 7, 17,
- 82, 81, 81, 12, 13, 14, 476, 82, 82, 82,
- 9, 81, 64, 86, 87, 485, 486, 82, 82, 28,
- 88, 30, 5, 6, 7, 86, 496, 82, 81, 12,
- 13, 14, 81, 1, 82, 3, 4, 5, 6, 7,
- 8, 9, 82, 11, 12, 13, 14, 15, 544, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 538, 0,
- 0, 541, 303, 82, 362, 560, 572, 45, 548, 27,
- 48, 551, 30, 553, 220, 53, 54, 55, 518, 53,
- 456, 59, 60, 41, 196, 302, 64, 551, 1, 595,
- 3, 4, 5, 6, 7, 484, 463, 10, 346, 12,
- 13, 14, 465, 338, 82, 83, 84, 85, 244, 87,
- 362, 344, 287, 393, 252, 28, 596, 30, 598, 364,
- 680, 601, 626, 626, 82, 682, 632, 297, 86, 387,
- 1, 611, 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, 30,
- 31, -1, 33, 34, 35, -1, -1, 1, 81, -1,
- 4, -1, 6, 7, 45, -1, -1, 48, 12, 13,
- 14, -1, 53, 54, 55, -1, -1, -1, 59, 60,
- -1, -1, -1, 64, 28, 59, 60, 31, 62, 63,
- 64, 65, -1, 3, 4, -1, -1, 7, -1, -1,
- -1, 82, 83, 84, 85, 1, 87, 3, 4, 5,
- 6, 7, 8, 9, -1, 11, 12, 13, 14, 15,
- 30, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, -1, 33, 34, 35,
- -1, -1, -1, -1, -1, 55, -1, -1, -1, 45,
- -1, -1, 48, -1, 64, -1, -1, 53, 54, 55,
- -1, -1, -1, 59, 60, -1, -1, 1, 64, -1,
- 4, 5, 6, 7, -1, -1, 10, -1, 12, 13,
- 14, -1, -1, -1, -1, -1, 82, -1, 84, 85,
- 1, 87, 3, 4, 28, -1, 30, 8, 9, -1,
- 11, -1, -1, -1, 15, -1, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, -1, 29, -1,
- 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
- 4, 5, 6, 7, 45, -1, 10, 48, 12, 13,
- 14, -1, 53, 54, 55, -1, -1, 81, 59, 60,
- -1, -1, -1, 64, 28, -1, 30, 4, 5, 6,
- 7, 5, 6, 7, -1, 12, 13, 14, 12, 13,
- 14, 82, 83, 84, 85, 1, 87, 3, 4, -1,
- -1, 28, 8, 9, -1, 11, 30, -1, -1, 15,
- -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, -1, 29, -1, 31, -1, 33, 34, 35,
- -1, -1, -1, -1, -1, 4, 5, 6, 7, 45,
- -1, -1, 48, 12, 13, 14, -1, 53, 54, 55,
- -1, -1, -1, 59, 60, 82, -1, -1, 64, 28,
- 4, 30, 6, 7, -1, -1, -1, -1, 12, 13,
- 14, -1, -1, -1, -1, -1, 82, -1, 84, 85,
- 1, 87, 3, 4, 28, -1, 30, 8, 9, -1,
- 11, -1, -1, -1, 15, -1, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, -1, 29, -1,
- 31, 55, 33, 34, 35, -1, -1, -1, -1, -1,
- 64, 65, -1, -1, 45, -1, -1, 48, -1, -1,
- -1, -1, 53, 54, 55, -1, -1, -1, 59, 60,
- -1, -1, 1, 64, 3, 4, -1, 6, 7, 8,
- 9, -1, 11, 12, 13, 14, -1, -1, -1, -1,
- -1, 82, -1, 84, 85, -1, 87, -1, -1, 28,
- 29, -1, 31, -1, 33, 34, 35, -1, -1, -1,
- 1, -1, 3, 4, -1, -1, 45, 8, 9, 48,
- 11, -1, -1, -1, 53, 54, 55, -1, -1, -1,
- 59, 60, -1, -1, -1, 64, -1, -1, 29, -1,
- 31, -1, 33, 34, 35, 59, 60, -1, 62, 63,
- 64, 65, -1, -1, 45, 84, 85, 48, 87, -1,
- -1, -1, 53, 54, 55, -1, -1, 81, 59, 60,
- -1, -1, 63, 64, 65, 1, -1, 3, 4, -1,
- -1, -1, 8, 9, -1, 11, -1, -1, -1, -1,
- -1, -1, 83, 84, 85, -1, 87, -1, -1, -1,
- -1, -1, -1, 29, -1, 31, -1, 33, 34, 35,
- -1, -1, -1, -1, -1, -1, 1, -1, 3, 45,
- -1, -1, 48, 8, 9, -1, 11, 53, 54, 55,
- -1, -1, -1, 59, 60, -1, -1, 63, 64, 65,
- -1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
- 35, -1, -1, -1, -1, -1, 41, 83, 84, 85,
- 45, 87, -1, 48, -1, -1, -1, -1, 53, 54,
- 55, -1, -1, -1, 59, 60, -1, -1, 63, 64,
- 65, 1, -1, 3, -1, -1, -1, -1, 8, 9,
- -1, 11, 51, 52, 53, 54, 55, 56, 57, 84,
- 85, -1, 87, -1, -1, -1, -1, -1, -1, 29,
- -1, 31, -1, 33, 34, 35, -1, -1, -1, 1,
- -1, 3, -1, -1, -1, 45, 8, 9, 48, 11,
- -1, -1, -1, 53, 54, 55, -1, -1, -1, 59,
- 60, -1, -1, -1, 64, -1, -1, 29, -1, 31,
- -1, 33, 34, 35, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 45, 84, 85, 48, 87, -1, -1,
- -1, 53, 54, 55, -1, -1, -1, 59, 60, -1,
- 1, -1, 64, 4, 5, 6, 7, 4, 5, 6,
- 7, 12, 13, 14, -1, 12, 13, 14, -1, -1,
- -1, -1, 84, 85, -1, 87, 27, 28, -1, 30,
- 1, 28, -1, 4, 5, 6, 7, -1, -1, -1,
- 41, 12, 13, 14, -1, 3, -1, -1, -1, -1,
- 8, 9, -1, 11, -1, -1, 27, 28, 4, 30,
- 6, 7, -1, 64, 65, -1, 12, 13, 14, -1,
- 41, 29, -1, 31, -1, 33, 34, 35, -1, -1,
- -1, 82, 28, -1, -1, 86, 87, 45, -1, -1,
- 48, -1, -1, -1, -1, 53, 54, 55, -1, -1,
- -1, 59, 60, -1, -1, -1, 64, -1, -1, -1,
- -1, 82, 3, -1, -1, 86, 87, 8, 9, -1,
- 11, -1, -1, -1, -1, -1, 84, 85, -1, -1,
- 88, -1, -1, -1, -1, -1, -1, -1, 29, -1,
- 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
- 3, -1, -1, -1, 45, 8, 9, 48, 11, -1,
- -1, -1, 53, 54, 55, -1, -1, -1, 59, 60,
- -1, -1, -1, 64, -1, -1, 29, -1, 31, -1,
- 33, 34, 35, 50, 51, 52, 53, 54, 55, 56,
- 57, -1, 45, 84, 85, 48, -1, 88, -1, -1,
- 53, 54, 55, -1, -1, -1, 59, 60, 3, -1,
- -1, 64, -1, 8, 9, 42, 11, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 84, 85, -1, 29, 88, 31, -1, 33, 34,
- 35, -1, -1, -1, -1, -1, 3, -1, -1, -1,
- 45, 8, 9, 48, 11, -1, -1, -1, 53, 54,
- 55, -1, -1, -1, 59, 60, -1, -1, -1, 64,
- -1, -1, 29, -1, 31, -1, 33, 34, 35, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 45, 84,
- 85, 48, -1, 88, -1, -1, 53, 54, 55, -1,
- -1, -1, 59, 60, 3, -1, -1, 64, -1, 8,
- 9, -1, 11, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, -1, 84, 85, -1,
- 29, 88, 31, -1, 33, 34, 35, -1, -1, -1,
- -1, -1, 3, -1, -1, -1, 45, 8, 9, 48,
- 11, -1, -1, -1, 53, 54, 55, -1, -1, -1,
- 59, 60, -1, -1, -1, 64, -1, -1, 29, -1,
- 31, -1, 33, 34, 35, 10, -1, -1, -1, -1,
- -1, -1, -1, -1, 45, 84, 85, 48, -1, 88,
- -1, -1, 53, 54, 55, -1, -1, -1, 59, 60,
- -1, -1, -1, 64, -1, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 84, 85, -1, -1, 88, 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, 30, 31, -1, 33, 34,
- 35, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 45, -1, -1, 48, -1, -1, 30, -1, 53, 54,
- 55, -1, -1, -1, 59, 60, 40, 41, 42, 64,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, -1, -1, -1, 82, -1, 84,
- 85, -1, 87, 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, 31, -1, 33, 34, 35, -1, -1, -1, -1,
- -1, 3, -1, -1, -1, 45, 8, 9, 48, 11,
- -1, -1, -1, 53, 54, 55, -1, -1, -1, 59,
- 60, -1, -1, -1, 64, -1, -1, 29, -1, 31,
- -1, 33, 34, 35, -1, -1, -1, -1, -1, -1,
- -1, -1, 82, 45, 84, 85, 48, 87, -1, -1,
- -1, 53, 54, 55, -1, -1, -1, 59, 60, -1,
- -1, -1, 64, 3, 4, 5, 6, 7, 8, 9,
- -1, 11, 12, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, 84, 85, -1, 87, -1, -1, 28, 29,
- 30, 31, -1, 33, 34, 35, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 45, -1, -1, 48, -1,
- -1, -1, -1, 53, 54, 55, -1, -1, -1, 59,
- 60, -1, 3, 4, 64, 6, 7, 8, 9, -1,
- 11, 12, 13, 14, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 84, 85, -1, 28, 29, -1,
- 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
- 3, -1, -1, -1, 45, 8, 9, 48, 11, -1,
- -1, -1, 53, 54, 55, -1, -1, -1, 59, 60,
- -1, -1, -1, 64, -1, -1, 29, -1, 31, -1,
- 33, 34, 35, -1, -1, -1, -1, -1, -1, -1,
- -1, 3, 45, 84, 85, 48, 8, 9, -1, 11,
- 53, 54, 55, -1, -1, -1, 59, 60, -1, -1,
- -1, 64, -1, -1, -1, -1, -1, 29, -1, 31,
- -1, 33, 34, 35, -1, -1, -1, -1, -1, 82,
- -1, 84, 85, 45, -1, -1, 48, -1, -1, -1,
- -1, 53, 54, 55, -1, -1, -1, 59, 60, 3,
- -1, -1, 64, -1, 8, 9, -1, 11, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- -1, -1, 84, 85, -1, 29, -1, 31, -1, 33,
- 34, 35, -1, -1, -1, -1, -1, 3, -1, -1,
- -1, 45, 8, 9, 48, 11, -1, -1, -1, 53,
- 54, 55, -1, -1, -1, 59, 60, -1, -1, -1,
- 64, -1, -1, 29, -1, 31, -1, 33, 34, 35,
- -1, -1, -1, -1, -1, -1, -1, -1, 3, 45,
- 84, 85, 48, 8, 9, -1, 11, 53, 54, 55,
- -1, -1, -1, 59, 60, -1, -1, -1, 64, -1,
- -1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
- 35, -1, -1, -1, -1, -1, -1, -1, 84, 85,
- 45, -1, -1, 48, -1, -1, -1, -1, 53, 54,
- 55, -1, -1, -1, 59, 60, -1, -1, 1, 64,
- 3, 4, 5, 6, 7, -1, -1, -1, -1, 12,
- 13, 14, -1, -1, -1, -1, -1, -1, -1, 84,
- 85, -1, -1, -1, 27, 28, -1, 30, 31, 40,
- 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, -1, -1, -1,
- -1, -1, 55, -1, -1, -1, -1, -1, 40, 41,
- 42, 64, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, -1, 88, -1, 82,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, -1, -1,
- -1, 40, 41, 42, 86, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
-};
-/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/lib/bison.simple"
-/* This file comes from bison-1.28. */
-
-/* Skeleton output parser for bison,
- Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
-
- 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 2, 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., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
-
-/* 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. */
-
-#ifndef YYSTACK_USE_ALLOCA
-#ifdef alloca
-#define YYSTACK_USE_ALLOCA
-#else /* alloca not defined */
-#ifdef __GNUC__
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#else /* not GNU C. */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-#define YYSTACK_USE_ALLOCA
-#include <alloca.h>
-#else /* not sparc */
-/* We think this test detects Watcom and Microsoft C. */
-/* This used to test MSDOS, but that is a bad idea
- since that symbol is in the user namespace. */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-#if 0 /* No need for malloc.h, which pollutes the namespace;
- instead, just don't use alloca. */
-#include <malloc.h>
-#endif
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-/* I don't know what this was needed for, but it pollutes the namespace.
- So I turned it off. rms, 2 May 1997. */
-/* #include <malloc.h> */
- #pragma alloca
-#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
-#if 0
-#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
- and on HPUX 10. Eventually we can turn this on. */
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#endif /* __hpux */
-#endif
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc */
-#endif /* not GNU C */
-#endif /* alloca not defined */
-#endif /* YYSTACK_USE_ALLOCA not defined */
-
-#ifdef YYSTACK_USE_ALLOCA
-#define YYSTACK_ALLOC alloca
-#else
-#define YYSTACK_ALLOC malloc
-#endif
-
-/* 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 goto yyacceptlab
-#define YYABORT goto yyabortlab
-#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
-#ifdef YYLEX_PARAM
-#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX yylex(&yylval, &yylloc)
-#endif
-#else /* not YYLSP_NEEDED */
-#ifdef YYLEX_PARAM
-#define YYLEX yylex(&yylval, YYLEX_PARAM)
-#else
-#define YYLEX yylex(&yylval)
-#endif
-#endif /* not YYLSP_NEEDED */
-#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
-
-/* Define __yy_memcpy. Note that the size argument
- should be passed with type unsigned int, because that is what the non-GCC
- definitions require. With GCC, __builtin_memcpy takes an arg
- of type size_t, but it can handle unsigned int. */
-
-#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
-#define __yy_memcpy(TO,FROM,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_memcpy (to, from, count)
- char *to;
- char *from;
- unsigned 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_memcpy (char *to, char *from, unsigned int count)
-{
- register char *t = to;
- register char *f = from;
- register int i = count;
-
- while (i-- > 0)
- *t++ = *f++;
-}
-
-#endif
-#endif
-
-#line 217 "/usr/lib/bison.simple"
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
- into yyparse. The argument should have type void *.
- It should actually point to an object.
- Grammar actions can access the variable by casting it
- to the proper pointer type. */
-
-#ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes. */
-#ifdef __GNUC__
-#ifdef YYPARSE_PARAM
-int yyparse (void *);
-#else
-int yyparse (void);
-#endif
-#endif
-
-int
-yyparse(YYPARSE_PARAM_ARG)
- YYPARSE_PARAM_DECL
-{
- 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;
- int yyfree_stacks = 0;
-
-#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");
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 2;
- }
- yystacksize *= 2;
- if (yystacksize > YYMAXDEPTH)
- yystacksize = YYMAXDEPTH;
-#ifndef YYSTACK_USE_ALLOCA
- yyfree_stacks = 1;
-#endif
- yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
- __yy_memcpy ((char *)yyss, (char *)yyss1,
- size * (unsigned int) sizeof (*yyssp));
- yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
- __yy_memcpy ((char *)yyvs, (char *)yyvs1,
- size * (unsigned int) sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
- yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
- __yy_memcpy ((char *)yyls, (char *)yyls1,
- size * (unsigned int) 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 234 "c-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids an empty source file");
- finish_file ();
- ;
- break;}
-case 2:
-#line 239 "c-parse.y"
-{
- /* In case there were missing closebraces,
- get us back to the global binding level. */
- while (! global_bindings_p ())
- poplevel (0, 0, 0);
- finish_file ();
- ;
- break;}
-case 3:
-#line 253 "c-parse.y"
-{yyval.ttype = NULL_TREE; ;
- break;}
-case 5:
-#line 254 "c-parse.y"
-{yyval.ttype = NULL_TREE; ;
- break;}
-case 9:
-#line 261 "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 269 "c-parse.y"
-{ RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
- break;}
-case 11:
-#line 274 "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");
-
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 12:
-#line 283 "c-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 13:
-#line 287 "c-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 14:
-#line 291 "c-parse.y"
-{ pedwarn ("empty declaration"); ;
- break;}
-case 15:
-#line 293 "c-parse.y"
-{ shadow_tag (yyvsp[-1].ttype); ;
- break;}
-case 18:
-#line 297 "c-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
- break;}
-case 19:
-#line 303 "c-parse.y"
-{ if (! start_function (current_declspecs, yyvsp[0].ttype,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); ;
- break;}
-case 20:
-#line 308 "c-parse.y"
-{ store_parm_decls (); ;
- break;}
-case 21:
-#line 310 "c-parse.y"
-{ finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 22:
-#line 315 "c-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 23:
-#line 319 "c-parse.y"
-{ if (! start_function (current_declspecs, yyvsp[0].ttype,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); ;
- break;}
-case 24:
-#line 324 "c-parse.y"
-{ store_parm_decls (); ;
- break;}
-case 25:
-#line 326 "c-parse.y"
-{ finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 26:
-#line 331 "c-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 27:
-#line 335 "c-parse.y"
-{ if (! start_function (NULL_TREE, yyvsp[0].ttype,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); ;
- break;}
-case 28:
-#line 340 "c-parse.y"
-{ store_parm_decls (); ;
- break;}
-case 29:
-#line 342 "c-parse.y"
-{ finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 30:
-#line 347 "c-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 33:
-#line 358 "c-parse.y"
-{ yyval.code = ADDR_EXPR; ;
- break;}
-case 34:
-#line 360 "c-parse.y"
-{ yyval.code = NEGATE_EXPR; ;
- break;}
-case 35:
-#line 362 "c-parse.y"
-{ yyval.code = CONVERT_EXPR; ;
- break;}
-case 36:
-#line 364 "c-parse.y"
-{ yyval.code = PREINCREMENT_EXPR; ;
- break;}
-case 37:
-#line 366 "c-parse.y"
-{ yyval.code = PREDECREMENT_EXPR; ;
- break;}
-case 38:
-#line 368 "c-parse.y"
-{ yyval.code = BIT_NOT_EXPR; ;
- break;}
-case 39:
-#line 370 "c-parse.y"
-{ yyval.code = TRUTH_NOT_EXPR; ;
- break;}
-case 40:
-#line 374 "c-parse.y"
-{ yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
- break;}
-case 41:
-#line 379 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 43:
-#line 385 "c-parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 44:
-#line 387 "c-parse.y"
-{ chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 46:
-#line 393 "c-parse.y"
-{ yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
- break;}
-case 47:
-#line 396 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
- break;}
-case 48:
-#line 399 "c-parse.y"
-{ yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
- overflow_warning (yyval.ttype); ;
- break;}
-case 49:
-#line 403 "c-parse.y"
-{ tree label = lookup_label (yyvsp[0].ttype);
- if (pedantic)
- pedwarn ("ANSI C forbids `&&'");
- if (label == 0)
- yyval.ttype = null_pointer_node;
- else
- {
- TREE_USED (label) = 1;
- yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
- TREE_CONSTANT (yyval.ttype) = 1;
- }
- ;
- break;}
-case 50:
-#line 431 "c-parse.y"
-{ skip_evaluation--;
- if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
- && DECL_C_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 437 "c-parse.y"
-{ skip_evaluation--;
- yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
- break;}
-case 52:
-#line 440 "c-parse.y"
-{ skip_evaluation--;
- yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
- break;}
-case 53:
-#line 443 "c-parse.y"
-{ skip_evaluation--;
- yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
- break;}
-case 54:
-#line 446 "c-parse.y"
-{ yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
- break;}
-case 55:
-#line 448 "c-parse.y"
-{ yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
- break;}
-case 56:
-#line 450 "c-parse.y"
-{ yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
- break;}
-case 57:
-#line 454 "c-parse.y"
-{ skip_evaluation++; ;
- break;}
-case 58:
-#line 458 "c-parse.y"
-{ skip_evaluation++; ;
- break;}
-case 60:
-#line 464 "c-parse.y"
-{ tree type = groktypename (yyvsp[-2].ttype);
- yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
- break;}
-case 61:
-#line 467 "c-parse.y"
-{ start_init (NULL_TREE, NULL, 0);
- yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
- really_start_incremental_init (yyvsp[-2].ttype); ;
- break;}
-case 62:
-#line 471 "c-parse.y"
-{ const char *name;
- tree result = pop_init_level (0);
- tree type = yyvsp[-5].ttype;
- finish_init ();
-
- if (pedantic && ! flag_isoc99)
- 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 = result;
- if (TREE_CODE (type) == ARRAY_TYPE && !COMPLETE_TYPE_P (type))
- {
- int failure = complete_array_type (type, yyval.ttype, 1);
- if (failure)
- abort ();
- }
- ;
- break;}
-case 64:
-#line 500 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 65:
-#line 502 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 66:
-#line 504 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 67:
-#line 506 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 68:
-#line 508 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 69:
-#line 510 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 70:
-#line 512 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 71:
-#line 514 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 72:
-#line 516 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 73:
-#line 518 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 74:
-#line 520 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 75:
-#line 522 "c-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 76:
-#line 524 "c-parse.y"
-{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
- skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
- break;}
-case 77:
-#line 527 "c-parse.y"
-{ skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
- yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
- break;}
-case 78:
-#line 530 "c-parse.y"
-{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
- skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
- break;}
-case 79:
-#line 533 "c-parse.y"
-{ skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
- yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
- break;}
-case 80:
-#line 536 "c-parse.y"
-{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
- skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
- break;}
-case 81:
-#line 539 "c-parse.y"
-{ skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
- - (yyvsp[-4].ttype == boolean_false_node)); ;
- break;}
-case 82:
-#line 542 "c-parse.y"
-{ skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
- yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
- break;}
-case 83:
-#line 545 "c-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
- /* Make sure first operand is calculated only once. */
- yyvsp[0].ttype = save_expr (yyvsp[-1].ttype);
- yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype));
- skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
- break;}
-case 84:
-#line 552 "c-parse.y"
-{ skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
- yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
- break;}
-case 85:
-#line 555 "c-parse.y"
-{ char class;
- yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
- class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
- if (class == 'e' || class == '1'
- || class == '2' || class == '<')
- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR);
- ;
- break;}
-case 86:
-#line 563 "c-parse.y"
-{ char class;
- yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
- /* This inhibits warnings in truthvalue_conversion. */
- class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
- if (class == 'e' || class == '1'
- || class == '2' || class == '<')
- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK);
- ;
- break;}
-case 87:
-#line 575 "c-parse.y"
-{
- if (yychar == YYEMPTY)
- yychar = YYLEX;
- yyval.ttype = build_external_ref (yyvsp[0].ttype, yychar == '(');
- ;
- break;}
-case 89:
-#line 582 "c-parse.y"
-{ yyval.ttype = combine_strings (yyvsp[0].ttype); ;
- break;}
-case 90:
-#line 584 "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 91:
-#line 590 "c-parse.y"
-{ yyval.ttype = error_mark_node; ;
- break;}
-case 92:
-#line 592 "c-parse.y"
-{ tree rtl_exp;
- if (pedantic)
- pedwarn ("ANSI C forbids braced-groups within expressions");
- pop_iterator_stack ();
- 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;
-
- if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
- {
- /* 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);
- }
- else
- yyval.ttype = yyvsp[-1].ttype;
- ;
- break;}
-case 93:
-#line 615 "c-parse.y"
-{
- /* Make sure we call expand_end_stmt_expr. Otherwise
- we are likely to lose sequences and crash later. */
- pop_iterator_stack ();
- pop_label_level ();
- expand_end_stmt_expr (yyvsp[-2].ttype);
- yyval.ttype = error_mark_node;
- ;
- break;}
-case 94:
-#line 624 "c-parse.y"
-{ yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 95:
-#line 626 "c-parse.y"
-{ yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 96:
-#line 628 "c-parse.y"
-{
- yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 97:
-#line 632 "c-parse.y"
-{
- tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
-
- yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
- ;
- break;}
-case 98:
-#line 638 "c-parse.y"
-{ yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
- break;}
-case 99:
-#line 640 "c-parse.y"
-{ yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
- break;}
-case 101:
-#line 647 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
- if (warn_traditional && !in_system_header)
- warning ("Use of ANSI string concatenation");
- ;
- break;}
-case 104:
-#line 659 "c-parse.y"
-{ c_mark_varargs ();
- if (pedantic)
- pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
- break;}
-case 105:
-#line 669 "c-parse.y"
-{ ;
- break;}
-case 110:
-#line 685 "c-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 111:
-#line 689 "c-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 112:
-#line 693 "c-parse.y"
-{ shadow_tag_warned (yyvsp[-1].ttype, 1);
- pedwarn ("empty declaration"); ;
- break;}
-case 113:
-#line 696 "c-parse.y"
-{ pedwarn ("empty declaration"); ;
- break;}
-case 114:
-#line 705 "c-parse.y"
-{ ;
- break;}
-case 119:
-#line 720 "c-parse.y"
-{ pending_xref_error ();
- declspec_stack = tree_cons (prefix_attributes,
- current_declspecs,
- declspec_stack);
- split_specs_attrs (yyvsp[0].ttype,
- &current_declspecs, &prefix_attributes); ;
- break;}
-case 120:
-#line 730 "c-parse.y"
-{ prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
- break;}
-case 121:
-#line 735 "c-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 122:
-#line 739 "c-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 123:
-#line 743 "c-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 124:
-#line 747 "c-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 125:
-#line 751 "c-parse.y"
-{ shadow_tag (yyvsp[-1].ttype); ;
- break;}
-case 126:
-#line 753 "c-parse.y"
-{ pedwarn ("empty declaration"); ;
- break;}
-case 127:
-#line 755 "c-parse.y"
-{ RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
- break;}
-case 128:
-#line 765 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 129:
-#line 767 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
- break;}
-case 130:
-#line 771 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 131:
-#line 773 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 132:
-#line 775 "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 133:
-#line 780 "c-parse.y"
-{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 134:
-#line 785 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 135:
-#line 787 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
- break;}
-case 136:
-#line 792 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 137:
-#line 794 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 138:
-#line 796 "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 139:
-#line 809 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 140:
-#line 811 "c-parse.y"
-{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
- break;}
-case 141:
-#line 813 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 142:
-#line 815 "c-parse.y"
-{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 143:
-#line 820 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
- TREE_STATIC (yyval.ttype) = 1; ;
- break;}
-case 144:
-#line 823 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 145:
-#line 825 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;
- break;}
-case 146:
-#line 828 "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 147:
-#line 842 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 148:
-#line 844 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
- break;}
-case 149:
-#line 848 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 150:
-#line 850 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 153:
-#line 860 "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 154:
-#line 864 "c-parse.y"
-{ yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
- break;}
-case 155:
-#line 866 "c-parse.y"
-{ yyval.ttype = groktypename (yyvsp[-1].ttype); ;
- break;}
-case 163:
-#line 888 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 164:
-#line 890 "c-parse.y"
-{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
- yyval.ttype = yyvsp[-1].ttype;
- ;
- break;}
-case 165:
-#line 897 "c-parse.y"
-{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
- yyvsp[-1].ttype, prefix_attributes);
- start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
- break;}
-case 166:
-#line 902 "c-parse.y"
-{ finish_init ();
- finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
- break;}
-case 167:
-#line 905 "c-parse.y"
-{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
- yyvsp[0].ttype, prefix_attributes);
- finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
- ;
- break;}
-case 168:
-#line 913 "c-parse.y"
-{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
- yyvsp[-1].ttype, prefix_attributes);
- start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
- break;}
-case 169:
-#line 918 "c-parse.y"
-{ finish_init ();
- decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
- finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
- break;}
-case 170:
-#line 922 "c-parse.y"
-{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
- yyvsp[0].ttype, prefix_attributes);
- finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 171:
-#line 930 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 172:
-#line 932 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 173:
-#line 937 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 174:
-#line 939 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 175:
-#line 944 "c-parse.y"
-{ yyval.ttype = yyvsp[-2].ttype; ;
- break;}
-case 176:
-#line 949 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 177:
-#line 951 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 178:
-#line 956 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 179:
-#line 958 "c-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 180:
-#line 960 "c-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
- break;}
-case 181:
-#line 962 "c-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
- break;}
-case 182:
-#line 964 "c-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 188:
-#line 982 "c-parse.y"
-{ really_start_incremental_init (NULL_TREE); ;
- break;}
-case 189:
-#line 984 "c-parse.y"
-{ yyval.ttype = pop_init_level (0); ;
- break;}
-case 190:
-#line 986 "c-parse.y"
-{ yyval.ttype = error_mark_node; ;
- break;}
-case 191:
-#line 992 "c-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids empty initializer braces"); ;
- break;}
-case 197:
-#line 1008 "c-parse.y"
-{ set_init_label (yyvsp[-1].ttype); ;
- break;}
-case 200:
-#line 1015 "c-parse.y"
-{ push_init_level (0); ;
- break;}
-case 201:
-#line 1017 "c-parse.y"
-{ process_init_element (pop_init_level (0)); ;
- break;}
-case 202:
-#line 1019 "c-parse.y"
-{ process_init_element (yyvsp[0].ttype); ;
- break;}
-case 206:
-#line 1030 "c-parse.y"
-{ set_init_label (yyvsp[0].ttype); ;
- break;}
-case 207:
-#line 1035 "c-parse.y"
-{ set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 208:
-#line 1037 "c-parse.y"
-{ set_init_index (yyvsp[-1].ttype, NULL_TREE); ;
- break;}
-case 209:
-#line 1042 "c-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, yyvsp[0].ttype,
- prefix_attributes, NULL_TREE))
- {
- pop_function_context ();
- YYERROR1;
- }
- reinit_parse_for_function (); ;
- break;}
-case 210:
-#line 1054 "c-parse.y"
-{ store_parm_decls (); ;
- break;}
-case 211:
-#line 1062 "c-parse.y"
-{ finish_function (1);
- pop_function_context (); ;
- break;}
-case 212:
-#line 1068 "c-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, yyvsp[0].ttype,
- prefix_attributes, NULL_TREE))
- {
- pop_function_context ();
- YYERROR1;
- }
- reinit_parse_for_function (); ;
- break;}
-case 213:
-#line 1080 "c-parse.y"
-{ store_parm_decls (); ;
- break;}
-case 214:
-#line 1088 "c-parse.y"
-{ finish_function (1);
- pop_function_context (); ;
- break;}
-case 217:
-#line 1104 "c-parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 218:
-#line 1106 "c-parse.y"
-{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 219:
-#line 1111 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 220:
-#line 1113 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 221:
-#line 1115 "c-parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 222:
-#line 1122 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 224:
-#line 1133 "c-parse.y"
-{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 225:
-#line 1138 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
- if (! flag_isoc99)
- error ("`[*]' in parameter declaration only allowed in ISO C 99");
- ;
- break;}
-case 226:
-#line 1143 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 227:
-#line 1145 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 228:
-#line 1147 "c-parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 229:
-#line 1154 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 231:
-#line 1163 "c-parse.y"
-{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 232:
-#line 1168 "c-parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 233:
-#line 1170 "c-parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 234:
-#line 1172 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
- if (! flag_isoc99)
- error ("`[*]' in parameter declaration only allowed in ISO C 99");
- ;
- break;}
-case 235:
-#line 1177 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 236:
-#line 1179 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 237:
-#line 1186 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 239:
-#line 1192 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 240:
-#line 1194 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 241:
-#line 1199 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 242:
-#line 1201 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 243:
-#line 1206 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 244:
-#line 1208 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 245:
-#line 1213 "c-parse.y"
-{ yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
- /* Start scope of tag before parsing components. */
- ;
- break;}
-case 246:
-#line 1217 "c-parse.y"
-{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
- break;}
-case 247:
-#line 1219 "c-parse.y"
-{ yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
- yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
- ;
- break;}
-case 248:
-#line 1223 "c-parse.y"
-{ yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
- break;}
-case 249:
-#line 1225 "c-parse.y"
-{ yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
- break;}
-case 250:
-#line 1227 "c-parse.y"
-{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
- break;}
-case 251:
-#line 1229 "c-parse.y"
-{ yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
- yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
- ;
- break;}
-case 252:
-#line 1233 "c-parse.y"
-{ yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
- break;}
-case 253:
-#line 1235 "c-parse.y"
-{ yyval.ttype = start_enum (yyvsp[-1].ttype); ;
- break;}
-case 254:
-#line 1237 "c-parse.y"
-{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
- chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;
- break;}
-case 255:
-#line 1240 "c-parse.y"
-{ yyval.ttype = start_enum (NULL_TREE); ;
- break;}
-case 256:
-#line 1242 "c-parse.y"
-{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
- chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
- break;}
-case 257:
-#line 1245 "c-parse.y"
-{ yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
- break;}
-case 261:
-#line 1256 "c-parse.y"
-{ if (pedantic && ! flag_isoc99)
- pedwarn ("comma at end of enumerator list"); ;
- break;}
-case 262:
-#line 1262 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 263:
-#line 1264 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
- pedwarn ("no semicolon at end of struct or union"); ;
- break;}
-case 264:
-#line 1269 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 265:
-#line 1271 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
- break;}
-case 266:
-#line 1273 "c-parse.y"
-{ if (pedantic)
- pedwarn ("extra semicolon in struct or union specified"); ;
- break;}
-case 267:
-#line 1288 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 268:
-#line 1293 "c-parse.y"
-{
- /* Support for unnamed structs or unions as members of
- structs or unions (which is [a] useful and [b] supports
- MS P-SDK). */
- if (pedantic)
- pedwarn ("ANSI C doesn't support unnamed structs/unions");
-
- yyval.ttype = grokfield(yyvsp[-2].filename, yyvsp[-1].lineno, NULL, current_declspecs, NULL_TREE);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- ;
- break;}
-case 269:
-#line 1306 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 270:
-#line 1311 "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 271:
-#line 1316 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 272:
-#line 1318 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
- break;}
-case 274:
-#line 1325 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 275:
-#line 1330 "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, prefix_attributes); ;
- break;}
-case 276:
-#line 1334 "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, prefix_attributes); ;
- break;}
-case 277:
-#line 1337 "c-parse.y"
-{ yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
- decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
- break;}
-case 279:
-#line 1349 "c-parse.y"
-{ if (yyvsp[-2].ttype == error_mark_node)
- yyval.ttype = yyvsp[-2].ttype;
- else
- yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
- break;}
-case 280:
-#line 1354 "c-parse.y"
-{ yyval.ttype = error_mark_node; ;
- break;}
-case 281:
-#line 1360 "c-parse.y"
-{ yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 282:
-#line 1362 "c-parse.y"
-{ yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 283:
-#line 1367 "c-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 284:
-#line 1369 "c-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 285:
-#line 1374 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 287:
-#line 1380 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 288:
-#line 1382 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 289:
-#line 1387 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 290:
-#line 1389 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 291:
-#line 1394 "c-parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 292:
-#line 1397 "c-parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 293:
-#line 1399 "c-parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 294:
-#line 1401 "c-parse.y"
-{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 295:
-#line 1403 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 296:
-#line 1405 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 297:
-#line 1407 "c-parse.y"
-{ yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 298:
-#line 1409 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 299:
-#line 1411 "c-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
- break;}
-case 300:
-#line 1415 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 301:
-#line 1424 "c-parse.y"
-{
- if (pedantic && yyvsp[0].ends_in_label)
- pedwarn ("ANSI C forbids label at end of compound statement");
- ;
- break;}
-case 303:
-#line 1433 "c-parse.y"
-{ yyval.ends_in_label = yyvsp[0].ends_in_label; ;
- break;}
-case 304:
-#line 1435 "c-parse.y"
-{ yyval.ends_in_label = 0; ;
- break;}
-case 308:
-#line 1447 "c-parse.y"
-{ emit_line_note (input_filename, lineno);
- pushlevel (0);
- clear_last_expr ();
- expand_start_bindings (0);
- ;
- break;}
-case 310:
-#line 1459 "c-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids label declarations"); ;
- break;}
-case 313:
-#line 1470 "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 314:
-#line 1484 "c-parse.y"
-{;
- break;}
-case 316:
-#line 1488 "c-parse.y"
-{ compstmt_count++; ;
- break;}
-case 317:
-#line 1491 "c-parse.y"
-{ yyval.ttype = convert (void_type_node, integer_zero_node); ;
- break;}
-case 318:
-#line 1493 "c-parse.y"
-{ emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), 1, 0);
- yyval.ttype = poplevel (1, 1, 0); ;
- break;}
-case 319:
-#line 1497 "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); ;
- break;}
-case 320:
-#line 1501 "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); ;
- break;}
-case 321:
-#line 1508 "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_iterator_stack ();
- push_label_level ();
- yyval.ttype = expand_start_stmt_expr ();
- compstmt_count++;
- ;
- break;}
-case 322:
-#line 1525 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 325:
-#line 1539 "c-parse.y"
-{ emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
- c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0,
- compstmt_count);
- yyval.itype = stmt_count;
- if_stmt_file = yyvsp[-5].filename;
- if_stmt_line = yyvsp[-4].lineno;
- position_after_white_space (); ;
- break;}
-case 326:
-#line 1553 "c-parse.y"
-{ stmt_count++;
- compstmt_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 327:
-#line 1561 "c-parse.y"
-{ expand_loop_continue_here (); ;
- break;}
-case 328:
-#line 1565 "c-parse.y"
-{ yyval.filename = input_filename; ;
- break;}
-case 329:
-#line 1569 "c-parse.y"
-{ yyval.lineno = lineno; ;
- break;}
-case 330:
-#line 1574 "c-parse.y"
-{ ;
- break;}
-case 331:
-#line 1579 "c-parse.y"
-{ ;
- break;}
-case 332:
-#line 1584 "c-parse.y"
-{ yyval.ends_in_label = yyvsp[0].ends_in_label; ;
- break;}
-case 333:
-#line 1589 "c-parse.y"
-{ yyval.ends_in_label = 0; ;
- break;}
-case 334:
-#line 1591 "c-parse.y"
-{ yyval.ends_in_label = 1; ;
- break;}
-case 335:
-#line 1597 "c-parse.y"
-{ stmt_count++; ;
- break;}
-case 337:
-#line 1600 "c-parse.y"
-{ stmt_count++;
- emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
-/* It appears that this should not be done--that a non-lvalue array
- shouldn't get an error if the value isn't used.
- Section 3.2.2.1 says that an array lvalue gets converted to a pointer
- if it appears as a top-level expression,
- but says nothing about non-lvalue arrays. */
-#if 0
- /* Call default_conversion to get an error
- on referring to a register array if pedantic. */
- if (TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == ARRAY_TYPE
- || TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == FUNCTION_TYPE)
- yyvsp[-1].ttype = default_conversion (yyvsp[-1].ttype);
-#endif
- iterator_expand (yyvsp[-1].ttype); ;
- break;}
-case 338:
-#line 1616 "c-parse.y"
-{ c_expand_start_else ();
- yyvsp[-1].itype = stmt_count;
- position_after_white_space (); ;
- break;}
-case 339:
-#line 1620 "c-parse.y"
-{ c_expand_end_cond ();
- if (extra_warnings && stmt_count == yyvsp[-3].itype)
- warning ("empty body in an else-statement"); ;
- break;}
-case 340:
-#line 1624 "c-parse.y"
-{ c_expand_end_cond ();
- /* This warning is here instead of in simple_if, because we
- do not want a warning if an empty if is followed by an
- else statement. Increment stmt_count so we don't
- give a second error if this is a nested `if'. */
- 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 341:
-#line 1636 "c-parse.y"
-{ c_expand_end_cond (); ;
- break;}
-case 342:
-#line 1638 "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 343:
-#line 1648 "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 344:
-#line 1657 "c-parse.y"
-{ expand_end_loop (); ;
- break;}
-case 345:
-#line 1660 "c-parse.y"
-{ emit_line_note (input_filename, lineno);
- expand_exit_loop_if_false (NULL_PTR,
- truthvalue_conversion (yyvsp[-2].ttype));
- expand_end_loop (); ;
- break;}
-case 346:
-#line 1666 "c-parse.y"
-{ expand_end_loop (); ;
- break;}
-case 347:
-#line 1669 "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 348:
-#line 1681 "c-parse.y"
-{ yyvsp[0].lineno = lineno;
- yyval.filename = input_filename; ;
- break;}
-case 349:
-#line 1684 "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));
- yyvsp[-3].lineno = lineno;
- yyvsp[-2].filename = input_filename;
- position_after_white_space (); ;
- break;}
-case 350:
-#line 1697 "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);
- expand_end_loop (); ;
- break;}
-case 351:
-#line 1704 "c-parse.y"
-{ stmt_count++;
- emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
- c_expand_start_case (yyvsp[-1].ttype);
- position_after_white_space (); ;
- break;}
-case 352:
-#line 1709 "c-parse.y"
-{ expand_end_case (yyvsp[-3].ttype); ;
- break;}
-case 353:
-#line 1711 "c-parse.y"
-{ tree break_stmt = build_break_stmt ();
- stmt_count++;
- genrtl_break_stmt (); ;
- break;}
-case 354:
-#line 1715 "c-parse.y"
-{ tree continue_stmt = build_continue_stmt ();
- stmt_count++;
- genrtl_continue_stmt (); ;
- break;}
-case 355:
-#line 1719 "c-parse.y"
-{ tree return_stmt = build_return_stmt (NULL_TREE);
- stmt_count++;
- genrtl_return_stmt (RETURN_EXPR(return_stmt)); ;
- break;}
-case 356:
-#line 1723 "c-parse.y"
-{ tree return_stmt = build_return_stmt (yyvsp[-1].ttype);
- stmt_count++;
- genrtl_return_stmt (RETURN_EXPR(return_stmt)); ;
- break;}
-case 357:
-#line 1727 "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 358:
-#line 1738 "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 359:
-#line 1745 "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 360:
-#line 1753 "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 361:
-#line 1759 "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 362:
-#line 1770 "c-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids `goto *expr;'");
- stmt_count++;
- emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
- expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
- break;}
-case 365:
-#line 1785 "c-parse.y"
-{
- /* The value returned by this action is */
- /* 1 if everything is OK */
- /* 0 in case of error or already bound iterator */
-
- yyval.itype = 0;
- if (TREE_CODE (yyvsp[-1].ttype) != VAR_DECL)
- error ("invalid `for (ITERATOR)' syntax");
- else if (! ITERATOR_P (yyvsp[-1].ttype))
- error ("`%s' is not an iterator",
- IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
- else if (ITERATOR_BOUND_P (yyvsp[-1].ttype))
- error ("`for (%s)' inside expansion of same iterator",
- IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
- else
- {
- yyval.itype = 1;
- iterator_for_loop_start (yyvsp[-1].ttype);
- }
- ;
- break;}
-case 366:
-#line 1806 "c-parse.y"
-{
- if (yyvsp[-1].itype)
- iterator_for_loop_end (yyvsp[-3].ttype);
- ;
- break;}
-case 367:
-#line 1837 "c-parse.y"
-{ tree case_label_tree = build_case_label (yyvsp[-1].ttype, NULL_TREE);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- ;
- break;}
-case 368:
-#line 1843 "c-parse.y"
-{ tree case_label_tree = build_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- ;
- break;}
-case 369:
-#line 1849 "c-parse.y"
-{ tree case_label_tree = build_case_label (NULL_TREE, NULL_TREE);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- ;
- break;}
-case 370:
-#line 1855 "c-parse.y"
-{ tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
- stmt_count++;
- emit_nop ();
- if (label)
- {
- expand_label (label);
- decl_attributes (label, yyvsp[0].ttype, NULL_TREE);
- }
- position_after_white_space (); ;
- break;}
-case 371:
-#line 1870 "c-parse.y"
-{ emit_line_note (input_filename, lineno);
- yyval.ttype = NULL_TREE; ;
- break;}
-case 372:
-#line 1873 "c-parse.y"
-{ emit_line_note (input_filename, lineno); ;
- break;}
-case 373:
-#line 1878 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 375:
-#line 1885 "c-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 378:
-#line 1892 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 379:
-#line 1897 "c-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 380:
-#line 1902 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
- break;}
-case 381:
-#line 1904 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
- break;}
-case 382:
-#line 1910 "c-parse.y"
-{ pushlevel (0);
- clear_parm_order ();
- declare_parm_level (0); ;
- break;}
-case 383:
-#line 1914 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); ;
- break;}
-case 385:
-#line 1922 "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 386:
-#line 1930 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 387:
-#line 1932 "c-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
- break;}
-case 388:
-#line 1938 "c-parse.y"
-{ yyval.ttype = get_parm_info (0); ;
- break;}
-case 389:
-#line 1940 "c-parse.y"
-{ yyval.ttype = get_parm_info (0);
- /* Gcc used to allow this as an extension. However, it does
- not work for all targets, and thus has been disabled.
- Also, since func (...) and func () are indistinguishable,
- it caused problems with the code in expand_builtin which
- tries to verify that BUILT_IN_NEXT_ARG is being used
- correctly. */
- error ("ANSI C requires a named argument before `...'");
- ;
- break;}
-case 390:
-#line 1950 "c-parse.y"
-{ yyval.ttype = get_parm_info (1); ;
- break;}
-case 391:
-#line 1952 "c-parse.y"
-{ yyval.ttype = get_parm_info (0); ;
- break;}
-case 392:
-#line 1957 "c-parse.y"
-{ push_parm_decl (yyvsp[0].ttype); ;
- break;}
-case 393:
-#line 1959 "c-parse.y"
-{ push_parm_decl (yyvsp[0].ttype); ;
- break;}
-case 394:
-#line 1966 "c-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 395:
-#line 1974 "c-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 396:
-#line 1982 "c-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 397:
-#line 1990 "c-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 398:
-#line 1999 "c-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 399:
-#line 2012 "c-parse.y"
-{ pushlevel (0);
- clear_parm_order ();
- declare_parm_level (1); ;
- break;}
-case 400:
-#line 2016 "c-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); ;
- break;}
-case 402:
-#line 2024 "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 403:
-#line 2034 "c-parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 404:
-#line 2036 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 405:
-#line 2042 "c-parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 406:
-#line 2044 "c-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 407:
-#line 2049 "c-parse.y"
-{ yyval.ttype = SAVE_WARN_FLAGS();
- pedantic = 0;
- warn_pointer_arith = 0; ;
- break;}
-}
- /* the action file gets copied in in place of this dollarsign */
-#line 543 "/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;
-
- yyacceptlab:
- /* YYACCEPT comes here. */
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 0;
-
- yyabortlab:
- /* YYABORT comes here. */
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 1;
-}
-#line 2054 "c-parse.y"
-
diff --git a/gcc/c-parse.h b/gcc/c-parse.h
deleted file mode 100644
index f93aef0..0000000
--- a/gcc/c-parse.h
+++ /dev/null
@@ -1,69 +0,0 @@
-typedef union {long itype; tree ttype; enum tree_code code;
- const char *filename; int lineno; int ends_in_label; } YYSTYPE;
-#define IDENTIFIER 257
-#define TYPENAME 258
-#define SCSPEC 259
-#define TYPESPEC 260
-#define TYPE_QUAL 261
-#define CONSTANT 262
-#define STRING 263
-#define ELLIPSIS 264
-#define SIZEOF 265
-#define ENUM 266
-#define STRUCT 267
-#define UNION 268
-#define IF 269
-#define ELSE 270
-#define WHILE 271
-#define DO 272
-#define FOR 273
-#define SWITCH 274
-#define CASE 275
-#define DEFAULT 276
-#define BREAK 277
-#define CONTINUE 278
-#define RETURN 279
-#define GOTO 280
-#define ASM_KEYWORD 281
-#define TYPEOF 282
-#define ALIGNOF 283
-#define ATTRIBUTE 284
-#define EXTENSION 285
-#define LABEL 286
-#define REALPART 287
-#define IMAGPART 288
-#define VA_ARG 289
-#define PTR_VALUE 290
-#define PTR_BASE 291
-#define PTR_EXTENT 292
-#define END_OF_LINE 293
-#define ASSIGN 294
-#define OROR 295
-#define ANDAND 296
-#define EQCOMPARE 297
-#define ARITHCOMPARE 298
-#define LSHIFT 299
-#define RSHIFT 300
-#define UNARY 301
-#define PLUSPLUS 302
-#define MINUSMINUS 303
-#define HYPERUNARY 304
-#define POINTSAT 305
-#define INTERFACE 306
-#define IMPLEMENTATION 307
-#define END 308
-#define SELECTOR 309
-#define DEFS 310
-#define ENCODE 311
-#define CLASSNAME 312
-#define PUBLIC 313
-#define PRIVATE 314
-#define PROTECTED 315
-#define PROTOCOL 316
-#define OBJECTNAME 317
-#define CLASS 318
-#define ALIAS 319
-#define OBJC_STRING 320
-
-
-extern YYSTYPE yylval;
diff --git a/gcc/c-parse.y b/gcc/c-parse.y
deleted file mode 100644
index 11b0656..0000000
--- a/gcc/c-parse.y
+++ /dev/null
@@ -1,2054 +0,0 @@
-/*WARNING: This file is automatically generated!*/
-/* YACC parser for C syntax and for Objective C. -*-c-*-
- Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996,
- 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-
-This file is part of GNU CC.
-
-GNU CC 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 2, or (at your option)
-any later version.
-
-GNU CC 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 GNU CC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-/* This file defines the grammar of C and that of Objective C.
- ifobjc ... end ifobjc conditionals contain code for Objective C only.
- ifc ... end ifc conditionals contain code for C only.
- Sed commands in Makefile.in are used to convert this file into
- c-parse.y and into objc-parse.y. */
-
-/* To whomever it may concern: I have heard that such a thing was once
- written by AT&T, but I have never seen it. */
-
-%expect 53
-
-%{
-#include "config.h"
-#include "system.h"
-#include <setjmp.h>
-#include "tree.h"
-#include "input.h"
-#include "c-lex.h"
-#include "c-tree.h"
-#include "flags.h"
-#include "output.h"
-#include "toplev.h"
-#include "ggc.h"
-
-#ifdef MULTIBYTE_CHARS
-#include <locale.h>
-#endif
-
-
-/* Since parsers are distinct for each language, put the language string
- definition here. */
-const char * const language_string = "GNU C";
-
-/* Like YYERROR but do call yyerror. */
-#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
-
-/* Cause the `yydebug' variable to be defined. */
-#define YYDEBUG 1
-%}
-
-%start program
-
-%union {long itype; tree ttype; enum tree_code code;
- const char *filename; int lineno; int ends_in_label; }
-
-/* All identifiers that are not reserved words
- and are not declared typedefs in the current block */
-%token IDENTIFIER
-
-/* All identifiers that are declared typedefs in the current block.
- In some contexts, they are treated just like IDENTIFIER,
- but they can also serve as typespecs in declarations. */
-%token TYPENAME
-
-/* Reserved words that specify storage class.
- yylval contains an IDENTIFIER_NODE which indicates which one. */
-%token SCSPEC
-
-/* Reserved words that specify type.
- yylval contains an IDENTIFIER_NODE which indicates which one. */
-%token TYPESPEC
-
-/* Reserved words that qualify type: "const", "volatile", or "restrict".
- yylval contains an IDENTIFIER_NODE which indicates which one. */
-%token TYPE_QUAL
-
-/* Character or numeric constants.
- yylval is the node for the constant. */
-%token CONSTANT
-
-/* String constants in raw form.
- yylval is a STRING_CST node. */
-%token STRING
-
-/* "...", used for functions with variable arglists. */
-%token ELLIPSIS
-
-/* the reserved words */
-/* SCO include files test "ASM", so use something else. */
-%token SIZEOF ENUM STRUCT UNION IF ELSE WHILE DO FOR SWITCH CASE DEFAULT
-%token BREAK CONTINUE RETURN GOTO ASM_KEYWORD TYPEOF ALIGNOF
-%token ATTRIBUTE EXTENSION LABEL
-%token REALPART IMAGPART VA_ARG
-%token PTR_VALUE PTR_BASE PTR_EXTENT
-
-/* Used in c-lex.c for parsing pragmas. */
-%token END_OF_LINE
-
-/* Add precedence rules to solve dangling else s/r conflict */
-%nonassoc IF
-%nonassoc ELSE
-
-/* Define the operator tokens and their precedences.
- The value is an integer because, if used, it is the tree code
- to use in the expression made from the operator. */
-
-%right <code> ASSIGN '='
-%right <code> '?' ':'
-%left <code> OROR
-%left <code> ANDAND
-%left <code> '|'
-%left <code> '^'
-%left <code> '&'
-%left <code> EQCOMPARE
-%left <code> ARITHCOMPARE
-%left <code> LSHIFT RSHIFT
-%left <code> '+' '-'
-%left <code> '*' '/' '%'
-%right <code> UNARY PLUSPLUS MINUSMINUS
-%left HYPERUNARY
-%left <code> POINTSAT '.' '(' '['
-
-/* The Objective-C keywords. These are included in C and in
- Objective C, so that the token codes are the same in both. */
-%token INTERFACE IMPLEMENTATION END SELECTOR DEFS ENCODE
-%token CLASSNAME PUBLIC PRIVATE PROTECTED PROTOCOL OBJECTNAME CLASS ALIAS
-
-/* Objective-C string constants in raw form.
- yylval is an OBJC_STRING_CST node. */
-%token OBJC_STRING
-
-
-%type <code> unop
-
-%type <ttype> identifier IDENTIFIER TYPENAME CONSTANT expr nonnull_exprlist exprlist
-%type <ttype> expr_no_commas cast_expr unary_expr primary string STRING
-%type <ttype> typed_declspecs reserved_declspecs
-%type <ttype> typed_typespecs reserved_typespecquals
-%type <ttype> declmods typespec typespecqual_reserved
-%type <ttype> typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
-%type <ttype> declmods_no_prefix_attr
-%type <ttype> SCSPEC TYPESPEC TYPE_QUAL nonempty_type_quals maybe_type_qual
-%type <ttype> initdecls notype_initdecls initdcl notype_initdcl
-%type <ttype> init maybeasm
-%type <ttype> asm_operands nonnull_asm_operands asm_operand asm_clobbers
-%type <ttype> maybe_attribute attributes attribute attribute_list attrib
-%type <ttype> any_word extension
-
-%type <ttype> compstmt compstmt_nostart compstmt_primary_start
-
-%type <ttype> declarator
-%type <ttype> notype_declarator after_type_declarator
-%type <ttype> parm_declarator
-
-%type <ttype> structsp component_decl_list component_decl_list2
-%type <ttype> component_decl components component_declarator
-%type <ttype> enumlist enumerator
-%type <ttype> struct_head union_head enum_head
-%type <ttype> typename absdcl absdcl1 type_quals
-%type <ttype> xexpr parms parm identifiers
-
-%type <ttype> parmlist parmlist_1 parmlist_2
-%type <ttype> parmlist_or_identifiers parmlist_or_identifiers_1
-%type <ttype> identifiers_or_typenames
-
-%type <itype> setspecs
-
-%type <ends_in_label> lineno_stmt_or_label lineno_stmt_or_labels stmt_or_label
-
-%type <filename> save_filename
-%type <lineno> save_lineno
-
-
-%{
-/* Number of statements (loosely speaking) and compound statements
- seen so far. */
-static int stmt_count;
-static int compstmt_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 const char *if_stmt_file;
-static int if_stmt_line;
-
-/* List of types and structure classes of the current declaration. */
-static tree current_declspecs = NULL_TREE;
-static tree prefix_attributes = NULL_TREE;
-
-/* Stack of saved values of current_declspecs and prefix_attributes. */
-static tree declspec_stack;
-
-/* For __extension__, save/restore the warning flags which are
- controlled by __extension__. */
-#define SAVE_WARN_FLAGS() \
- size_int (pedantic | (warn_pointer_arith << 1))
-#define RESTORE_WARN_FLAGS(tval) \
- do { \
- int val = tree_low_cst (tval, 0); \
- pedantic = val & 1; \
- warn_pointer_arith = (val >> 1) & 1; \
- } while (0)
-
-
-/* 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 PARAMS ((FILE *, int, YYSTYPE));
-
-/* Add GC roots for variables local to this file. */
-void
-c_parse_init ()
-{
- ggc_add_tree_root (&declspec_stack, 1);
- ggc_add_tree_root (&current_declspecs, 1);
- ggc_add_tree_root (&prefix_attributes, 1);
-}
-
-%}
-
-%%
-program: /* empty */
- { if (pedantic)
- pedwarn ("ANSI C forbids an empty source file");
- finish_file ();
- }
- | extdefs
- {
- /* In case there were missing closebraces,
- get us back to the global binding level. */
- while (! global_bindings_p ())
- poplevel (0, 0, 0);
- finish_file ();
- }
- ;
-
-/* the reason for the strange actions in this rule
- is so that notype_initdecls when reached via datadef
- can find a valid list of type and sc specs in $0. */
-
-extdefs:
- {$<ttype>$ = NULL_TREE; } extdef
- | extdefs {$<ttype>$ = NULL_TREE; } extdef
- ;
-
-extdef:
- fndef
- | datadef
- | ASM_KEYWORD '(' expr ')' ';'
- { STRIP_NOPS ($3);
- if ((TREE_CODE ($3) == ADDR_EXPR
- && TREE_CODE (TREE_OPERAND ($3, 0)) == STRING_CST)
- || TREE_CODE ($3) == STRING_CST)
- assemble_asm ($3);
- else
- error ("argument of `asm' is not a constant string"); }
- | extension extdef
- { RESTORE_WARN_FLAGS ($1); }
- ;
-
-datadef:
- setspecs notype_initdecls ';'
- { 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");
-
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs setspecs initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods ';'
- { pedwarn ("empty declaration"); }
- | typed_declspecs ';'
- { shadow_tag ($1); }
- | error ';'
- | error '}'
- | ';'
- { if (pedantic)
- pedwarn ("ANSI C does not allow extra `;' outside of a function"); }
- ;
-
-fndef:
- typed_declspecs setspecs declarator
- { if (! start_function (current_declspecs, $3,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); }
- old_style_parm_decls
- { store_parm_decls (); }
- compstmt_or_error
- { finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs setspecs declarator error
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_declarator
- { if (! start_function (current_declspecs, $3,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); }
- old_style_parm_decls
- { store_parm_decls (); }
- compstmt_or_error
- { finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_declarator error
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | setspecs notype_declarator
- { if (! start_function (NULL_TREE, $2,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); }
- old_style_parm_decls
- { store_parm_decls (); }
- compstmt_or_error
- { finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | setspecs notype_declarator error
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- ;
-
-identifier:
- IDENTIFIER
- | TYPENAME
- ;
-
-unop: '&'
- { $$ = ADDR_EXPR; }
- | '-'
- { $$ = NEGATE_EXPR; }
- | '+'
- { $$ = CONVERT_EXPR; }
- | PLUSPLUS
- { $$ = PREINCREMENT_EXPR; }
- | MINUSMINUS
- { $$ = PREDECREMENT_EXPR; }
- | '~'
- { $$ = BIT_NOT_EXPR; }
- | '!'
- { $$ = TRUTH_NOT_EXPR; }
- ;
-
-expr: nonnull_exprlist
- { $$ = build_compound_expr ($1); }
- ;
-
-exprlist:
- /* empty */
- { $$ = NULL_TREE; }
- | nonnull_exprlist
- ;
-
-nonnull_exprlist:
- expr_no_commas
- { $$ = build_tree_list (NULL_TREE, $1); }
- | nonnull_exprlist ',' expr_no_commas
- { chainon ($1, build_tree_list (NULL_TREE, $3)); }
- ;
-
-unary_expr:
- primary
- | '*' cast_expr %prec UNARY
- { $$ = build_indirect_ref ($2, "unary *"); }
- /* __extension__ turns off -pedantic for following primary. */
- | extension cast_expr %prec UNARY
- { $$ = $2;
- RESTORE_WARN_FLAGS ($1); }
- | unop cast_expr %prec UNARY
- { $$ = build_unary_op ($1, $2, 0);
- overflow_warning ($$); }
- /* Refer to the address of a label as a pointer. */
- | ANDAND identifier
- { tree label = lookup_label ($2);
- if (pedantic)
- pedwarn ("ANSI C forbids `&&'");
- if (label == 0)
- $$ = null_pointer_node;
- else
- {
- TREE_USED (label) = 1;
- $$ = build1 (ADDR_EXPR, ptr_type_node, label);
- TREE_CONSTANT ($$) = 1;
- }
- }
-/* This seems to be impossible on some machines, so let's turn it off.
- You can use __builtin_next_arg to find the anonymous stack args.
- | '&' ELLIPSIS
- { tree types = TYPE_ARG_TYPES (TREE_TYPE (current_function_decl));
- $$ = error_mark_node;
- if (TREE_VALUE (tree_last (types)) == void_type_node)
- error ("`&...' used in function with fixed number of arguments");
- else
- {
- if (pedantic)
- pedwarn ("ANSI C forbids `&...'");
- $$ = tree_last (DECL_ARGUMENTS (current_function_decl));
- $$ = build_unary_op (ADDR_EXPR, $$, 0);
- } }
-*/
- | sizeof unary_expr %prec UNARY
- { skip_evaluation--;
- if (TREE_CODE ($2) == COMPONENT_REF
- && DECL_C_BIT_FIELD (TREE_OPERAND ($2, 1)))
- error ("`sizeof' applied to a bit-field");
- $$ = c_sizeof (TREE_TYPE ($2)); }
- | sizeof '(' typename ')' %prec HYPERUNARY
- { skip_evaluation--;
- $$ = c_sizeof (groktypename ($3)); }
- | alignof unary_expr %prec UNARY
- { skip_evaluation--;
- $$ = c_alignof_expr ($2); }
- | alignof '(' typename ')' %prec HYPERUNARY
- { skip_evaluation--;
- $$ = c_alignof (groktypename ($3)); }
- | REALPART cast_expr %prec UNARY
- { $$ = build_unary_op (REALPART_EXPR, $2, 0); }
- | IMAGPART cast_expr %prec UNARY
- { $$ = build_unary_op (IMAGPART_EXPR, $2, 0); }
- | VA_ARG '(' expr_no_commas ',' typename ')'
- { $$ = build_va_arg ($3, groktypename ($5)); }
- ;
-
-sizeof:
- SIZEOF { skip_evaluation++; }
- ;
-
-alignof:
- ALIGNOF { skip_evaluation++; }
- ;
-
-cast_expr:
- unary_expr
- | '(' typename ')' cast_expr %prec UNARY
- { tree type = groktypename ($2);
- $$ = build_c_cast (type, $4); }
- | '(' typename ')' '{'
- { start_init (NULL_TREE, NULL, 0);
- $2 = groktypename ($2);
- really_start_incremental_init ($2); }
- initlist_maybe_comma '}' %prec UNARY
- { const char *name;
- tree result = pop_init_level (0);
- tree type = $2;
- finish_init ();
-
- if (pedantic && ! flag_isoc99)
- 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 = "";
- $$ = result;
- if (TREE_CODE (type) == ARRAY_TYPE && !COMPLETE_TYPE_P (type))
- {
- int failure = complete_array_type (type, $$, 1);
- if (failure)
- abort ();
- }
- }
- ;
-
-expr_no_commas:
- cast_expr
- | expr_no_commas '+' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '-' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '*' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '/' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '%' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas LSHIFT expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas RSHIFT expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas ARITHCOMPARE expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas EQCOMPARE expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '&' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '|' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '^' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas ANDAND
- { $1 = truthvalue_conversion (default_conversion ($1));
- skip_evaluation += $1 == boolean_false_node; }
- expr_no_commas
- { skip_evaluation -= $1 == boolean_false_node;
- $$ = parser_build_binary_op (TRUTH_ANDIF_EXPR, $1, $4); }
- | expr_no_commas OROR
- { $1 = truthvalue_conversion (default_conversion ($1));
- skip_evaluation += $1 == boolean_true_node; }
- expr_no_commas
- { skip_evaluation -= $1 == boolean_true_node;
- $$ = parser_build_binary_op (TRUTH_ORIF_EXPR, $1, $4); }
- | expr_no_commas '?'
- { $1 = truthvalue_conversion (default_conversion ($1));
- skip_evaluation += $1 == boolean_false_node; }
- expr ':'
- { skip_evaluation += (($1 == boolean_true_node)
- - ($1 == boolean_false_node)); }
- expr_no_commas
- { skip_evaluation -= $1 == boolean_true_node;
- $$ = build_conditional_expr ($1, $4, $7); }
- | expr_no_commas '?'
- { if (pedantic)
- pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
- /* Make sure first operand is calculated only once. */
- $<ttype>2 = save_expr ($1);
- $1 = truthvalue_conversion (default_conversion ($<ttype>2));
- skip_evaluation += $1 == boolean_true_node; }
- ':' expr_no_commas
- { skip_evaluation -= $1 == boolean_true_node;
- $$ = build_conditional_expr ($1, $<ttype>2, $5); }
- | expr_no_commas '=' expr_no_commas
- { char class;
- $$ = build_modify_expr ($1, NOP_EXPR, $3);
- class = TREE_CODE_CLASS (TREE_CODE ($$));
- if (class == 'e' || class == '1'
- || class == '2' || class == '<')
- C_SET_EXP_ORIGINAL_CODE ($$, MODIFY_EXPR);
- }
- | expr_no_commas ASSIGN expr_no_commas
- { char class;
- $$ = build_modify_expr ($1, $2, $3);
- /* This inhibits warnings in truthvalue_conversion. */
- class = TREE_CODE_CLASS (TREE_CODE ($$));
- if (class == 'e' || class == '1'
- || class == '2' || class == '<')
- C_SET_EXP_ORIGINAL_CODE ($$, ERROR_MARK);
- }
- ;
-
-primary:
- IDENTIFIER
- {
- if (yychar == YYEMPTY)
- yychar = YYLEX;
- $$ = build_external_ref ($1, yychar == '(');
- }
- | CONSTANT
- | string
- { $$ = combine_strings ($1); }
- | '(' expr ')'
- { char class = TREE_CODE_CLASS (TREE_CODE ($2));
- if (class == 'e' || class == '1'
- || class == '2' || class == '<')
- C_SET_EXP_ORIGINAL_CODE ($2, ERROR_MARK);
- $$ = $2; }
- | '(' error ')'
- { $$ = error_mark_node; }
- | compstmt_primary_start compstmt_nostart ')'
- { tree rtl_exp;
- if (pedantic)
- pedwarn ("ANSI C forbids braced-groups within expressions");
- pop_iterator_stack ();
- pop_label_level ();
- rtl_exp = expand_end_stmt_expr ($1);
- /* The statements have side effects, so the group does. */
- TREE_SIDE_EFFECTS (rtl_exp) = 1;
-
- if (TREE_CODE ($2) == BLOCK)
- {
- /* Make a BIND_EXPR for the BLOCK already made. */
- $$ = build (BIND_EXPR, TREE_TYPE (rtl_exp),
- NULL_TREE, rtl_exp, $2);
- /* 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 ($2);
- }
- else
- $$ = $2;
- }
- | compstmt_primary_start error ')'
- {
- /* Make sure we call expand_end_stmt_expr. Otherwise
- we are likely to lose sequences and crash later. */
- pop_iterator_stack ();
- pop_label_level ();
- expand_end_stmt_expr ($1);
- $$ = error_mark_node;
- }
- | primary '(' exprlist ')' %prec '.'
- { $$ = build_function_call ($1, $3); }
- | primary '[' expr ']' %prec '.'
- { $$ = build_array_ref ($1, $3); }
- | primary '.' identifier
- {
- $$ = build_component_ref ($1, $3);
- }
- | primary POINTSAT identifier
- {
- tree expr = build_indirect_ref ($1, "->");
-
- $$ = build_component_ref (expr, $3);
- }
- | primary PLUSPLUS
- { $$ = build_unary_op (POSTINCREMENT_EXPR, $1, 0); }
- | primary MINUSMINUS
- { $$ = build_unary_op (POSTDECREMENT_EXPR, $1, 0); }
- ;
-
-/* Produces a STRING_CST with perhaps more STRING_CSTs chained onto it. */
-string:
- STRING
- | string STRING
- { $$ = chainon ($1, $2);
- if (warn_traditional && !in_system_header)
- warning ("Use of ANSI string concatenation");
- }
- ;
-
-
-old_style_parm_decls:
- /* empty */
- | datadecls
- | datadecls ELLIPSIS
- /* ... is used here to indicate a varargs function. */
- { c_mark_varargs ();
- if (pedantic)
- pedwarn ("ANSI C does not permit use of `varargs.h'"); }
- ;
-
-/* The following are analogous to lineno_decl, decls and decl
- except that they do not allow nested functions.
- They are used for old-style parm decls. */
-lineno_datadecl:
- save_filename save_lineno datadecl
- { }
- ;
-
-datadecls:
- lineno_datadecl
- | errstmt
- | datadecls lineno_datadecl
- | lineno_datadecl errstmt
- ;
-
-/* We don't allow prefix attributes here because they cause reduce/reduce
- conflicts: we can't know whether we're parsing a function decl with
- attribute suffix, or function defn with attribute prefix on first old
- style parm. */
-datadecl:
- typed_declspecs_no_prefix_attr setspecs initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods_no_prefix_attr setspecs notype_initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs_no_prefix_attr ';'
- { shadow_tag_warned ($1, 1);
- pedwarn ("empty declaration"); }
- | declmods_no_prefix_attr ';'
- { pedwarn ("empty declaration"); }
- ;
-
-/* This combination which saves a lineno before a decl
- is the normal thing to use, rather than decl itself.
- This is to avoid shift/reduce conflicts in contexts
- where statement labels are allowed. */
-lineno_decl:
- save_filename save_lineno decl
- { }
- ;
-
-decls:
- lineno_decl
- | errstmt
- | decls lineno_decl
- | lineno_decl errstmt
- ;
-
-/* records the type and storage class specs to use for processing
- the declarators that follow.
- Maintains a stack of outer-level values of current_declspecs,
- for the sake of parm declarations nested in function declarators. */
-setspecs: /* empty */
- { pending_xref_error ();
- declspec_stack = tree_cons (prefix_attributes,
- current_declspecs,
- declspec_stack);
- split_specs_attrs ($<ttype>0,
- &current_declspecs, &prefix_attributes); }
- ;
-
-/* ??? Yuck. See after_type_declarator. */
-setattrs: /* empty */
- { prefix_attributes = chainon (prefix_attributes, $<ttype>0); }
- ;
-
-decl:
- typed_declspecs setspecs initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs setspecs nested_function
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_nested_function
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs ';'
- { shadow_tag ($1); }
- | declmods ';'
- { pedwarn ("empty declaration"); }
- | extension decl
- { RESTORE_WARN_FLAGS ($1); }
- ;
-
-/* Declspecs which contain at least one type specifier or typedef name.
- (Just `const' or `volatile' is not enough.)
- A typedef'd name following these is taken as a name to be declared.
- Declspecs have a non-NULL TREE_VALUE, attributes do not. */
-
-typed_declspecs:
- typespec reserved_declspecs
- { $$ = tree_cons (NULL_TREE, $1, $2); }
- | declmods typespec reserved_declspecs
- { $$ = chainon ($3, tree_cons (NULL_TREE, $2, $1)); }
- ;
-
-reserved_declspecs: /* empty */
- { $$ = NULL_TREE; }
- | reserved_declspecs typespecqual_reserved
- { $$ = tree_cons (NULL_TREE, $2, $1); }
- | reserved_declspecs SCSPEC
- { if (extra_warnings)
- warning ("`%s' is not at beginning of declaration",
- IDENTIFIER_POINTER ($2));
- $$ = tree_cons (NULL_TREE, $2, $1); }
- | reserved_declspecs attributes
- { $$ = tree_cons ($2, NULL_TREE, $1); }
- ;
-
-typed_declspecs_no_prefix_attr:
- typespec reserved_declspecs_no_prefix_attr
- { $$ = tree_cons (NULL_TREE, $1, $2); }
- | declmods_no_prefix_attr typespec reserved_declspecs_no_prefix_attr
- { $$ = chainon ($3, tree_cons (NULL_TREE, $2, $1)); }
- ;
-
-reserved_declspecs_no_prefix_attr:
- /* empty */
- { $$ = NULL_TREE; }
- | reserved_declspecs_no_prefix_attr typespecqual_reserved
- { $$ = tree_cons (NULL_TREE, $2, $1); }
- | reserved_declspecs_no_prefix_attr SCSPEC
- { if (extra_warnings)
- warning ("`%s' is not at beginning of declaration",
- IDENTIFIER_POINTER ($2));
- $$ = tree_cons (NULL_TREE, $2, $1); }
- ;
-
-/* List of just storage classes, type modifiers, and prefix attributes.
- A declaration can start with just this, but then it cannot be used
- to redeclare a typedef-name.
- Declspecs have a non-NULL TREE_VALUE, attributes do not. */
-
-declmods:
- declmods_no_prefix_attr
- { $$ = $1; }
- | attributes
- { $$ = tree_cons ($1, NULL_TREE, NULL_TREE); }
- | declmods declmods_no_prefix_attr
- { $$ = chainon ($2, $1); }
- | declmods attributes
- { $$ = tree_cons ($2, NULL_TREE, $1); }
- ;
-
-declmods_no_prefix_attr:
- TYPE_QUAL
- { $$ = tree_cons (NULL_TREE, $1, NULL_TREE);
- TREE_STATIC ($$) = 1; }
- | SCSPEC
- { $$ = tree_cons (NULL_TREE, $1, NULL_TREE); }
- | declmods_no_prefix_attr TYPE_QUAL
- { $$ = tree_cons (NULL_TREE, $2, $1);
- TREE_STATIC ($$) = 1; }
- | declmods_no_prefix_attr SCSPEC
- { if (extra_warnings && TREE_STATIC ($1))
- warning ("`%s' is not at beginning of declaration",
- IDENTIFIER_POINTER ($2));
- $$ = tree_cons (NULL_TREE, $2, $1);
- TREE_STATIC ($$) = TREE_STATIC ($1); }
- ;
-
-
-/* Used instead of declspecs where storage classes are not allowed
- (that is, for typenames and structure components).
- Don't accept a typedef-name if anything but a modifier precedes it. */
-
-typed_typespecs:
- typespec reserved_typespecquals
- { $$ = tree_cons (NULL_TREE, $1, $2); }
- | nonempty_type_quals typespec reserved_typespecquals
- { $$ = chainon ($3, tree_cons (NULL_TREE, $2, $1)); }
- ;
-
-reserved_typespecquals: /* empty */
- { $$ = NULL_TREE; }
- | reserved_typespecquals typespecqual_reserved
- { $$ = tree_cons (NULL_TREE, $2, $1); }
- ;
-
-/* A typespec (but not a type qualifier).
- Once we have seen one of these in a declaration,
- if a typedef name appears then it is being redeclared. */
-
-typespec: TYPESPEC
- | structsp
- | TYPENAME
- { /* For a typedef name, record the meaning, not the name.
- In case of `foo foo, bar;'. */
- $$ = lookup_name ($1); }
- | TYPEOF '(' expr ')'
- { $$ = TREE_TYPE ($3); }
- | TYPEOF '(' typename ')'
- { $$ = groktypename ($3); }
- ;
-
-/* A typespec that is a reserved word, or a type qualifier. */
-
-typespecqual_reserved: TYPESPEC
- | TYPE_QUAL
- | structsp
- ;
-
-initdecls:
- initdcl
- | initdecls ',' initdcl
- ;
-
-notype_initdecls:
- notype_initdcl
- | notype_initdecls ',' initdcl
- ;
-
-maybeasm:
- /* empty */
- { $$ = NULL_TREE; }
- | ASM_KEYWORD '(' string ')'
- { if (TREE_CHAIN ($3)) $3 = combine_strings ($3);
- $$ = $3;
- }
- ;
-
-initdcl:
- declarator maybeasm maybe_attribute '='
- { $<ttype>$ = start_decl ($1, current_declspecs, 1,
- $3, prefix_attributes);
- start_init ($<ttype>$, $2, global_bindings_p ()); }
- init
-/* Note how the declaration of the variable is in effect while its init is parsed! */
- { finish_init ();
- finish_decl ($<ttype>5, $6, $2); }
- | declarator maybeasm maybe_attribute
- { tree d = start_decl ($1, current_declspecs, 0,
- $3, prefix_attributes);
- finish_decl (d, NULL_TREE, $2);
- }
- ;
-
-notype_initdcl:
- notype_declarator maybeasm maybe_attribute '='
- { $<ttype>$ = start_decl ($1, current_declspecs, 1,
- $3, prefix_attributes);
- start_init ($<ttype>$, $2, global_bindings_p ()); }
- init
-/* Note how the declaration of the variable is in effect while its init is parsed! */
- { finish_init ();
- decl_attributes ($<ttype>5, $3, prefix_attributes);
- finish_decl ($<ttype>5, $6, $2); }
- | notype_declarator maybeasm maybe_attribute
- { tree d = start_decl ($1, current_declspecs, 0,
- $3, prefix_attributes);
- finish_decl (d, NULL_TREE, $2); }
- ;
-/* the * rules are dummies to accept the Apollo extended syntax
- so that the header files compile. */
-maybe_attribute:
- /* empty */
- { $$ = NULL_TREE; }
- | attributes
- { $$ = $1; }
- ;
-
-attributes:
- attribute
- { $$ = $1; }
- | attributes attribute
- { $$ = chainon ($1, $2); }
- ;
-
-attribute:
- ATTRIBUTE '(' '(' attribute_list ')' ')'
- { $$ = $4; }
- ;
-
-attribute_list:
- attrib
- { $$ = $1; }
- | attribute_list ',' attrib
- { $$ = chainon ($1, $3); }
- ;
-
-attrib:
- /* empty */
- { $$ = NULL_TREE; }
- | any_word
- { $$ = build_tree_list ($1, NULL_TREE); }
- | any_word '(' IDENTIFIER ')'
- { $$ = build_tree_list ($1, build_tree_list (NULL_TREE, $3)); }
- | any_word '(' IDENTIFIER ',' nonnull_exprlist ')'
- { $$ = build_tree_list ($1, tree_cons (NULL_TREE, $3, $5)); }
- | any_word '(' exprlist ')'
- { $$ = build_tree_list ($1, $3); }
- ;
-
-/* This still leaves out most reserved keywords,
- shouldn't we include them? */
-
-any_word:
- identifier
- | SCSPEC
- | TYPESPEC
- | TYPE_QUAL
- ;
-
-/* Initializers. `init' is the entry point. */
-
-init:
- expr_no_commas
- | '{'
- { really_start_incremental_init (NULL_TREE); }
- initlist_maybe_comma '}'
- { $$ = pop_init_level (0); }
- | error
- { $$ = error_mark_node; }
- ;
-
-/* `initlist_maybe_comma' is the guts of an initializer in braces. */
-initlist_maybe_comma:
- /* empty */
- { if (pedantic)
- pedwarn ("ANSI C forbids empty initializer braces"); }
- | initlist1 maybecomma
- ;
-
-initlist1:
- initelt
- | initlist1 ',' initelt
- ;
-
-/* `initelt' is a single element of an initializer.
- It may use braces. */
-initelt:
- designator_list '=' initval
- | designator initval
- | identifier ':'
- { set_init_label ($1); }
- initval
- | initval
- ;
-
-initval:
- '{'
- { push_init_level (0); }
- initlist_maybe_comma '}'
- { process_init_element (pop_init_level (0)); }
- | expr_no_commas
- { process_init_element ($1); }
- | error
- ;
-
-designator_list:
- designator
- | designator_list designator
- ;
-
-designator:
- '.' identifier
- { set_init_label ($2); }
- /* These are for labeled elements. The syntax for an array element
- initializer conflicts with the syntax for an Objective-C message,
- so don't include these productions in the Objective-C grammar. */
- | '[' expr_no_commas ELLIPSIS expr_no_commas ']'
- { set_init_index ($2, $4); }
- | '[' expr_no_commas ']'
- { set_init_index ($2, NULL_TREE); }
- ;
-
-nested_function:
- declarator
- { if (pedantic)
- pedwarn ("ANSI C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, $1,
- prefix_attributes, NULL_TREE))
- {
- pop_function_context ();
- YYERROR1;
- }
- reinit_parse_for_function (); }
- old_style_parm_decls
- { store_parm_decls (); }
-/* This used to use compstmt_or_error.
- That caused a bug with input `f(g) int g {}',
- where the use of YYERROR1 above caused an error
- which then was handled by compstmt_or_error.
- There followed a repeated execution of that same rule,
- which called YYERROR1 again, and so on. */
- compstmt
- { finish_function (1);
- pop_function_context (); }
- ;
-
-notype_nested_function:
- notype_declarator
- { if (pedantic)
- pedwarn ("ANSI C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, $1,
- prefix_attributes, NULL_TREE))
- {
- pop_function_context ();
- YYERROR1;
- }
- reinit_parse_for_function (); }
- old_style_parm_decls
- { store_parm_decls (); }
-/* This used to use compstmt_or_error.
- That caused a bug with input `f(g) int g {}',
- where the use of YYERROR1 above caused an error
- which then was handled by compstmt_or_error.
- There followed a repeated execution of that same rule,
- which called YYERROR1 again, and so on. */
- compstmt
- { finish_function (1);
- pop_function_context (); }
- ;
-
-/* Any kind of declarator (thus, all declarators allowed
- after an explicit typespec). */
-
-declarator:
- after_type_declarator
- | notype_declarator
- ;
-
-/* A declarator that is allowed only after an explicit typespec. */
-
-after_type_declarator:
- '(' after_type_declarator ')'
- { $$ = $2; }
- | after_type_declarator '(' parmlist_or_identifiers %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, $3, NULL_TREE); }
-/* | after_type_declarator '(' error ')' %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, NULL_TREE, NULL_TREE);
- poplevel (0, 0, 0); } */
- | after_type_declarator '[' expr ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, $3); }
- | after_type_declarator '[' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, NULL_TREE); }
- | '*' type_quals after_type_declarator %prec UNARY
- { $$ = make_pointer_declarator ($2, $3); }
- /* ??? Yuck. setattrs is a quick hack. We can't use
- prefix_attributes because $1 only applies to this
- declarator. We assume setspecs has already been done.
- setattrs also avoids 5 reduce/reduce conflicts (otherwise multiple
- attributes could be recognized here or in `attributes'). */
- | attributes setattrs after_type_declarator
- { $$ = $3; }
- | TYPENAME
- ;
-
-/* Kinds of declarator that can appear in a parameter list
- in addition to notype_declarator. This is like after_type_declarator
- but does not allow a typedef name in parentheses as an identifier
- (because it would conflict with a function with that typedef as arg). */
-
-parm_declarator:
- parm_declarator '(' parmlist_or_identifiers %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, $3, NULL_TREE); }
-/* | parm_declarator '(' error ')' %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, NULL_TREE, NULL_TREE);
- poplevel (0, 0, 0); } */
- | parm_declarator '[' '*' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, NULL_TREE);
- if (! flag_isoc99)
- error ("`[*]' in parameter declaration only allowed in ISO C 99");
- }
- | parm_declarator '[' expr ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, $3); }
- | parm_declarator '[' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, NULL_TREE); }
- | '*' type_quals parm_declarator %prec UNARY
- { $$ = make_pointer_declarator ($2, $3); }
- /* ??? Yuck. setattrs is a quick hack. We can't use
- prefix_attributes because $1 only applies to this
- declarator. We assume setspecs has already been done.
- setattrs also avoids 5 reduce/reduce conflicts (otherwise multiple
- attributes could be recognized here or in `attributes'). */
- | attributes setattrs parm_declarator
- { $$ = $3; }
- | TYPENAME
- ;
-
-/* A declarator allowed whether or not there has been
- an explicit typespec. These cannot redeclare a typedef-name. */
-
-notype_declarator:
- notype_declarator '(' parmlist_or_identifiers %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, $3, NULL_TREE); }
-/* | notype_declarator '(' error ')' %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, NULL_TREE, NULL_TREE);
- poplevel (0, 0, 0); } */
- | '(' notype_declarator ')'
- { $$ = $2; }
- | '*' type_quals notype_declarator %prec UNARY
- { $$ = make_pointer_declarator ($2, $3); }
- | notype_declarator '[' '*' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, NULL_TREE);
- if (! flag_isoc99)
- error ("`[*]' in parameter declaration only allowed in ISO C 99");
- }
- | notype_declarator '[' expr ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, $3); }
- | notype_declarator '[' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, NULL_TREE); }
- /* ??? Yuck. setattrs is a quick hack. We can't use
- prefix_attributes because $1 only applies to this
- declarator. We assume setspecs has already been done.
- setattrs also avoids 5 reduce/reduce conflicts (otherwise multiple
- attributes could be recognized here or in `attributes'). */
- | attributes setattrs notype_declarator
- { $$ = $3; }
- | IDENTIFIER
- ;
-
-struct_head:
- STRUCT
- { $$ = NULL_TREE; }
- | STRUCT attributes
- { $$ = $2; }
- ;
-
-union_head:
- UNION
- { $$ = NULL_TREE; }
- | UNION attributes
- { $$ = $2; }
- ;
-
-enum_head:
- ENUM
- { $$ = NULL_TREE; }
- | ENUM attributes
- { $$ = $2; }
- ;
-
-structsp:
- struct_head identifier '{'
- { $$ = start_struct (RECORD_TYPE, $2);
- /* Start scope of tag before parsing components. */
- }
- component_decl_list '}' maybe_attribute
- { $$ = finish_struct ($<ttype>4, $5, chainon ($1, $7)); }
- | struct_head '{' component_decl_list '}' maybe_attribute
- { $$ = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
- $3, chainon ($1, $5));
- }
- | struct_head identifier
- { $$ = xref_tag (RECORD_TYPE, $2); }
- | union_head identifier '{'
- { $$ = start_struct (UNION_TYPE, $2); }
- component_decl_list '}' maybe_attribute
- { $$ = finish_struct ($<ttype>4, $5, chainon ($1, $7)); }
- | union_head '{' component_decl_list '}' maybe_attribute
- { $$ = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
- $3, chainon ($1, $5));
- }
- | union_head identifier
- { $$ = xref_tag (UNION_TYPE, $2); }
- | enum_head identifier '{'
- { $$ = start_enum ($2); }
- enumlist maybecomma_warn '}' maybe_attribute
- { $$ = finish_enum ($<ttype>4, nreverse ($5),
- chainon ($1, $8)); }
- | enum_head '{'
- { $$ = start_enum (NULL_TREE); }
- enumlist maybecomma_warn '}' maybe_attribute
- { $$ = finish_enum ($<ttype>3, nreverse ($4),
- chainon ($1, $7)); }
- | enum_head identifier
- { $$ = xref_tag (ENUMERAL_TYPE, $2); }
- ;
-
-maybecomma:
- /* empty */
- | ','
- ;
-
-maybecomma_warn:
- /* empty */
- | ','
- { if (pedantic && ! flag_isoc99)
- pedwarn ("comma at end of enumerator list"); }
- ;
-
-component_decl_list:
- component_decl_list2
- { $$ = $1; }
- | component_decl_list2 component_decl
- { $$ = chainon ($1, $2);
- pedwarn ("no semicolon at end of struct or union"); }
- ;
-
-component_decl_list2: /* empty */
- { $$ = NULL_TREE; }
- | component_decl_list2 component_decl ';'
- { $$ = chainon ($1, $2); }
- | component_decl_list2 ';'
- { if (pedantic)
- pedwarn ("extra semicolon in struct or union specified"); }
- ;
-
-/* There is a shift-reduce conflict here, because `components' may
- start with a `typename'. It happens that shifting (the default resolution)
- does the right thing, because it treats the `typename' as part of
- a `typed_typespecs'.
-
- It is possible that this same technique would allow the distinction
- between `notype_initdecls' and `initdecls' to be eliminated.
- But I am being cautious and not trying it. */
-
-component_decl:
- typed_typespecs setspecs components
- { $$ = $3;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_typespecs setspecs save_filename save_lineno maybe_attribute
- {
- /* Support for unnamed structs or unions as members of
- structs or unions (which is [a] useful and [b] supports
- MS P-SDK). */
- if (pedantic)
- pedwarn ("ANSI C doesn't support unnamed structs/unions");
-
- $$ = grokfield($3, $4, NULL, current_declspecs, NULL_TREE);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- }
- | nonempty_type_quals setspecs components
- { $$ = $3;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | nonempty_type_quals
- { if (pedantic)
- pedwarn ("ANSI C forbids member declarations with no members");
- shadow_tag($1);
- $$ = NULL_TREE; }
- | error
- { $$ = NULL_TREE; }
- | extension component_decl
- { $$ = $2;
- RESTORE_WARN_FLAGS ($1); }
- ;
-
-components:
- component_declarator
- | components ',' component_declarator
- { $$ = chainon ($1, $3); }
- ;
-
-component_declarator:
- save_filename save_lineno declarator maybe_attribute
- { $$ = grokfield ($1, $2, $3, current_declspecs, NULL_TREE);
- decl_attributes ($$, $4, prefix_attributes); }
- | save_filename save_lineno
- declarator ':' expr_no_commas maybe_attribute
- { $$ = grokfield ($1, $2, $3, current_declspecs, $5);
- decl_attributes ($$, $6, prefix_attributes); }
- | save_filename save_lineno ':' expr_no_commas maybe_attribute
- { $$ = grokfield ($1, $2, NULL_TREE, current_declspecs, $4);
- decl_attributes ($$, $5, prefix_attributes); }
- ;
-
-/* We chain the enumerators in reverse order.
- They are put in forward order where enumlist is used.
- (The order used to be significant, but no longer is so.
- However, we still maintain the order, just to be clean.) */
-
-enumlist:
- enumerator
- | enumlist ',' enumerator
- { if ($1 == error_mark_node)
- $$ = $1;
- else
- $$ = chainon ($3, $1); }
- | error
- { $$ = error_mark_node; }
- ;
-
-
-enumerator:
- identifier
- { $$ = build_enumerator ($1, NULL_TREE); }
- | identifier '=' expr_no_commas
- { $$ = build_enumerator ($1, $3); }
- ;
-
-typename:
- typed_typespecs absdcl
- { $$ = build_tree_list ($1, $2); }
- | nonempty_type_quals absdcl
- { $$ = build_tree_list ($1, $2); }
- ;
-
-absdcl: /* an absolute declarator */
- /* empty */
- { $$ = NULL_TREE; }
- | absdcl1
- ;
-
-nonempty_type_quals:
- TYPE_QUAL
- { $$ = tree_cons (NULL_TREE, $1, NULL_TREE); }
- | nonempty_type_quals TYPE_QUAL
- { $$ = tree_cons (NULL_TREE, $2, $1); }
- ;
-
-type_quals:
- /* empty */
- { $$ = NULL_TREE; }
- | type_quals TYPE_QUAL
- { $$ = tree_cons (NULL_TREE, $2, $1); }
- ;
-
-absdcl1: /* a nonempty absolute declarator */
- '(' absdcl1 ')'
- { $$ = $2; }
- /* `(typedef)1' is `int'. */
- | '*' type_quals absdcl1 %prec UNARY
- { $$ = make_pointer_declarator ($2, $3); }
- | '*' type_quals %prec UNARY
- { $$ = make_pointer_declarator ($2, NULL_TREE); }
- | absdcl1 '(' parmlist %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, $3, NULL_TREE); }
- | absdcl1 '[' expr ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, $3); }
- | absdcl1 '[' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, NULL_TREE); }
- | '(' parmlist %prec '.'
- { $$ = build_nt (CALL_EXPR, NULL_TREE, $2, NULL_TREE); }
- | '[' expr ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, NULL_TREE, $2); }
- | '[' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); }
- /* ??? It appears we have to support attributes here, however
- using prefix_attributes is wrong. */
- | attributes setattrs absdcl1
- { $$ = $3; }
- ;
-
-/* at least one statement, the first of which parses without error. */
-/* stmts is used only after decls, so an invalid first statement
- is actually regarded as an invalid decl and part of the decls. */
-
-stmts:
- lineno_stmt_or_labels
- {
- if (pedantic && $1)
- pedwarn ("ANSI C forbids label at end of compound statement");
- }
- ;
-
-lineno_stmt_or_labels:
- lineno_stmt_or_label
- | lineno_stmt_or_labels lineno_stmt_or_label
- { $$ = $2; }
- | lineno_stmt_or_labels errstmt
- { $$ = 0; }
- ;
-
-xstmts:
- /* empty */
- | stmts
- ;
-
-errstmt: error ';'
- ;
-
-pushlevel: /* empty */
- { emit_line_note (input_filename, lineno);
- pushlevel (0);
- clear_last_expr ();
- expand_start_bindings (0);
- }
- ;
-
-/* Read zero or more forward-declarations for labels
- that nested functions can jump to. */
-maybe_label_decls:
- /* empty */
- | label_decls
- { if (pedantic)
- pedwarn ("ANSI C forbids label declarations"); }
- ;
-
-label_decls:
- label_decl
- | label_decls label_decl
- ;
-
-label_decl:
- LABEL identifiers_or_typenames ';'
- { tree link;
- for (link = $2; link; link = TREE_CHAIN (link))
- {
- tree label = shadow_label (TREE_VALUE (link));
- C_DECLARED_LABEL_FLAG (label) = 1;
- declare_nonlocal_label (label);
- }
- }
- ;
-
-/* This is the body of a function definition.
- It causes syntax errors to ignore to the next openbrace. */
-compstmt_or_error:
- compstmt
- {}
- | error compstmt
- ;
-
-compstmt_start: '{' { compstmt_count++; }
-
-compstmt_nostart: '}'
- { $$ = convert (void_type_node, integer_zero_node); }
- | pushlevel maybe_label_decls decls xstmts '}'
- { emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), 1, 0);
- $$ = poplevel (1, 1, 0); }
- | pushlevel maybe_label_decls error '}'
- { emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), kept_level_p (), 0);
- $$ = poplevel (kept_level_p (), 0, 0); }
- | pushlevel maybe_label_decls stmts '}'
- { emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), kept_level_p (), 0);
- $$ = poplevel (kept_level_p (), 0, 0); }
- ;
-
-compstmt_primary_start:
- '(' '{'
- { 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_iterator_stack ();
- push_label_level ();
- $$ = expand_start_stmt_expr ();
- compstmt_count++;
- }
-
-compstmt: compstmt_start compstmt_nostart
- { $$ = $2; }
- ;
-
-/* Value is number of statements counted as of the closeparen. */
-simple_if:
- if_prefix lineno_labeled_stmt
-/* Make sure c_expand_end_cond is run once
- for each call to c_expand_start_cond.
- Otherwise a crash is likely. */
- | if_prefix error
- ;
-
-if_prefix:
- IF '(' expr ')'
- { emit_line_note ($<filename>-1, $<lineno>0);
- c_expand_start_cond (truthvalue_conversion ($3), 0,
- compstmt_count);
- $<itype>$ = stmt_count;
- if_stmt_file = $<filename>-1;
- if_stmt_line = $<lineno>0;
- position_after_white_space (); }
- ;
-
-/* This is a subroutine of stmt.
- It is used twice, once for valid DO statements
- and once for catching errors in parsing the end test. */
-do_stmt_start:
- DO
- { stmt_count++;
- compstmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- /* See comment in `while' alternative, above. */
- emit_nop ();
- expand_start_loop_continue_elsewhere (1);
- position_after_white_space (); }
- lineno_labeled_stmt WHILE
- { expand_loop_continue_here (); }
- ;
-
-save_filename:
- { $$ = input_filename; }
- ;
-
-save_lineno:
- { $$ = lineno; }
- ;
-
-lineno_labeled_stmt:
- save_filename save_lineno stmt
- { }
-/* | save_filename save_lineno error
- { }
-*/
- | save_filename save_lineno label lineno_labeled_stmt
- { }
- ;
-
-lineno_stmt_or_label:
- save_filename save_lineno stmt_or_label
- { $$ = $3; }
- ;
-
-stmt_or_label:
- stmt
- { $$ = 0; }
- | label
- { $$ = 1; }
- ;
-
-/* Parse a single real statement, not including any labels. */
-stmt:
- compstmt
- { stmt_count++; }
- | all_iter_stmt
- | expr ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
-/* It appears that this should not be done--that a non-lvalue array
- shouldn't get an error if the value isn't used.
- Section 3.2.2.1 says that an array lvalue gets converted to a pointer
- if it appears as a top-level expression,
- but says nothing about non-lvalue arrays. */
-#if 0
- /* Call default_conversion to get an error
- on referring to a register array if pedantic. */
- if (TREE_CODE (TREE_TYPE ($1)) == ARRAY_TYPE
- || TREE_CODE (TREE_TYPE ($1)) == FUNCTION_TYPE)
- $1 = default_conversion ($1);
-#endif
- iterator_expand ($1); }
- | simple_if ELSE
- { c_expand_start_else ();
- $<itype>1 = stmt_count;
- position_after_white_space (); }
- lineno_labeled_stmt
- { c_expand_end_cond ();
- if (extra_warnings && stmt_count == $<itype>1)
- warning ("empty body in an else-statement"); }
- | simple_if %prec IF
- { c_expand_end_cond ();
- /* This warning is here instead of in simple_if, because we
- do not want a warning if an empty if is followed by an
- else statement. Increment stmt_count so we don't
- give a second error if this is a nested `if'. */
- if (extra_warnings && stmt_count++ == $<itype>1)
- warning_with_file_and_line (if_stmt_file, if_stmt_line,
- "empty body in an if-statement"); }
-/* Make sure c_expand_end_cond is run once
- for each call to c_expand_start_cond.
- Otherwise a crash is likely. */
- | simple_if ELSE error
- { c_expand_end_cond (); }
- | WHILE
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- /* 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 (); }
- '(' expr ')'
- { /* 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 ($4));
- position_after_white_space (); }
- lineno_labeled_stmt
- { expand_end_loop (); }
- | do_stmt_start
- '(' expr ')' ';'
- { emit_line_note (input_filename, lineno);
- expand_exit_loop_if_false (NULL_PTR,
- truthvalue_conversion ($3));
- expand_end_loop (); }
-/* This rule is needed to make sure we end every loop we start. */
- | do_stmt_start error
- { expand_end_loop (); }
- | FOR
- '(' xexpr ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- /* See comment in `while' alternative, above. */
- emit_nop ();
- if ($3) c_expand_expr_stmt ($3);
- /* 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. */
- }
- xexpr ';'
- /* Can't emit now; wait till after expand_start_loop... */
- { $<lineno>7 = lineno;
- $<filename>$ = input_filename; }
- xexpr ')'
- {
- /* 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 ($<filename>8, $<lineno>7);
- if ($6)
- expand_exit_loop_if_false (NULL_PTR,
- truthvalue_conversion ($6));
- $<lineno>7 = lineno;
- $<filename>8 = input_filename;
- position_after_white_space (); }
- lineno_labeled_stmt
- { /* Emit the increment expression, with a line number. */
- emit_line_note ($<filename>8, $<lineno>7);
- expand_loop_continue_here ();
- if ($9)
- c_expand_expr_stmt ($9);
- expand_end_loop (); }
- | SWITCH '(' expr ')'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- c_expand_start_case ($3);
- position_after_white_space (); }
- lineno_labeled_stmt
- { expand_end_case ($3); }
- | BREAK ';'
- { tree break_stmt = build_break_stmt ();
- stmt_count++;
- genrtl_break_stmt (); }
- | CONTINUE ';'
- { tree continue_stmt = build_continue_stmt ();
- stmt_count++;
- genrtl_continue_stmt (); }
- | RETURN ';'
- { tree return_stmt = build_return_stmt (NULL_TREE);
- stmt_count++;
- genrtl_return_stmt (RETURN_EXPR(return_stmt)); }
- | RETURN expr ';'
- { tree return_stmt = build_return_stmt ($2);
- stmt_count++;
- genrtl_return_stmt (RETURN_EXPR(return_stmt)); }
- | ASM_KEYWORD maybe_type_qual '(' expr ')' ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- STRIP_NOPS ($4);
- if ((TREE_CODE ($4) == ADDR_EXPR
- && TREE_CODE (TREE_OPERAND ($4, 0)) == STRING_CST)
- || TREE_CODE ($4) == STRING_CST)
- expand_asm ($4);
- else
- error ("argument of `asm' is not a constant string"); }
- /* This is the case with just output operands. */
- | ASM_KEYWORD maybe_type_qual '(' expr ':' asm_operands ')' ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- c_expand_asm_operands ($4, $6, NULL_TREE, NULL_TREE,
- $2 == ridpointers[(int)RID_VOLATILE],
- input_filename, lineno); }
- /* This is the case with input operands as well. */
- | ASM_KEYWORD maybe_type_qual '(' expr ':' asm_operands ':' asm_operands ')' ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- c_expand_asm_operands ($4, $6, $8, NULL_TREE,
- $2 == ridpointers[(int)RID_VOLATILE],
- input_filename, lineno); }
- /* This is the case with clobbered registers as well. */
- | ASM_KEYWORD maybe_type_qual '(' expr ':' asm_operands ':'
- asm_operands ':' asm_clobbers ')' ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- c_expand_asm_operands ($4, $6, $8, $10,
- $2 == ridpointers[(int)RID_VOLATILE],
- input_filename, lineno); }
- | GOTO identifier ';'
- { tree decl;
- stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- decl = lookup_label ($2);
- if (decl != 0)
- {
- TREE_USED (decl) = 1;
- expand_goto (decl);
- }
- }
- | GOTO '*' expr ';'
- { if (pedantic)
- pedwarn ("ANSI C forbids `goto *expr;'");
- stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- expand_computed_goto (convert (ptr_type_node, $3)); }
- | ';'
- ;
-
-all_iter_stmt:
- all_iter_stmt_simple
-/* | all_iter_stmt_with_decl */
- ;
-
-all_iter_stmt_simple:
- FOR '(' primary ')'
- {
- /* The value returned by this action is */
- /* 1 if everything is OK */
- /* 0 in case of error or already bound iterator */
-
- $<itype>$ = 0;
- if (TREE_CODE ($3) != VAR_DECL)
- error ("invalid `for (ITERATOR)' syntax");
- else if (! ITERATOR_P ($3))
- error ("`%s' is not an iterator",
- IDENTIFIER_POINTER (DECL_NAME ($3)));
- else if (ITERATOR_BOUND_P ($3))
- error ("`for (%s)' inside expansion of same iterator",
- IDENTIFIER_POINTER (DECL_NAME ($3)));
- else
- {
- $<itype>$ = 1;
- iterator_for_loop_start ($3);
- }
- }
- lineno_labeled_stmt
- {
- if ($<itype>5)
- iterator_for_loop_end ($3);
- }
-
-/* This really should allow any kind of declaration,
- for generality. Fix it before turning it back on.
-
-all_iter_stmt_with_decl:
- FOR '(' ITERATOR pushlevel setspecs iterator_spec ')'
- {
-*/ /* The value returned by this action is */
- /* 1 if everything is OK */
- /* 0 in case of error or already bound iterator */
-/*
- iterator_for_loop_start ($6);
- }
- lineno_labeled_stmt
- {
- iterator_for_loop_end ($6);
- emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), 1, 0);
- $<ttype>$ = poplevel (1, 1, 0);
- }
-*/
-
-/* Any kind of label, including jump labels and case labels.
- ANSI C accepts labels only before statements, but we allow them
- also at the end of a compound statement. */
-
-label: CASE expr_no_commas ':'
- { tree case_label_tree = build_case_label ($2, NULL_TREE);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- }
- | CASE expr_no_commas ELLIPSIS expr_no_commas ':'
- { tree case_label_tree = build_case_label ($2, $4);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- }
- | DEFAULT ':'
- { tree case_label_tree = build_case_label (NULL_TREE, NULL_TREE);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- }
- | identifier ':' maybe_attribute
- { tree label = define_label (input_filename, lineno, $1);
- stmt_count++;
- emit_nop ();
- if (label)
- {
- expand_label (label);
- decl_attributes (label, $3, NULL_TREE);
- }
- position_after_white_space (); }
- ;
-
-/* Either a type-qualifier or nothing. First thing in an `asm' statement. */
-
-maybe_type_qual:
- /* empty */
- { emit_line_note (input_filename, lineno);
- $$ = NULL_TREE; }
- | TYPE_QUAL
- { emit_line_note (input_filename, lineno); }
- ;
-
-xexpr:
- /* empty */
- { $$ = NULL_TREE; }
- | expr
- ;
-
-/* These are the operands other than the first string and colon
- in asm ("addextend %2,%1": "=dm" (x), "0" (y), "g" (*x)) */
-asm_operands: /* empty */
- { $$ = NULL_TREE; }
- | nonnull_asm_operands
- ;
-
-nonnull_asm_operands:
- asm_operand
- | nonnull_asm_operands ',' asm_operand
- { $$ = chainon ($1, $3); }
- ;
-
-asm_operand:
- STRING '(' expr ')'
- { $$ = build_tree_list ($1, $3); }
- ;
-
-asm_clobbers:
- string
- { $$ = tree_cons (NULL_TREE, combine_strings ($1), NULL_TREE); }
- | asm_clobbers ',' string
- { $$ = tree_cons (NULL_TREE, combine_strings ($3), $1); }
- ;
-
-/* This is what appears inside the parens in a function declarator.
- Its value is a list of ..._TYPE nodes. */
-parmlist:
- { pushlevel (0);
- clear_parm_order ();
- declare_parm_level (0); }
- parmlist_1
- { $$ = $2;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); }
- ;
-
-parmlist_1:
- parmlist_2 ')'
- | parms ';'
- { 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 (); }
- parmlist_1
- { $$ = $4; }
- | error ')'
- { $$ = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); }
- ;
-
-/* This is what appears inside the parens in a function declarator.
- Is value is represented in the format that grokdeclarator expects. */
-parmlist_2: /* empty */
- { $$ = get_parm_info (0); }
- | ELLIPSIS
- { $$ = get_parm_info (0);
- /* Gcc used to allow this as an extension. However, it does
- not work for all targets, and thus has been disabled.
- Also, since func (...) and func () are indistinguishable,
- it caused problems with the code in expand_builtin which
- tries to verify that BUILT_IN_NEXT_ARG is being used
- correctly. */
- error ("ANSI C requires a named argument before `...'");
- }
- | parms
- { $$ = get_parm_info (1); }
- | parms ',' ELLIPSIS
- { $$ = get_parm_info (0); }
- ;
-
-parms:
- parm
- { push_parm_decl ($1); }
- | parms ',' parm
- { push_parm_decl ($3); }
- ;
-
-/* A single parameter declaration or parameter type name,
- as found in a parmlist. */
-parm:
- typed_declspecs setspecs parm_declarator maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $3),
- build_tree_list (prefix_attributes,
- $4));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs setspecs notype_declarator maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $3),
- build_tree_list (prefix_attributes,
- $4));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs setspecs absdcl maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $3),
- build_tree_list (prefix_attributes,
- $4));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_declarator maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $3),
- build_tree_list (prefix_attributes,
- $4));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
-
- | declmods setspecs absdcl maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $3),
- build_tree_list (prefix_attributes,
- $4));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- ;
-
-/* This is used in a function definition
- where either a parmlist or an identifier list is ok.
- Its value is a list of ..._TYPE nodes or a list of identifiers. */
-parmlist_or_identifiers:
- { pushlevel (0);
- clear_parm_order ();
- declare_parm_level (1); }
- parmlist_or_identifiers_1
- { $$ = $2;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); }
- ;
-
-parmlist_or_identifiers_1:
- parmlist_1
- | identifiers ')'
- { tree t;
- for (t = $1; t; t = TREE_CHAIN (t))
- if (TREE_VALUE (t) == NULL_TREE)
- error ("`...' in old-style identifier list");
- $$ = tree_cons (NULL_TREE, NULL_TREE, $1); }
- ;
-
-/* A nonempty list of identifiers. */
-identifiers:
- IDENTIFIER
- { $$ = build_tree_list (NULL_TREE, $1); }
- | identifiers ',' IDENTIFIER
- { $$ = chainon ($1, build_tree_list (NULL_TREE, $3)); }
- ;
-
-/* A nonempty list of identifiers, including typenames. */
-identifiers_or_typenames:
- identifier
- { $$ = build_tree_list (NULL_TREE, $1); }
- | identifiers_or_typenames ',' identifier
- { $$ = chainon ($1, build_tree_list (NULL_TREE, $3)); }
- ;
-
-extension:
- EXTENSION
- { $$ = SAVE_WARN_FLAGS();
- pedantic = 0;
- warn_pointer_arith = 0; }
- ;
-
-%%
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 1941973..923a122 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2000-07-12 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.in ($(PARSE_H)): Depend directly on parse.y.
+ * parse.c: Remove.
+ * parse.h: Likewise.
+
2000-07-11 Mark Mitchell <mark@codesourcery.com>
* class.c (layout_class_type): Add pointers to virtual bases after
diff --git a/gcc/cp/Makefile.in b/gcc/cp/Makefile.in
index df95a2d..efd65bd 100644
--- a/gcc/cp/Makefile.in
+++ b/gcc/cp/Makefile.in
@@ -220,8 +220,7 @@ parse.o : $(PARSE_C) $(CXX_TREE_H) $(srcdir)/../flags.h lex.h \
`echo $(PARSE_C) | sed 's,^\./,,'`
CONFLICTS = expect 33 shift/reduce conflicts and 58 reduce/reduce conflicts.
-$(PARSE_H) : $(PARSE_C)
-$(PARSE_C) : $(srcdir)/parse.y
+$(PARSE_H) $(PARSE_C) : $(srcdir)/parse.y
@echo $(CONFLICTS)
cd $(srcdir); $(BISON) $(BISONFLAGS) -d -o parse.c parse.y
cd $(srcdir); grep '^#define[ ]*YYEMPTY' parse.c >>parse.h
diff --git a/gcc/cp/parse.c b/gcc/cp/parse.c
deleted file mode 100644
index c0a9844..0000000
--- a/gcc/cp/parse.c
+++ /dev/null
@@ -1,8709 +0,0 @@
-
-/* A Bison parser, made from parse.y
- by GNU Bison version 1.28 */
-
-#define YYBISON 1 /* Identify Bison output. */
-
-#define IDENTIFIER 257
-#define TYPENAME 258
-#define SELFNAME 259
-#define PFUNCNAME 260
-#define SCSPEC 261
-#define TYPESPEC 262
-#define CV_QUALIFIER 263
-#define CONSTANT 264
-#define STRING 265
-#define ELLIPSIS 266
-#define SIZEOF 267
-#define ENUM 268
-#define IF 269
-#define ELSE 270
-#define WHILE 271
-#define DO 272
-#define FOR 273
-#define SWITCH 274
-#define CASE 275
-#define DEFAULT 276
-#define BREAK 277
-#define CONTINUE 278
-#define RETURN_KEYWORD 279
-#define GOTO 280
-#define ASM_KEYWORD 281
-#define TYPEOF 282
-#define ALIGNOF 283
-#define SIGOF 284
-#define ATTRIBUTE 285
-#define EXTENSION 286
-#define LABEL 287
-#define REALPART 288
-#define IMAGPART 289
-#define VA_ARG 290
-#define AGGR 291
-#define VISSPEC 292
-#define DELETE 293
-#define NEW 294
-#define THIS 295
-#define OPERATOR 296
-#define CXX_TRUE 297
-#define CXX_FALSE 298
-#define NAMESPACE 299
-#define TYPENAME_KEYWORD 300
-#define USING 301
-#define LEFT_RIGHT 302
-#define TEMPLATE 303
-#define TYPEID 304
-#define DYNAMIC_CAST 305
-#define STATIC_CAST 306
-#define REINTERPRET_CAST 307
-#define CONST_CAST 308
-#define SCOPE 309
-#define EMPTY 310
-#define PTYPENAME 311
-#define NSNAME 312
-#define THROW 313
-#define ASSIGN 314
-#define OROR 315
-#define ANDAND 316
-#define MIN_MAX 317
-#define EQCOMPARE 318
-#define ARITHCOMPARE 319
-#define LSHIFT 320
-#define RSHIFT 321
-#define POINTSAT_STAR 322
-#define DOT_STAR 323
-#define UNARY 324
-#define PLUSPLUS 325
-#define MINUSMINUS 326
-#define HYPERUNARY 327
-#define POINTSAT 328
-#define TRY 329
-#define CATCH 330
-#define EXTERN_LANG_STRING 331
-#define ALL 332
-#define PRE_PARSED_CLASS_DECL 333
-#define DEFARG 334
-#define DEFARG_MARKER 335
-#define PRE_PARSED_FUNCTION_DECL 336
-#define TYPENAME_DEFN 337
-#define IDENTIFIER_DEFN 338
-#define PTYPENAME_DEFN 339
-#define END_OF_LINE 340
-#define END_OF_SAVED_INPUT 341
-
-#line 30 "parse.y"
-
-/* Cause the `yydebug' variable to be defined. */
-#define YYDEBUG 1
-
-#include "config.h"
-
-#include "system.h"
-
-#include "tree.h"
-#include "input.h"
-#include "flags.h"
-#include "cp-tree.h"
-#include "lex.h"
-#include "output.h"
-#include "except.h"
-#include "toplev.h"
-#include "ggc.h"
-
-/* Since parsers are distinct for each language, put the language string
- definition here. (fnf) */
-const char * const language_string = "GNU C++";
-
-extern struct obstack permanent_obstack;
-
-extern int end_of_file;
-
-/* Like YYERROR but do call yyerror. */
-#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
-
-#define OP0(NODE) (TREE_OPERAND (NODE, 0))
-#define OP1(NODE) (TREE_OPERAND (NODE, 1))
-
-/* Contains the statement keyword (if/while/do) to include in an
- error message if the user supplies an empty conditional expression. */
-static const char *cond_stmt_keyword;
-
-/* Nonzero if we have an `extern "C"' acting as an extern specifier. */
-int have_extern_spec;
-int used_extern_spec;
-
-/* List of types and structure classes of the current declaration. */
-static tree current_declspecs;
-
-/* List of prefix attributes in effect.
- Prefix attributes are parsed by the reserved_declspecs and declmods
- rules. They create a list that contains *both* declspecs and attrs. */
-/* ??? It is not clear yet that all cases where an attribute can now appear in
- a declspec list have been updated. */
-static tree prefix_attributes;
-
-/* When defining an aggregate, this is the kind of the most recent one
- being defined. (For example, this might be class_type_node.) */
-static tree current_aggr;
-
-/* When defining an enumeration, this is the type of the enumeration. */
-static tree current_enum_type;
-
-static tree empty_parms PARAMS ((void));
-static tree parse_decl0 PARAMS ((tree, tree, tree, tree, int));
-static tree parse_decl PARAMS ((tree, tree, int));
-static void parse_end_decl PARAMS ((tree, tree, tree));
-static tree parse_field0 PARAMS ((tree, tree, tree, tree, tree, tree));
-static tree parse_field PARAMS ((tree, tree, tree, tree));
-static tree parse_bitfield0 PARAMS ((tree, tree, tree, tree, tree));
-static tree parse_bitfield PARAMS ((tree, tree, tree));
-static tree parse_method PARAMS ((tree, tree, tree));
-static void frob_specs PARAMS ((tree, tree));
-
-/* Cons up an empty parameter list. */
-static inline tree
-empty_parms ()
-{
- tree parms;
-
- if (strict_prototype
- || current_class_type != NULL)
- parms = void_list_node;
- else
- parms = NULL_TREE;
- return parms;
-}
-
-/* Record the decl-specifiers, attributes and type lookups from the
- decl-specifier-seq in a declaration. */
-
-static void
-frob_specs (specs_attrs, lookups)
- tree specs_attrs, lookups;
-{
- save_type_access_control (lookups);
- split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
- if (current_declspecs
- && TREE_CODE (current_declspecs) != TREE_LIST)
- current_declspecs = build_decl_list (NULL_TREE, current_declspecs);
- if (have_extern_spec && !used_extern_spec)
- {
- current_declspecs = decl_tree_cons (NULL_TREE,
- get_identifier ("extern"),
- current_declspecs);
- used_extern_spec = 1;
- }
-}
-
-static tree
-parse_decl (declarator, attributes, initialized)
- tree declarator, attributes;
- int initialized;
-{
- return start_decl (declarator, current_declspecs, initialized,
- attributes, prefix_attributes);
-}
-
-static tree
-parse_decl0 (declarator, specs_attrs, lookups, attributes, initialized)
- tree declarator, specs_attrs, lookups, attributes;
- int initialized;
-{
- frob_specs (specs_attrs, lookups);
- return parse_decl (declarator, attributes, initialized);
-}
-
-static void
-parse_end_decl (decl, init, asmspec)
- tree decl, init, asmspec;
-{
- /* If decl is NULL_TREE, then this was a variable declaration using
- () syntax for the initializer, so we handled it in grokdeclarator. */
- if (decl)
- decl_type_access_control (decl);
- cp_finish_decl (decl, init, asmspec, init ? LOOKUP_ONLYCONVERTING : 0);
-}
-
-static tree
-parse_field (declarator, attributes, asmspec, init)
- tree declarator, attributes, asmspec, init;
-{
- tree d = grokfield (declarator, current_declspecs, init, asmspec,
- build_tree_list (attributes, prefix_attributes));
- decl_type_access_control (d);
- return d;
-}
-
-static tree
-parse_field0 (declarator, specs_attrs, lookups, attributes, asmspec, init)
- tree declarator, specs_attrs, lookups, attributes, asmspec, init;
-{
- frob_specs (specs_attrs, lookups);
- return parse_field (declarator, attributes, asmspec, init);
-}
-
-static tree
-parse_bitfield (declarator, attributes, width)
- tree declarator, attributes, width;
-{
- tree d = grokbitfield (declarator, current_declspecs, width);
- cplus_decl_attributes (d, attributes, prefix_attributes);
- decl_type_access_control (d);
- return d;
-}
-
-static tree
-parse_bitfield0 (declarator, specs_attrs, lookups, attributes, width)
- tree declarator, specs_attrs, lookups, attributes, width;
-{
- frob_specs (specs_attrs, lookups);
- return parse_bitfield (declarator, attributes, width);
-}
-
-static tree
-parse_method (declarator, specs_attrs, lookups)
- tree declarator, specs_attrs, lookups;
-{
- tree d;
- frob_specs (specs_attrs, lookups);
- d = start_method (current_declspecs, declarator, prefix_attributes);
- decl_type_access_control (d);
- return d;
-}
-
-void
-cp_parse_init ()
-{
- ggc_add_tree_root (&current_declspecs, 1);
- ggc_add_tree_root (&prefix_attributes, 1);
- ggc_add_tree_root (&current_aggr, 1);
- ggc_add_tree_root (&current_enum_type, 1);
-}
-
-#line 221 "parse.y"
-typedef union {
- long itype;
- tree ttype;
- char *strtype;
- enum tree_code code;
- flagged_type_tree ftype;
- struct pending_inline *pi;
-} YYSTYPE;
-#line 426 "parse.y"
-
-/* 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 PARAMS ((FILE *, int, YYSTYPE));
-#include <stdio.h>
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
-#endif
-
-
-
-#define YYFINAL 1730
-#define YYFLAG -32768
-#define YYNTBASE 112
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 341 ? yytranslate[x] : 398)
-
-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, 110, 2, 2, 2, 83, 71, 2, 93,
- 108, 81, 79, 60, 80, 92, 82, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
- 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 94, 2, 111, 70, 2, 2, 2, 2, 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, 69, 109, 89, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 62, 64, 67, 68, 72, 73, 74, 77,
- 78, 84, 85, 86, 87, 88, 90, 91, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107
-};
-
-#if YYDEBUG != 0
-static const short yyprhs[] = { 0,
- 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
- 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
- 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
- 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
- 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
- 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
- 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
- 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
- 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
- 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
- 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
- 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
- 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
- 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
- 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
- 485, 487, 488, 495, 496, 503, 504, 510, 511, 517,
- 518, 526, 527, 535, 536, 543, 544, 551, 552, 553,
- 559, 565, 567, 569, 575, 581, 582, 584, 586, 587,
- 589, 591, 595, 597, 599, 601, 603, 605, 607, 609,
- 611, 613, 615, 617, 621, 623, 627, 628, 630, 632,
- 633, 641, 643, 645, 649, 654, 658, 659, 663, 665,
- 669, 673, 677, 681, 683, 685, 687, 690, 693, 696,
- 699, 702, 705, 708, 713, 716, 721, 724, 728, 732,
- 737, 742, 748, 754, 761, 764, 769, 775, 778, 781,
- 788, 792, 796, 800, 802, 806, 809, 813, 818, 820,
- 823, 829, 831, 835, 839, 843, 847, 851, 855, 859,
- 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
- 903, 907, 913, 917, 921, 923, 926, 928, 932, 936,
- 940, 944, 948, 952, 956, 960, 964, 968, 972, 976,
- 980, 984, 988, 992, 996, 1000, 1006, 1010, 1014, 1016,
- 1019, 1023, 1027, 1029, 1031, 1033, 1035, 1037, 1038, 1044,
- 1050, 1056, 1062, 1068, 1070, 1072, 1074, 1076, 1079, 1081,
- 1084, 1087, 1091, 1096, 1101, 1103, 1105, 1107, 1111, 1113,
- 1115, 1117, 1119, 1123, 1127, 1131, 1132, 1137, 1142, 1145,
- 1150, 1153, 1158, 1161, 1164, 1166, 1171, 1173, 1181, 1189,
- 1197, 1205, 1210, 1215, 1218, 1221, 1224, 1226, 1231, 1234,
- 1237, 1243, 1247, 1250, 1253, 1259, 1263, 1269, 1273, 1278,
- 1285, 1288, 1290, 1293, 1295, 1298, 1300, 1302, 1304, 1307,
- 1308, 1311, 1314, 1318, 1322, 1326, 1329, 1332, 1335, 1337,
- 1339, 1341, 1344, 1347, 1350, 1353, 1355, 1357, 1359, 1361,
- 1364, 1367, 1371, 1375, 1379, 1384, 1386, 1389, 1392, 1395,
- 1397, 1399, 1401, 1404, 1407, 1410, 1412, 1414, 1417, 1420,
- 1424, 1426, 1429, 1431, 1433, 1435, 1440, 1445, 1450, 1455,
- 1457, 1459, 1461, 1463, 1467, 1469, 1473, 1475, 1479, 1480,
- 1485, 1486, 1493, 1497, 1498, 1503, 1505, 1509, 1513, 1514,
- 1519, 1523, 1524, 1526, 1528, 1531, 1538, 1540, 1544, 1545,
- 1547, 1552, 1559, 1564, 1566, 1568, 1570, 1572, 1574, 1578,
- 1579, 1582, 1584, 1587, 1591, 1596, 1598, 1600, 1604, 1609,
- 1613, 1619, 1621, 1626, 1630, 1634, 1635, 1639, 1643, 1647,
- 1648, 1651, 1654, 1655, 1662, 1663, 1669, 1672, 1675, 1678,
- 1679, 1680, 1681, 1692, 1694, 1695, 1697, 1698, 1700, 1702,
- 1705, 1708, 1711, 1714, 1717, 1720, 1723, 1726, 1729, 1733,
- 1738, 1742, 1745, 1749, 1751, 1752, 1756, 1759, 1762, 1764,
- 1766, 1767, 1770, 1774, 1776, 1781, 1783, 1787, 1789, 1791,
- 1794, 1797, 1801, 1805, 1806, 1808, 1812, 1815, 1818, 1820,
- 1823, 1826, 1829, 1832, 1835, 1838, 1841, 1843, 1846, 1849,
- 1853, 1856, 1859, 1864, 1869, 1872, 1874, 1880, 1885, 1887,
- 1888, 1890, 1894, 1895, 1897, 1901, 1903, 1905, 1907, 1909,
- 1914, 1919, 1924, 1929, 1934, 1938, 1943, 1948, 1953, 1958,
- 1962, 1965, 1967, 1969, 1973, 1975, 1979, 1982, 1984, 1991,
- 1992, 1995, 1997, 2000, 2004, 2008, 2010, 2014, 2016, 2019,
- 2023, 2027, 2030, 2033, 2037, 2039, 2044, 2049, 2053, 2057,
- 2060, 2062, 2064, 2067, 2069, 2071, 2074, 2077, 2079, 2082,
- 2086, 2090, 2093, 2096, 2100, 2102, 2106, 2110, 2113, 2116,
- 2120, 2122, 2127, 2131, 2136, 2140, 2142, 2145, 2148, 2151,
- 2154, 2157, 2160, 2163, 2165, 2168, 2173, 2178, 2181, 2183,
- 2185, 2187, 2189, 2192, 2197, 2200, 2203, 2206, 2209, 2211,
- 2214, 2217, 2220, 2223, 2227, 2229, 2232, 2236, 2241, 2244,
- 2247, 2250, 2253, 2256, 2259, 2264, 2267, 2269, 2272, 2275,
- 2279, 2281, 2285, 2288, 2292, 2295, 2298, 2302, 2304, 2308,
- 2313, 2315, 2318, 2322, 2325, 2328, 2330, 2334, 2337, 2340,
- 2342, 2345, 2349, 2351, 2355, 2362, 2367, 2372, 2376, 2382,
- 2386, 2390, 2394, 2397, 2399, 2401, 2404, 2407, 2410, 2411,
- 2413, 2415, 2418, 2422, 2424, 2427, 2428, 2432, 2433, 2434,
- 2440, 2442, 2443, 2446, 2448, 2450, 2452, 2455, 2456, 2461,
- 2463, 2464, 2465, 2471, 2472, 2473, 2481, 2482, 2483, 2484,
- 2485, 2498, 2499, 2500, 2508, 2509, 2515, 2516, 2524, 2525,
- 2530, 2533, 2536, 2539, 2543, 2550, 2559, 2570, 2579, 2592,
- 2603, 2614, 2619, 2623, 2626, 2629, 2631, 2633, 2635, 2637,
- 2639, 2640, 2641, 2648, 2649, 2650, 2656, 2658, 2661, 2662,
- 2663, 2669, 2671, 2673, 2677, 2681, 2684, 2687, 2690, 2693,
- 2696, 2698, 2701, 2702, 2704, 2705, 2707, 2709, 2710, 2712,
- 2714, 2718, 2723, 2725, 2729, 2730, 2732, 2734, 2736, 2739,
- 2742, 2745, 2747, 2750, 2753, 2754, 2758, 2760, 2762, 2764,
- 2767, 2770, 2773, 2778, 2781, 2784, 2787, 2790, 2793, 2796,
- 2798, 2801, 2803, 2806, 2808, 2810, 2811, 2812, 2814, 2815,
- 2820, 2823, 2825, 2827, 2831, 2832, 2836, 2840, 2844, 2846,
- 2849, 2852, 2855, 2858, 2861, 2864, 2867, 2870, 2873, 2876,
- 2879, 2882, 2885, 2888, 2891, 2894, 2897, 2900, 2903, 2906,
- 2909, 2912, 2915, 2919, 2922, 2925, 2928, 2931, 2935, 2938,
- 2941, 2946, 2951, 2955
-};
-
-static const short yyrhs[] = { -1,
- 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
- 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
- 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
- 93, 218, 108, 61, 0, 133, 59, 115, 109, 0,
- 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
- 0, 0, 45, 163, 59, 123, 115, 109, 0, 0,
- 45, 59, 124, 115, 109, 0, 125, 0, 127, 61,
- 0, 129, 0, 118, 122, 0, 0, 45, 163, 65,
- 126, 132, 61, 0, 47, 311, 0, 47, 325, 311,
- 0, 47, 325, 208, 0, 47, 131, 163, 0, 47,
- 325, 163, 0, 47, 325, 131, 163, 0, 0, 47,
- 45, 130, 132, 61, 0, 58, 55, 0, 131, 58,
- 55, 0, 208, 0, 311, 0, 325, 311, 0, 325,
- 208, 0, 97, 0, 133, 97, 0, 0, 49, 75,
- 135, 136, 76, 0, 49, 75, 76, 0, 140, 0,
- 136, 60, 140, 0, 163, 0, 0, 268, 137, 0,
- 46, 137, 0, 134, 268, 137, 0, 138, 0, 138,
- 65, 224, 0, 389, 0, 389, 65, 203, 0, 139,
- 0, 139, 65, 184, 0, 134, 142, 0, 134, 1,
- 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
- 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
- 142, 0, 235, 61, 0, 228, 234, 61, 0, 225,
- 233, 61, 0, 260, 61, 0, 235, 61, 0, 228,
- 234, 61, 0, 225, 233, 61, 0, 228, 61, 0,
- 166, 61, 0, 225, 61, 0, 1, 61, 0, 1,
- 109, 0, 61, 0, 219, 0, 159, 0, 0, 158,
- 0, 158, 61, 0, 0, 107, 0, 154, 146, 145,
- 336, 0, 154, 146, 360, 0, 154, 146, 1, 0,
- 0, 316, 5, 93, 150, 380, 108, 298, 392, 0,
- 316, 5, 48, 298, 392, 0, 0, 325, 316, 5,
- 93, 151, 380, 108, 298, 392, 0, 325, 316, 5,
- 48, 298, 392, 0, 0, 316, 179, 93, 152, 380,
- 108, 298, 392, 0, 316, 179, 48, 298, 392, 0,
- 0, 325, 316, 179, 93, 153, 380, 108, 298, 392,
- 0, 325, 316, 179, 48, 298, 392, 0, 225, 222,
- 0, 228, 308, 0, 308, 0, 228, 149, 0, 149,
- 0, 5, 93, 380, 108, 298, 392, 0, 5, 48,
- 298, 392, 0, 179, 93, 380, 108, 298, 392, 0,
- 179, 48, 298, 392, 0, 228, 155, 0, 155, 0,
- 225, 222, 0, 228, 308, 0, 308, 0, 228, 149,
- 0, 149, 0, 25, 3, 0, 157, 252, 0, 157,
- 93, 196, 108, 0, 157, 48, 0, 63, 160, 161,
- 0, 0, 0, 162, 0, 161, 60, 162, 0, 161,
- 1, 0, 93, 196, 108, 0, 48, 0, 164, 93,
- 196, 108, 0, 164, 48, 0, 304, 93, 196, 108,
- 0, 304, 48, 0, 318, 93, 196, 108, 0, 318,
- 48, 0, 1, 0, 3, 0, 4, 0, 5, 0,
- 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
- 104, 0, 103, 0, 105, 0, 0, 49, 175, 231,
- 61, 167, 176, 0, 0, 49, 175, 225, 222, 168,
- 176, 0, 0, 49, 175, 308, 169, 176, 0, 0,
- 49, 175, 149, 170, 176, 0, 0, 7, 49, 175,
- 231, 61, 171, 176, 0, 0, 7, 49, 175, 225,
- 222, 172, 176, 0, 0, 7, 49, 175, 308, 173,
- 176, 0, 0, 7, 49, 175, 149, 174, 176, 0,
- 0, 0, 57, 75, 182, 181, 180, 0, 4, 75,
- 182, 181, 180, 0, 179, 0, 177, 0, 163, 75,
- 182, 76, 180, 0, 5, 75, 182, 181, 180, 0,
- 0, 76, 0, 78, 0, 0, 183, 0, 184, 0,
- 183, 60, 184, 0, 224, 0, 57, 0, 203, 0,
- 80, 0, 79, 0, 87, 0, 88, 0, 110, 0,
- 195, 0, 202, 0, 48, 0, 93, 186, 108, 0,
- 48, 0, 93, 190, 108, 0, 0, 190, 0, 1,
- 0, 0, 370, 222, 236, 245, 65, 191, 253, 0,
- 186, 0, 109, 0, 333, 331, 109, 0, 333, 331,
- 1, 109, 0, 333, 1, 109, 0, 0, 59, 194,
- 192, 0, 345, 0, 202, 60, 202, 0, 202, 60,
- 1, 0, 195, 60, 202, 0, 195, 60, 1, 0,
- 202, 0, 195, 0, 213, 0, 118, 201, 0, 81,
- 201, 0, 71, 201, 0, 89, 201, 0, 185, 201,
- 0, 68, 163, 0, 13, 197, 0, 13, 93, 224,
- 108, 0, 29, 197, 0, 29, 93, 224, 108, 0,
- 215, 297, 0, 215, 297, 199, 0, 215, 198, 297,
- 0, 215, 198, 297, 199, 0, 215, 93, 224, 108,
- 0, 215, 93, 224, 108, 199, 0, 215, 198, 93,
- 224, 108, 0, 215, 198, 93, 224, 108, 199, 0,
- 216, 201, 0, 216, 94, 111, 201, 0, 216, 94,
- 186, 111, 201, 0, 34, 201, 0, 35, 201, 0,
- 36, 93, 202, 60, 224, 108, 0, 93, 196, 108,
- 0, 59, 196, 109, 0, 93, 196, 108, 0, 48,
- 0, 93, 231, 108, 0, 65, 253, 0, 93, 224,
- 108, 0, 200, 93, 224, 108, 0, 197, 0, 200,
- 197, 0, 200, 59, 254, 266, 109, 0, 201, 0,
- 202, 84, 202, 0, 202, 85, 202, 0, 202, 79,
- 202, 0, 202, 80, 202, 0, 202, 81, 202, 0,
- 202, 82, 202, 0, 202, 83, 202, 0, 202, 77,
- 202, 0, 202, 78, 202, 0, 202, 74, 202, 0,
- 202, 75, 202, 0, 202, 76, 202, 0, 202, 73,
- 202, 0, 202, 72, 202, 0, 202, 71, 202, 0,
- 202, 69, 202, 0, 202, 70, 202, 0, 202, 68,
- 202, 0, 202, 67, 202, 0, 202, 66, 375, 63,
- 202, 0, 202, 65, 202, 0, 202, 64, 202, 0,
- 62, 0, 62, 202, 0, 201, 0, 203, 84, 203,
- 0, 203, 85, 203, 0, 203, 79, 203, 0, 203,
- 80, 203, 0, 203, 81, 203, 0, 203, 82, 203,
- 0, 203, 83, 203, 0, 203, 77, 203, 0, 203,
- 78, 203, 0, 203, 74, 203, 0, 203, 75, 203,
- 0, 203, 73, 203, 0, 203, 72, 203, 0, 203,
- 71, 203, 0, 203, 69, 203, 0, 203, 70, 203,
- 0, 203, 68, 203, 0, 203, 67, 203, 0, 203,
- 66, 375, 63, 203, 0, 203, 65, 203, 0, 203,
- 64, 203, 0, 62, 0, 62, 203, 0, 89, 390,
- 163, 0, 89, 390, 177, 0, 206, 0, 397, 0,
- 3, 0, 57, 0, 58, 0, 0, 6, 75, 205,
- 182, 181, 0, 397, 75, 205, 182, 181, 0, 49,
- 163, 75, 182, 181, 0, 49, 6, 75, 182, 181,
- 0, 49, 397, 75, 182, 181, 0, 204, 0, 4,
- 0, 5, 0, 210, 0, 246, 210, 0, 204, 0,
- 81, 209, 0, 71, 209, 0, 93, 209, 108, 0,
- 3, 75, 182, 181, 0, 58, 75, 183, 181, 0,
- 310, 0, 204, 0, 211, 0, 93, 209, 108, 0,
- 204, 0, 10, 0, 217, 0, 218, 0, 93, 186,
- 108, 0, 93, 209, 108, 0, 93, 1, 108, 0,
- 0, 93, 214, 337, 108, 0, 204, 93, 196, 108,
- 0, 204, 48, 0, 213, 93, 196, 108, 0, 213,
- 48, 0, 213, 94, 186, 111, 0, 213, 87, 0,
- 213, 88, 0, 41, 0, 9, 93, 196, 108, 0,
- 314, 0, 51, 75, 224, 76, 93, 186, 108, 0,
- 52, 75, 224, 76, 93, 186, 108, 0, 53, 75,
- 224, 76, 93, 186, 108, 0, 54, 75, 224, 76,
- 93, 186, 108, 0, 50, 93, 186, 108, 0, 50,
- 93, 224, 108, 0, 325, 3, 0, 325, 206, 0,
- 325, 397, 0, 313, 0, 313, 93, 196, 108, 0,
- 313, 48, 0, 220, 207, 0, 220, 207, 93, 196,
- 108, 0, 220, 207, 48, 0, 220, 208, 0, 220,
- 313, 0, 220, 208, 93, 196, 108, 0, 220, 208,
- 48, 0, 220, 313, 93, 196, 108, 0, 220, 313,
- 48, 0, 220, 89, 8, 48, 0, 220, 8, 55,
- 89, 8, 48, 0, 220, 1, 0, 40, 0, 325,
- 40, 0, 39, 0, 325, 216, 0, 43, 0, 44,
- 0, 11, 0, 218, 11, 0, 0, 213, 92, 0,
- 213, 91, 0, 231, 233, 61, 0, 225, 233, 61,
- 0, 228, 234, 61, 0, 225, 61, 0, 228, 61,
- 0, 118, 221, 0, 302, 0, 308, 0, 48, 0,
- 223, 48, 0, 229, 329, 0, 299, 329, 0, 231,
- 329, 0, 229, 0, 299, 0, 229, 0, 226, 0,
- 228, 231, 0, 231, 227, 0, 231, 230, 227, 0,
- 228, 231, 227, 0, 228, 231, 230, 0, 228, 231,
- 230, 227, 0, 7, 0, 227, 232, 0, 227, 7,
- 0, 227, 246, 0, 246, 0, 299, 0, 7, 0,
- 228, 9, 0, 228, 7, 0, 228, 246, 0, 246,
- 0, 231, 0, 299, 231, 0, 231, 230, 0, 299,
- 231, 230, 0, 232, 0, 230, 232, 0, 260, 0,
- 8, 0, 305, 0, 28, 93, 186, 108, 0, 28,
- 93, 224, 108, 0, 30, 93, 186, 108, 0, 30,
- 93, 224, 108, 0, 8, 0, 9, 0, 260, 0,
- 241, 0, 233, 60, 237, 0, 242, 0, 234, 60,
- 237, 0, 243, 0, 235, 60, 237, 0, 0, 119,
- 93, 218, 108, 0, 0, 222, 236, 245, 65, 238,
- 253, 0, 222, 236, 245, 0, 0, 245, 65, 240,
- 253, 0, 245, 0, 222, 236, 239, 0, 308, 236,
- 239, 0, 0, 308, 236, 244, 239, 0, 149, 236,
- 245, 0, 0, 246, 0, 247, 0, 246, 247, 0,
- 31, 93, 93, 248, 108, 108, 0, 249, 0, 248,
- 60, 249, 0, 0, 250, 0, 250, 93, 3, 108,
- 0, 250, 93, 3, 60, 196, 108, 0, 250, 93,
- 196, 108, 0, 163, 0, 7, 0, 8, 0, 9,
- 0, 163, 0, 251, 60, 163, 0, 0, 65, 253,
- 0, 202, 0, 59, 109, 0, 59, 254, 109, 0,
- 59, 254, 60, 109, 0, 1, 0, 253, 0, 254,
- 60, 253, 0, 94, 202, 111, 253, 0, 163, 63,
- 253, 0, 254, 60, 163, 63, 253, 0, 102, 0,
- 255, 146, 145, 336, 0, 255, 146, 360, 0, 255,
- 146, 1, 0, 0, 257, 256, 147, 0, 101, 202,
- 107, 0, 101, 1, 107, 0, 0, 259, 258, 0,
- 259, 1, 0, 0, 14, 163, 59, 261, 294, 109,
- 0, 0, 14, 59, 262, 294, 109, 0, 14, 163,
- 0, 14, 323, 0, 46, 318, 0, 0, 0, 0,
- 275, 59, 263, 281, 109, 245, 264, 259, 265, 257,
- 0, 275, 0, 0, 60, 0, 0, 60, 0, 37,
- 0, 268, 7, 0, 268, 8, 0, 268, 9, 0,
- 268, 37, 0, 268, 246, 0, 268, 163, 0, 268,
- 165, 0, 269, 59, 0, 269, 63, 0, 268, 316,
- 163, 0, 268, 325, 316, 163, 0, 268, 325, 163,
- 0, 268, 178, 0, 268, 316, 178, 0, 269, 0,
- 0, 270, 273, 276, 0, 271, 276, 0, 268, 59,
- 0, 274, 0, 272, 0, 0, 63, 390, 0, 63,
- 390, 277, 0, 278, 0, 277, 60, 390, 278, 0,
- 279, 0, 280, 390, 279, 0, 318, 0, 304, 0,
- 38, 390, 0, 7, 390, 0, 280, 38, 390, 0,
- 280, 7, 390, 0, 0, 283, 0, 281, 282, 283,
- 0, 281, 282, 0, 38, 63, 0, 284, 0, 283,
- 284, 0, 285, 61, 0, 285, 109, 0, 156, 63,
- 0, 156, 95, 0, 156, 25, 0, 156, 59, 0,
- 61, 0, 118, 284, 0, 134, 284, 0, 134, 225,
- 61, 0, 225, 286, 0, 228, 287, 0, 308, 236,
- 245, 252, 0, 149, 236, 245, 252, 0, 63, 202,
- 0, 1, 0, 228, 155, 236, 245, 252, 0, 155,
- 236, 245, 252, 0, 127, 0, 0, 288, 0, 286,
- 60, 289, 0, 0, 291, 0, 287, 60, 293, 0,
- 290, 0, 291, 0, 292, 0, 293, 0, 302, 236,
- 245, 252, 0, 4, 63, 202, 245, 0, 308, 236,
- 245, 252, 0, 149, 236, 245, 252, 0, 3, 63,
- 202, 245, 0, 63, 202, 245, 0, 302, 236, 245,
- 252, 0, 4, 63, 202, 245, 0, 308, 236, 245,
- 252, 0, 3, 63, 202, 245, 0, 63, 202, 245,
- 0, 295, 267, 0, 267, 0, 296, 0, 295, 60,
- 296, 0, 163, 0, 163, 65, 202, 0, 370, 326,
- 0, 370, 0, 93, 224, 108, 94, 186, 111, 0,
- 0, 298, 9, 0, 9, 0, 299, 9, 0, 93,
- 196, 108, 0, 93, 380, 108, 0, 48, 0, 93,
- 1, 108, 0, 302, 0, 246, 302, 0, 81, 299,
- 301, 0, 71, 299, 301, 0, 81, 301, 0, 71,
- 301, 0, 324, 298, 301, 0, 303, 0, 303, 300,
- 298, 392, 0, 303, 94, 186, 111, 0, 303, 94,
- 111, 0, 93, 301, 108, 0, 316, 315, 0, 315,
- 0, 315, 0, 325, 315, 0, 304, 0, 306, 0,
- 325, 306, 0, 316, 315, 0, 308, 0, 246, 308,
- 0, 81, 299, 307, 0, 71, 299, 307, 0, 81,
- 307, 0, 71, 307, 0, 324, 298, 307, 0, 212,
- 0, 81, 299, 307, 0, 71, 299, 307, 0, 81,
- 309, 0, 71, 309, 0, 324, 298, 307, 0, 310,
- 0, 212, 300, 298, 392, 0, 93, 309, 108, 0,
- 212, 94, 186, 111, 0, 212, 94, 111, 0, 312,
- 0, 325, 312, 0, 325, 204, 0, 316, 211, 0,
- 316, 208, 0, 316, 207, 0, 316, 204, 0, 316,
- 207, 0, 312, 0, 325, 312, 0, 231, 93, 196,
- 108, 0, 231, 93, 209, 108, 0, 231, 223, 0,
- 4, 0, 5, 0, 177, 0, 317, 0, 316, 317,
- 0, 316, 49, 322, 55, 0, 4, 55, 0, 5,
- 55, 0, 58, 55, 0, 177, 55, 0, 319, 0,
- 325, 319, 0, 320, 163, 0, 320, 177, 0, 320,
- 322, 0, 320, 49, 322, 0, 321, 0, 320, 321,
- 0, 320, 322, 55, 0, 320, 49, 322, 55, 0,
- 4, 55, 0, 5, 55, 0, 177, 55, 0, 57,
- 55, 0, 3, 55, 0, 58, 55, 0, 163, 75,
- 182, 181, 0, 325, 315, 0, 306, 0, 325, 306,
- 0, 316, 81, 0, 325, 316, 81, 0, 55, 0,
- 81, 298, 326, 0, 81, 298, 0, 71, 298, 326,
- 0, 71, 298, 0, 324, 298, 0, 324, 298, 326,
- 0, 327, 0, 94, 186, 111, 0, 327, 94, 186,
- 111, 0, 329, 0, 246, 329, 0, 81, 299, 328,
- 0, 81, 328, 0, 81, 299, 0, 81, 0, 71,
- 299, 328, 0, 71, 328, 0, 71, 299, 0, 71,
- 0, 324, 298, 0, 324, 298, 328, 0, 330, 0,
- 93, 328, 108, 0, 330, 93, 380, 108, 298, 392,
- 0, 330, 48, 298, 392, 0, 330, 94, 186, 111,
- 0, 330, 94, 111, 0, 93, 381, 108, 298, 392,
- 0, 200, 298, 392, 0, 223, 298, 392, 0, 94,
- 186, 111, 0, 94, 111, 0, 344, 0, 332, 0,
- 331, 344, 0, 331, 332, 0, 1, 61, 0, 0,
- 334, 0, 335, 0, 334, 335, 0, 33, 251, 61,
- 0, 337, 0, 1, 337, 0, 0, 59, 338, 192,
- 0, 0, 0, 15, 340, 188, 341, 342, 0, 337,
- 0, 0, 343, 345, 0, 337, 0, 345, 0, 221,
- 0, 186, 61, 0, 0, 339, 16, 346, 342, 0,
- 339, 0, 0, 0, 17, 347, 188, 348, 193, 0,
- 0, 0, 18, 349, 342, 17, 350, 187, 61, 0,
- 0, 0, 0, 0, 19, 351, 93, 373, 352, 189,
- 61, 353, 375, 108, 354, 193, 0, 0, 0, 20,
- 355, 93, 190, 108, 356, 342, 0, 0, 21, 202,
- 63, 357, 344, 0, 0, 21, 202, 12, 202, 63,
- 358, 344, 0, 0, 22, 63, 359, 344, 0, 23,
- 61, 0, 24, 61, 0, 25, 61, 0, 25, 186,
- 61, 0, 119, 374, 93, 218, 108, 61, 0, 119,
- 374, 93, 218, 63, 376, 108, 61, 0, 119, 374,
- 93, 218, 63, 376, 63, 376, 108, 61, 0, 119,
- 374, 93, 218, 55, 376, 108, 61, 0, 119, 374,
- 93, 218, 63, 376, 63, 376, 63, 379, 108, 61,
- 0, 119, 374, 93, 218, 55, 376, 63, 379, 108,
- 61, 0, 119, 374, 93, 218, 63, 376, 55, 379,
- 108, 61, 0, 26, 81, 186, 61, 0, 26, 163,
- 61, 0, 372, 344, 0, 372, 109, 0, 61, 0,
- 363, 0, 129, 0, 128, 0, 125, 0, 0, 0,
- 95, 361, 145, 337, 362, 366, 0, 0, 0, 95,
- 364, 337, 365, 366, 0, 367, 0, 366, 367, 0,
- 0, 0, 96, 368, 371, 369, 337, 0, 229, 0,
- 299, 0, 93, 12, 108, 0, 93, 389, 108, 0,
- 3, 63, 0, 57, 63, 0, 4, 63, 0, 5,
- 63, 0, 375, 61, 0, 221, 0, 59, 192, 0,
- 0, 9, 0, 0, 186, 0, 1, 0, 0, 377,
- 0, 378, 0, 377, 60, 378, 0, 11, 93, 186,
- 108, 0, 218, 0, 379, 60, 218, 0, 0, 381,
- 0, 224, 0, 385, 0, 386, 12, 0, 385, 12,
- 0, 224, 12, 0, 12, 0, 385, 63, 0, 224,
- 63, 0, 0, 65, 383, 384, 0, 100, 0, 253,
- 0, 387, 0, 389, 382, 0, 386, 388, 0, 386,
- 391, 0, 386, 391, 65, 253, 0, 385, 60, 0,
- 224, 60, 0, 226, 222, 0, 229, 222, 0, 231,
- 222, 0, 226, 329, 0, 226, 0, 228, 308, 0,
- 389, 0, 389, 382, 0, 387, 0, 224, 0, 0,
- 0, 308, 0, 0, 62, 93, 394, 108, 0, 62,
- 48, 0, 224, 0, 393, 0, 394, 60, 393, 0,
- 0, 81, 298, 395, 0, 71, 298, 395, 0, 324,
- 298, 395, 0, 42, 0, 396, 81, 0, 396, 82,
- 0, 396, 83, 0, 396, 79, 0, 396, 80, 0,
- 396, 71, 0, 396, 69, 0, 396, 70, 0, 396,
- 89, 0, 396, 60, 0, 396, 74, 0, 396, 75,
- 0, 396, 76, 0, 396, 73, 0, 396, 64, 0,
- 396, 65, 0, 396, 77, 0, 396, 78, 0, 396,
- 87, 0, 396, 88, 0, 396, 68, 0, 396, 67,
- 0, 396, 110, 0, 396, 66, 63, 0, 396, 72,
- 0, 396, 91, 0, 396, 84, 0, 396, 48, 0,
- 396, 94, 111, 0, 396, 40, 0, 396, 39, 0,
- 396, 40, 94, 111, 0, 396, 39, 94, 111, 0,
- 396, 370, 395, 0, 396, 1, 0
-};
-
-#endif
-
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
- 433, 436, 444, 447, 448, 452, 454, 457, 462, 466,
- 472, 476, 480, 484, 487, 489, 491, 494, 496, 499,
- 502, 504, 506, 508, 510, 511, 513, 514, 518, 521,
- 530, 533, 535, 539, 542, 544, 548, 551, 563, 570,
- 578, 580, 581, 583, 587, 590, 596, 599, 601, 606,
- 609, 613, 616, 619, 622, 626, 631, 641, 643, 645,
- 647, 649, 662, 665, 669, 672, 674, 676, 679, 682,
- 686, 688, 690, 692, 697, 699, 701, 703, 705, 706,
- 713, 714, 715, 718, 721, 725, 727, 728, 731, 733,
- 736, 739, 741, 745, 748, 750, 754, 756, 758, 762,
- 764, 766, 770, 772, 774, 780, 785, 788, 791, 794,
- 799, 802, 804, 806, 812, 821, 824, 826, 828, 831,
- 833, 838, 847, 850, 852, 856, 866, 882, 888, 893,
- 904, 907, 914, 922, 924, 927, 929, 932, 934, 937,
- 941, 943, 944, 945, 946, 949, 951, 952, 955, 957,
- 958, 961, 966, 966, 970, 970, 973, 973, 976, 976,
- 980, 980, 985, 985, 988, 988, 991, 993, 996, 1003,
- 1007, 1010, 1013, 1015, 1019, 1025, 1034, 1036, 1044, 1047,
- 1050, 1053, 1057, 1060, 1066, 1069, 1072, 1074, 1076, 1078,
- 1082, 1085, 1088, 1093, 1097, 1102, 1106, 1109, 1110, 1114,
- 1131, 1137, 1140, 1142, 1143, 1144, 1147, 1151, 1152, 1156,
- 1160, 1163, 1165, 1169, 1172, 1175, 1179, 1182, 1184, 1186,
- 1188, 1191, 1195, 1197, 1200, 1202, 1208, 1211, 1214, 1217,
- 1220, 1225, 1228, 1231, 1235, 1237, 1241, 1245, 1247, 1249,
- 1254, 1257, 1262, 1265, 1267, 1275, 1288, 1293, 1299, 1301,
- 1303, 1316, 1319, 1321, 1323, 1325, 1327, 1329, 1331, 1333,
- 1335, 1337, 1339, 1341, 1343, 1345, 1347, 1349, 1351, 1353,
- 1355, 1357, 1359, 1363, 1365, 1367, 1371, 1374, 1376, 1378,
- 1380, 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1396, 1398,
- 1400, 1402, 1404, 1406, 1408, 1410, 1412, 1416, 1418, 1420,
- 1424, 1427, 1429, 1430, 1431, 1432, 1433, 1436, 1448, 1451,
- 1455, 1458, 1460, 1465, 1467, 1468, 1471, 1473, 1481, 1483,
- 1485, 1487, 1491, 1494, 1498, 1502, 1503, 1504, 1508, 1516,
- 1517, 1518, 1528, 1530, 1533, 1535, 1546, 1551, 1553, 1555,
- 1557, 1559, 1561, 1563, 1566, 1568, 1579, 1580, 1584, 1588,
- 1592, 1596, 1598, 1602, 1604, 1606, 1614, 1616, 1618, 1620,
- 1624, 1626, 1628, 1630, 1635, 1637, 1639, 1641, 1644, 1646,
- 1648, 1692, 1695, 1699, 1702, 1706, 1709, 1714, 1716, 1720,
- 1729, 1732, 1739, 1745, 1749, 1751, 1756, 1758, 1765, 1767,
- 1771, 1775, 1781, 1785, 1788, 1792, 1795, 1805, 1808, 1812,
- 1816, 1819, 1822, 1825, 1828, 1834, 1840, 1842, 1847, 1849,
- 1867, 1870, 1875, 1880, 1888, 1890, 1903, 1907, 1910, 1913,
- 1918, 1921, 1929, 1932, 1934, 1936, 1939, 1942, 1957, 1976,
- 1979, 1981, 1984, 1986, 1990, 1992, 1996, 1998, 2002, 2005,
- 2009, 2014, 2015, 2028, 2035, 2036, 2042, 2047, 2052, 2058,
- 2059, 2066, 2069, 2073, 2076, 2080, 2085, 2088, 2092, 2095,
- 2097, 2099, 2101, 2108, 2110, 2111, 2112, 2116, 2119, 2123,
- 2126, 2132, 2134, 2137, 2140, 2143, 2149, 2152, 2155, 2157,
- 2159, 2163, 2169, 2175, 2180, 2186, 2188, 2193, 2196, 2199,
- 2201, 2203, 2207, 2211, 2216, 2219, 2224, 2227, 2230, 2236,
- 2238, 2250, 2254, 2259, 2285, 2287, 2290, 2292, 2297, 2299,
- 2301, 2303, 2305, 2307, 2311, 2319, 2322, 2324, 2328, 2335,
- 2341, 2347, 2353, 2363, 2369, 2373, 2380, 2408, 2418, 2424,
- 2427, 2430, 2432, 2436, 2438, 2442, 2445, 2449, 2457, 2460,
- 2462, 2466, 2477, 2491, 2492, 2493, 2494, 2497, 2506, 2511,
- 2517, 2519, 2524, 2526, 2528, 2530, 2532, 2534, 2537, 2547,
- 2554, 2579, 2585, 2588, 2591, 2593, 2604, 2609, 2612, 2617,
- 2620, 2627, 2637, 2640, 2647, 2657, 2659, 2662, 2664, 2667,
- 2671, 2676, 2680, 2683, 2686, 2691, 2694, 2698, 2701, 2703,
- 2707, 2709, 2716, 2718, 2721, 2724, 2729, 2733, 2738, 2748,
- 2751, 2755, 2759, 2768, 2771, 2773, 2775, 2781, 2783, 2792,
- 2795, 2797, 2799, 2801, 2805, 2808, 2811, 2813, 2815, 2817,
- 2821, 2824, 2835, 2845, 2847, 2848, 2852, 2860, 2862, 2870,
- 2873, 2875, 2877, 2879, 2883, 2886, 2889, 2891, 2893, 2895,
- 2899, 2902, 2905, 2907, 2909, 2911, 2913, 2915, 2919, 2926,
- 2930, 2935, 2939, 2944, 2946, 2950, 2953, 2955, 2959, 2961,
- 2962, 2965, 2967, 2969, 2976, 2987, 2993, 2999, 3013, 3015,
- 3019, 3033, 3035, 3037, 3041, 3047, 3060, 3063, 3068, 3081,
- 3087, 3089, 3090, 3091, 3099, 3104, 3113, 3114, 3118, 3121,
- 3127, 3133, 3136, 3138, 3140, 3142, 3146, 3150, 3154, 3157,
- 3161, 3163, 3172, 3175, 3177, 3179, 3181, 3183, 3185, 3187,
- 3189, 3193, 3197, 3201, 3205, 3207, 3209, 3211, 3213, 3215,
- 3217, 3219, 3221, 3229, 3231, 3232, 3233, 3236, 3242, 3244,
- 3249, 3251, 3254, 3267, 3270, 3273, 3277, 3280, 3287, 3289,
- 3292, 3294, 3296, 3299, 3302, 3305, 3308, 3310, 3313, 3317,
- 3319, 3325, 3327, 3328, 3330, 3335, 3337, 3339, 3341, 3343,
- 3346, 3347, 3349, 3352, 3353, 3356, 3356, 3359, 3359, 3362,
- 3362, 3364, 3366, 3368, 3370, 3376, 3382, 3384, 3387, 3390,
- 3393, 3396, 3402, 3404, 3405, 3408, 3410, 3411, 3412, 3414,
- 3417, 3420, 3423, 3429, 3433, 3435, 3438, 3440, 3443, 3447,
- 3449, 3452, 3454, 3457, 3474, 3482, 3485, 3487, 3489, 3493,
- 3496, 3497, 3505, 3508, 3511, 3514, 3515, 3521, 3524, 3527,
- 3529, 3533, 3538, 3541, 3551, 3556, 3557, 3564, 3567, 3570,
- 3572, 3575, 3577, 3587, 3601, 3605, 3608, 3610, 3614, 3618,
- 3621, 3624, 3626, 3630, 3632, 3639, 3646, 3649, 3653, 3657,
- 3661, 3667, 3671, 3676, 3678, 3681, 3686, 3692, 3703, 3706,
- 3708, 3712, 3720, 3723, 3727, 3730, 3732, 3734, 3740, 3745,
- 3748, 3750, 3752, 3754, 3756, 3758, 3760, 3762, 3764, 3766,
- 3768, 3770, 3772, 3774, 3776, 3778, 3780, 3782, 3784, 3786,
- 3788, 3790, 3792, 3794, 3796, 3798, 3800, 3802, 3804, 3806,
- 3808, 3810, 3813, 3815
-};
-#endif
-
-
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
-"TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
-"STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
-"CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD","TYPEOF",
-"ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG",
-"AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
-"TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
-"REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
-"';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
-"EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
-"'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
-"POINTSAT","'.'","'('","'['","TRY","CATCH","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
-"DEFARG","DEFARG_MARKER","PRE_PARSED_FUNCTION_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
-"PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
-"program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
-"asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
-"namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
-"extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
-"template_type_parm","template_template_parm","template_parm","template_def",
-"template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
-"eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
-"component_constructor_declarator","fn.def2","return_id","return_init","base_init",
-".set_base_init","member_init_list","member_init","identifier","notype_identifier",
-"identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
-"@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
-"apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
-"template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
-"paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
-"@21","nontrivial_exprlist","nonnull_exprlist","unary_expr","new_placement",
-"new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas","expr_no_comma_rangle",
-"notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id",
-"expr_or_declarator_intern","expr_or_declarator","notype_template_declarator",
-"direct_notype_declarator","primary","@22","new","delete","boolean.literal",
-"string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
-"typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
-"reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
-"nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0",
-"notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
-"attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
-"init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
-"pending_defargs","structsp","@26","@27","@28","@29","@30","maybecomma","maybecomma_warn",
-"aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
-"named_complex_class_head_sans_basetype","named_class_head","@31","unnamed_class_head",
-"class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
-"base_class_access_list","opt.component_decl_list","access_specifier","component_decl_list",
-"component_decl","component_decl_1","components","notype_components","component_declarator0",
-"component_declarator","after_type_component_declarator0","notype_component_declarator0",
-"after_type_component_declarator","notype_component_declarator","enumlist_opt",
-"enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
-"maybe_parmlist","after_type_declarator_intern","after_type_declarator","direct_after_type_declarator",
-"nonnested_type","complete_type_name","nested_type","notype_declarator_intern",
-"notype_declarator","complex_notype_declarator","complex_direct_notype_declarator",
-"qualified_id","notype_qualified_id","overqualified_id","functional_cast","type_name",
-"nested_name_specifier","nested_name_specifier_1","typename_sub","typename_sub0",
-"typename_sub1","typename_sub2","explicit_template_type","complex_type_name",
-"ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl_intern",
-"absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
-"label_decls","label_decl","compstmt_or_error","compstmt","@32","simple_if",
-"@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt","@36","@37",
-"@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49","function_try_block",
-"@50","@51","try_block","@52","@53","handler_seq","handler","@54","@55","type_specifier_seq",
-"handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
-"asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
-"complex_parmlist","defarg","@56","defarg1","parms","parms_comma","named_parm",
-"full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
-"ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
-};
-#endif
-
-static const short yyr1[] = { 0,
- 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
- 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
- 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
- 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
- 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
- 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
- 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
- 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
- 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
- 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
- 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
- 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
- 161, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 163, 163, 163, 163, 163, 164, 164, 164, 165, 165,
- 165, 167, 166, 168, 166, 169, 166, 170, 166, 171,
- 166, 172, 166, 173, 166, 174, 166, 175, 176, 177,
- 177, 177, 178, 178, 179, 180, 181, 181, 182, 182,
- 183, 183, 184, 184, 184, 185, 185, 185, 185, 185,
- 186, 186, 187, 187, 188, 188, 189, 189, 189, 191,
- 190, 190, 192, 192, 192, 192, 194, 193, 193, 195,
- 195, 195, 195, 196, 196, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
- 198, 198, 199, 199, 199, 199, 200, 200, 201, 201,
- 201, 202, 202, 202, 202, 202, 202, 202, 202, 202,
- 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
- 202, 202, 202, 202, 202, 202, 203, 203, 203, 203,
- 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
- 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
- 204, 204, 204, 204, 204, 204, 204, 205, 206, 206,
- 207, 207, 207, 208, 208, 208, 209, 209, 210, 210,
- 210, 210, 211, 211, 212, 212, 212, 212, 213, 213,
- 213, 213, 213, 213, 213, 214, 213, 213, 213, 213,
- 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
- 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
- 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
- 213, 215, 215, 216, 216, 217, 217, 218, 218, 219,
- 220, 220, 221, 221, 221, 221, 221, 221, 222, 222,
- 223, 223, 224, 224, 224, 224, 224, 225, 225, 226,
- 226, 226, 226, 226, 226, 227, 227, 227, 227, 227,
- 228, 228, 228, 228, 228, 228, 229, 229, 229, 229,
- 230, 230, 231, 231, 231, 231, 231, 231, 231, 232,
- 232, 232, 233, 233, 234, 234, 235, 235, 236, 236,
- 238, 237, 237, 240, 239, 239, 241, 242, 244, 243,
- 243, 245, 245, 246, 246, 247, 248, 248, 249, 249,
- 249, 249, 249, 250, 250, 250, 250, 251, 251, 252,
- 252, 253, 253, 253, 253, 253, 254, 254, 254, 254,
- 254, 255, 256, 256, 256, 257, 257, 258, 258, 259,
- 259, 259, 261, 260, 262, 260, 260, 260, 260, 263,
- 264, 265, 260, 260, 266, 266, 267, 267, 268, 268,
- 268, 268, 268, 268, 269, 270, 270, 270, 271, 271,
- 271, 271, 271, 272, 273, 272, 272, 274, 275, 275,
- 276, 276, 276, 277, 277, 278, 278, 279, 279, 280,
- 280, 280, 280, 281, 281, 281, 281, 282, 283, 283,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 285, 285, 285, 285, 285, 285, 285, 285, 285, 286,
- 286, 286, 287, 287, 287, 288, 288, 289, 289, 290,
- 290, 291, 291, 291, 291, 292, 292, 293, 293, 293,
- 294, 294, 295, 295, 296, 296, 297, 297, 297, 298,
- 298, 299, 299, 300, 300, 300, 300, 301, 301, 302,
- 302, 302, 302, 302, 302, 303, 303, 303, 303, 303,
- 303, 304, 304, 305, 305, 305, 306, 307, 307, 308,
- 308, 308, 308, 308, 308, 309, 309, 309, 309, 309,
- 309, 310, 310, 310, 310, 310, 310, 310, 310, 311,
- 311, 312, 312, 313, 313, 314, 314, 314, 315, 315,
- 315, 316, 316, 316, 317, 317, 317, 317, 318, 318,
- 319, 319, 319, 319, 320, 320, 320, 320, 321, 321,
- 321, 321, 321, 321, 322, 323, 323, 323, 324, 324,
- 325, 326, 326, 326, 326, 326, 326, 326, 327, 327,
- 328, 328, 329, 329, 329, 329, 329, 329, 329, 329,
- 329, 329, 329, 330, 330, 330, 330, 330, 330, 330,
- 330, 330, 330, 331, 331, 331, 331, 332, 333, 333,
- 334, 334, 335, 336, 336, 338, 337, 340, 341, 339,
- 342, 343, 342, 344, 344, 345, 345, 346, 345, 345,
- 347, 348, 345, 349, 350, 345, 351, 352, 353, 354,
- 345, 355, 356, 345, 357, 345, 358, 345, 359, 345,
- 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
- 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
- 361, 362, 360, 364, 365, 363, 366, 366, 368, 369,
- 367, 370, 370, 371, 371, 372, 372, 372, 372, 373,
- 373, 373, 374, 374, 375, 375, 375, 376, 376, 377,
- 377, 378, 379, 379, 380, 380, 380, 381, 381, 381,
- 381, 381, 381, 381, 383, 382, 384, 384, 385, 385,
- 385, 385, 385, 386, 386, 387, 387, 387, 387, 387,
- 387, 388, 388, 389, 389, 390, 391, 391, 392, 392,
- 392, 393, 394, 394, 395, 395, 395, 395, 396, 397,
- 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397
-};
-
-static const short yyr2[] = { 0,
- 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
- 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
- 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
- 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
- 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
- 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
- 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
- 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
- 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
- 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
- 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
- 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
- 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
- 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
- 7, 0, 7, 0, 6, 0, 6, 0, 0, 5,
- 5, 1, 1, 5, 5, 0, 1, 1, 0, 1,
- 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 3, 1, 3, 0, 1, 1, 0,
- 7, 1, 1, 3, 4, 3, 0, 3, 1, 3,
- 3, 3, 3, 1, 1, 1, 2, 2, 2, 2,
- 2, 2, 2, 4, 2, 4, 2, 3, 3, 4,
- 4, 5, 5, 6, 2, 4, 5, 2, 2, 6,
- 3, 3, 3, 1, 3, 2, 3, 4, 1, 2,
- 5, 1, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 5, 3, 3, 1, 2, 1, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 5, 3, 3, 1, 2,
- 3, 3, 1, 1, 1, 1, 1, 0, 5, 5,
- 5, 5, 5, 1, 1, 1, 1, 2, 1, 2,
- 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
- 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
- 2, 4, 2, 2, 1, 4, 1, 7, 7, 7,
- 7, 4, 4, 2, 2, 2, 1, 4, 2, 2,
- 5, 3, 2, 2, 5, 3, 5, 3, 4, 6,
- 2, 1, 2, 1, 2, 1, 1, 1, 2, 0,
- 2, 2, 3, 3, 3, 2, 2, 2, 1, 1,
- 1, 2, 2, 2, 2, 1, 1, 1, 1, 2,
- 2, 3, 3, 3, 4, 1, 2, 2, 2, 1,
- 1, 1, 2, 2, 2, 1, 1, 2, 2, 3,
- 1, 2, 1, 1, 1, 4, 4, 4, 4, 1,
- 1, 1, 1, 3, 1, 3, 1, 3, 0, 4,
- 0, 6, 3, 0, 4, 1, 3, 3, 0, 4,
- 3, 0, 1, 1, 2, 6, 1, 3, 0, 1,
- 4, 6, 4, 1, 1, 1, 1, 1, 3, 0,
- 2, 1, 2, 3, 4, 1, 1, 3, 4, 3,
- 5, 1, 4, 3, 3, 0, 3, 3, 3, 0,
- 2, 2, 0, 6, 0, 5, 2, 2, 2, 0,
- 0, 0, 10, 1, 0, 1, 0, 1, 1, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 3, 4,
- 3, 2, 3, 1, 0, 3, 2, 2, 1, 1,
- 0, 2, 3, 1, 4, 1, 3, 1, 1, 2,
- 2, 3, 3, 0, 1, 3, 2, 2, 1, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 2, 3,
- 2, 2, 4, 4, 2, 1, 5, 4, 1, 0,
- 1, 3, 0, 1, 3, 1, 1, 1, 1, 4,
- 4, 4, 4, 4, 3, 4, 4, 4, 4, 3,
- 2, 1, 1, 3, 1, 3, 2, 1, 6, 0,
- 2, 1, 2, 3, 3, 1, 3, 1, 2, 3,
- 3, 2, 2, 3, 1, 4, 4, 3, 3, 2,
- 1, 1, 2, 1, 1, 2, 2, 1, 2, 3,
- 3, 2, 2, 3, 1, 3, 3, 2, 2, 3,
- 1, 4, 3, 4, 3, 1, 2, 2, 2, 2,
- 2, 2, 2, 1, 2, 4, 4, 2, 1, 1,
- 1, 1, 2, 4, 2, 2, 2, 2, 1, 2,
- 2, 2, 2, 3, 1, 2, 3, 4, 2, 2,
- 2, 2, 2, 2, 4, 2, 1, 2, 2, 3,
- 1, 3, 2, 3, 2, 2, 3, 1, 3, 4,
- 1, 2, 3, 2, 2, 1, 3, 2, 2, 1,
- 2, 3, 1, 3, 6, 4, 4, 3, 5, 3,
- 3, 3, 2, 1, 1, 2, 2, 2, 0, 1,
- 1, 2, 3, 1, 2, 0, 3, 0, 0, 5,
- 1, 0, 2, 1, 1, 1, 2, 0, 4, 1,
- 0, 0, 5, 0, 0, 7, 0, 0, 0, 0,
- 12, 0, 0, 7, 0, 5, 0, 7, 0, 4,
- 2, 2, 2, 3, 6, 8, 10, 8, 12, 10,
- 10, 4, 3, 2, 2, 1, 1, 1, 1, 1,
- 0, 0, 6, 0, 0, 5, 1, 2, 0, 0,
- 5, 1, 1, 3, 3, 2, 2, 2, 2, 2,
- 1, 2, 0, 1, 0, 1, 1, 0, 1, 1,
- 3, 4, 1, 3, 0, 1, 1, 1, 2, 2,
- 2, 1, 2, 2, 0, 3, 1, 1, 1, 2,
- 2, 2, 4, 2, 2, 2, 2, 2, 2, 1,
- 2, 1, 2, 1, 1, 0, 0, 1, 0, 4,
- 2, 1, 1, 3, 0, 3, 3, 3, 1, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 3, 2, 2, 2, 2, 3, 2, 2,
- 4, 4, 3, 2
-};
-
-static const short yydefact[] = { 3,
- 12, 12, 5, 0, 4, 0, 305, 659, 660, 0,
- 412, 424, 602, 0, 11, 0, 0, 0, 10, 509,
- 869, 0, 0, 0, 168, 691, 306, 307, 83, 0,
- 0, 856, 0, 45, 0, 0, 13, 25, 0, 27,
- 8, 0, 16, 15, 89, 110, 86, 0, 661, 172,
- 326, 303, 327, 635, 0, 399, 0, 398, 417, 0,
- 437, 416, 454, 423, 0, 524, 525, 531, 530, 529,
- 504, 411, 624, 425, 625, 108, 325, 646, 622, 0,
- 662, 600, 0, 0, 304, 81, 82, 179, 665, 179,
- 666, 179, 308, 168, 141, 142, 143, 144, 145, 495,
- 497, 0, 687, 0, 498, 0, 0, 0, 0, 142,
- 143, 144, 145, 23, 0, 0, 0, 0, 0, 0,
- 0, 499, 669, 0, 675, 0, 0, 0, 37, 0,
- 0, 31, 0, 0, 47, 0, 179, 667, 0, 0,
- 0, 633, 628, 0, 0, 0, 632, 0, 0, 0,
- 0, 326, 0, 317, 0, 0, 0, 325, 600, 28,
- 0, 26, 3, 46, 0, 64, 412, 0, 0, 8,
- 67, 63, 66, 89, 0, 0, 0, 423, 90, 14,
- 0, 452, 0, 0, 470, 87, 79, 668, 606, 0,
- 0, 600, 80, 0, 0, 0, 106, 0, 433, 389,
- 615, 390, 621, 0, 600, 414, 413, 78, 109, 400,
- 0, 435, 415, 107, 406, 430, 431, 401, 419, 421,
- 410, 432, 0, 75, 455, 510, 511, 512, 513, 528,
- 150, 149, 151, 515, 516, 173, 522, 514, 0, 0,
- 517, 518, 531, 856, 527, 500, 603, 418, 0, 449,
- 660, 0, 689, 172, 652, 653, 649, 627, 663, 0,
- 305, 307, 648, 626, 647, 623, 0, 904, 900, 899,
- 897, 879, 884, 885, 0, 891, 890, 876, 877, 875,
- 894, 883, 880, 881, 882, 886, 887, 873, 874, 870,
- 871, 872, 896, 888, 889, 878, 895, 0, 892, 802,
- 417, 803, 865, 308, 602, 330, 378, 0, 0, 0,
- 0, 0, 374, 372, 345, 376, 377, 0, 0, 0,
- 0, 0, 306, 299, 0, 0, 187, 186, 0, 188,
- 189, 0, 0, 190, 0, 0, 180, 181, 0, 249,
- 0, 277, 185, 329, 216, 0, 0, 331, 332, 0,
- 183, 396, 417, 397, 654, 357, 347, 0, 0, 0,
- 0, 179, 0, 507, 493, 0, 688, 686, 275, 0,
- 191, 252, 192, 0, 0, 0, 459, 3, 21, 29,
- 683, 679, 680, 682, 684, 681, 141, 142, 143, 0,
- 144, 145, 671, 672, 676, 673, 670, 0, 315, 316,
- 314, 651, 650, 33, 32, 49, 0, 158, 0, 0,
- 417, 156, 0, 0, 629, 631, 0, 630, 142, 143,
- 301, 302, 321, 0, 639, 320, 0, 638, 0, 328,
- 306, 307, 0, 0, 0, 319, 318, 643, 0, 0,
- 12, 0, 168, 9, 9, 70, 0, 65, 0, 0,
- 71, 74, 0, 451, 453, 122, 93, 127, 791, 0,
- 85, 84, 92, 125, 0, 0, 123, 88, 0, 832,
- 215, 0, 214, 827, 850, 0, 396, 417, 397, 0,
- 826, 828, 857, 839, 0, 0, 645, 0, 0, 859,
- 0, 0, 613, 608, 0, 612, 0, 0, 0, 0,
- 0, 600, 452, 0, 77, 0, 600, 620, 0, 403,
- 404, 0, 76, 452, 408, 407, 409, 402, 422, 439,
- 438, 179, 519, 523, 521, 0, 526, 532, 0, 420,
- 452, 600, 94, 0, 0, 0, 0, 600, 100, 601,
- 634, 660, 690, 172, 0, 0, 893, 898, 419, 600,
- 600, 0, 600, 0, 903, 179, 0, 0, 223, 0,
- 225, 238, 239, 0, 0, 0, 0, 0, 0, 300,
- 222, 219, 218, 220, 0, 0, 0, 0, 0, 329,
- 0, 0, 0, 217, 177, 178, 323, 0, 221, 0,
- 0, 250, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 0, 341, 343, 344, 382, 381,
- 0, 0, 0, 0, 0, 227, 598, 0, 235, 379,
- 371, 0, 0, 856, 360, 363, 364, 0, 0, 391,
- 710, 706, 0, 0, 600, 600, 600, 393, 713, 0,
- 658, 395, 0, 0, 394, 359, 0, 354, 373, 355,
- 375, 655, 0, 356, 176, 176, 0, 166, 0, 417,
- 164, 508, 595, 592, 0, 507, 593, 507, 0, 276,
- 426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 427, 428, 429, 465, 466,
- 467, 464, 0, 457, 460, 0, 3, 0, 674, 179,
- 677, 0, 41, 42, 0, 53, 0, 0, 57, 61,
- 50, 855, 417, 53, 854, 59, 169, 154, 152, 169,
- 176, 324, 637, 636, 328, 0, 640, 0, 18, 20,
- 89, 9, 9, 73, 72, 0, 0, 380, 0, 736,
- 91, 734, 476, 0, 472, 471, 0, 607, 604, 831,
- 845, 834, 710, 706, 0, 846, 600, 849, 851, 0,
- 0, 847, 0, 848, 605, 830, 844, 833, 829, 858,
- 841, 852, 842, 835, 840, 644, 0, 658, 0, 642,
- 609, 611, 610, 0, 0, 0, 0, 0, 0, 600,
- 619, 0, 447, 446, 434, 618, 0, 859, 614, 405,
- 436, 448, 452, 0, 520, 659, 660, 856, 856, 661,
- 533, 534, 536, 856, 539, 538, 0, 566, 660, 0,
- 557, 0, 0, 569, 0, 121, 116, 0, 172, 570,
- 573, 0, 0, 549, 0, 119, 450, 859, 825, 179,
- 179, 664, 179, 859, 825, 600, 97, 600, 103, 902,
- 901, 865, 865, 865, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 417, 0, 0, 0, 335, 0, 333,
- 334, 0, 247, 182, 305, 659, 660, 306, 307, 0,
- 0, 477, 505, 0, 298, 297, 817, 816, 0, 295,
- 294, 292, 293, 291, 290, 289, 287, 288, 285, 286,
- 280, 281, 282, 283, 284, 278, 279, 0, 0, 0,
- 0, 0, 0, 0, 229, 244, 0, 0, 228, 600,
- 600, 0, 600, 597, 698, 0, 0, 0, 0, 0,
- 362, 0, 366, 0, 368, 0, 0, 709, 708, 701,
- 705, 704, 855, 416, 0, 0, 723, 0, 0, 859,
- 392, 859, 711, 600, 825, 0, 710, 706, 0, 0,
- 600, 0, 416, 0, 0, 0, 0, 171, 175, 309,
- 169, 162, 160, 169, 0, 496, 508, 591, 0, 213,
- 212, 211, 210, 274, 273, 0, 271, 270, 268, 269,
- 267, 266, 265, 262, 263, 264, 260, 261, 255, 256,
- 257, 258, 259, 253, 254, 459, 0, 0, 24, 0,
- 0, 678, 0, 38, 44, 43, 55, 52, 53, 0,
- 48, 0, 0, 54, 515, 0, 159, 169, 169, 157,
- 170, 322, 17, 19, 69, 89, 440, 140, 146, 133,
- 147, 148, 0, 126, 129, 0, 0, 0, 0, 735,
- 729, 473, 0, 124, 0, 709, 705, 710, 706, 0,
- 416, 622, 0, 600, 711, 0, 710, 706, 0, 329,
- 0, 654, 0, 853, 0, 0, 861, 0, 0, 0,
- 0, 444, 617, 616, 443, 176, 541, 540, 856, 856,
- 856, 0, 600, 825, 565, 558, 570, 559, 452, 452,
- 555, 556, 553, 554, 600, 825, 305, 659, 0, 439,
- 117, 561, 571, 576, 577, 439, 439, 0, 0, 439,
- 115, 562, 574, 439, 0, 452, 0, 550, 551, 552,
- 452, 96, 0, 0, 0, 0, 102, 0, 859, 825,
- 859, 825, 867, 866, 868, 310, 346, 224, 226, 0,
- 352, 353, 0, 0, 0, 0, 334, 337, 0, 0,
- 0, 0, 248, 0, 338, 340, 342, 242, 241, 231,
- 0, 230, 246, 0, 0, 695, 693, 0, 696, 0,
- 236, 0, 0, 179, 369, 0, 0, 0, 702, 707,
- 703, 714, 600, 722, 720, 721, 712, 859, 0, 718,
- 0, 0, 656, 657, 710, 706, 0, 358, 167, 169,
- 169, 165, 596, 594, 494, 0, 458, 456, 305, 0,
- 22, 30, 685, 56, 51, 58, 62, 60, 155, 153,
- 68, 0, 131, 0, 135, 0, 137, 0, 139, 0,
- 792, 0, 203, 737, 0, 730, 731, 0, 474, 0,
- 709, 705, 710, 706, 0, 600, 627, 711, 0, 657,
- 354, 355, 655, 356, 843, 837, 838, 836, 862, 863,
- 0, 0, 0, 0, 0, 0, 441, 174, 0, 543,
- 542, 537, 859, 0, 560, 470, 470, 859, 0, 0,
- 0, 452, 452, 0, 452, 452, 0, 452, 0, 548,
- 501, 0, 470, 600, 312, 311, 313, 600, 99, 0,
- 105, 0, 0, 0, 0, 0, 0, 0, 480, 0,
- 478, 251, 296, 0, 232, 233, 243, 245, 694, 692,
- 699, 697, 0, 237, 0, 0, 361, 365, 367, 859,
- 716, 600, 717, 163, 161, 272, 0, 461, 463, 132,
- 130, 0, 0, 0, 0, 468, 0, 0, 305, 659,
- 660, 738, 751, 754, 757, 762, 0, 0, 0, 0,
- 0, 0, 0, 0, 306, 786, 794, 0, 813, 790,
- 789, 788, 0, 746, 0, 0, 417, 0, 725, 744,
- 750, 724, 745, 787, 0, 732, 475, 709, 705, 0,
- 711, 334, 0, 860, 445, 0, 535, 112, 600, 564,
- 568, 114, 600, 452, 452, 585, 470, 305, 659, 0,
- 572, 578, 579, 439, 439, 470, 470, 0, 470, 575,
- 490, 563, 859, 859, 600, 600, 240, 0, 0, 0,
- 0, 479, 0, 0, 234, 700, 370, 311, 719, 859,
- 0, 134, 136, 138, 799, 793, 797, 0, 733, 728,
- 206, 806, 808, 809, 0, 0, 742, 0, 0, 0,
- 769, 771, 772, 773, 0, 0, 0, 0, 0, 0,
- 0, 807, 0, 388, 814, 0, 747, 386, 439, 0,
- 387, 0, 439, 0, 0, 0, 204, 727, 726, 748,
- 785, 784, 710, 706, 0, 0, 864, 442, 859, 859,
- 584, 581, 583, 0, 0, 452, 452, 452, 580, 582,
- 567, 0, 95, 101, 859, 859, 348, 349, 350, 351,
- 481, 599, 715, 462, 0, 798, 469, 195, 0, 739,
- 752, 741, 0, 0, 0, 0, 0, 765, 0, 774,
- 0, 783, 39, 145, 34, 145, 0, 35, 795, 0,
- 384, 385, 0, 0, 0, 383, 205, 742, 416, 111,
- 113, 452, 452, 590, 470, 470, 492, 0, 491, 486,
- 98, 104, 0, 800, 202, 0, 417, 0, 742, 0,
- 755, 743, 729, 811, 758, 0, 0, 0, 0, 770,
- 782, 40, 36, 0, 0, 749, 589, 587, 586, 588,
- 0, 0, 503, 0, 0, 0, 196, 439, 740, 207,
- 753, 209, 0, 812, 0, 810, 763, 767, 766, 796,
- 818, 818, 0, 489, 488, 482, 86, 89, 804, 805,
- 801, 452, 729, 193, 0, 0, 199, 0, 198, 742,
- 0, 0, 0, 819, 820, 0, 775, 0, 487, 0,
- 208, 0, 756, 759, 764, 768, 0, 0, 0, 0,
- 0, 818, 0, 485, 0, 484, 200, 194, 0, 0,
- 823, 0, 778, 821, 0, 0, 776, 483, 0, 0,
- 822, 0, 0, 0, 0, 0, 201, 760, 824, 780,
- 781, 0, 777, 0, 0, 761, 779, 0, 0, 0
-};
-
-static const short yydefgoto[] = { 1728,
- 441, 2, 442, 165, 750, 335, 181, 3, 4, 37,
- 717, 378, 1400, 718, 844, 1401, 1402, 398, 1500, 722,
- 41, 845, 407, 728, 1037, 729, 730, 731, 43, 172,
- 173, 44, 460, 184, 180, 45, 46, 859, 1160, 865,
- 1162, 47, 847, 848, 185, 186, 461, 757, 1064, 1065,
- 673, 1066, 235, 48, 1049, 1048, 740, 737, 1231, 1230,
- 994, 991, 136, 1047, 49, 237, 50, 988, 587, 336,
- 337, 338, 339, 1403, 1666, 1560, 1668, 1606, 1709, 1264,
- 1641, 1663, 371, 980, 340, 625, 939, 341, 372, 373,
- 343, 344, 362, 52, 256, 723, 423, 154, 53, 54,
- 345, 582, 346, 347, 348, 349, 462, 350, 1404, 520,
- 646, 351, 1405, 56, 218, 476, 352, 219, 489, 220,
- 198, 211, 60, 503, 521, 1426, 813, 1296, 199, 212,
- 61, 531, 814, 62, 63, 713, 714, 715, 1377, 467,
- 902, 903, 1657, 1658, 1633, 1599, 1542, 64, 678, 364,
- 529, 1451, 1600, 1182, 674, 65, 66, 67, 68, 69,
- 243, 70, 71, 245, 831, 832, 833, 834, 852, 1147,
- 853, 854, 855, 1132, 1142, 1133, 1441, 1134, 1135, 1442,
- 1443, 675, 676, 677, 626, 970, 354, 192, 501, 494,
- 201, 73, 74, 75, 142, 143, 157, 77, 132, 355,
- 356, 357, 79, 358, 81, 836, 123, 124, 125, 536,
- 105, 82, 359, 944, 945, 965, 960, 649, 1408, 1409,
- 1265, 1266, 1267, 761, 1410, 1071, 1411, 1485, 1609, 1563,
- 1564, 1412, 1413, 1588, 1486, 1610, 1487, 1643, 1488, 1645,
- 1699, 1724, 1489, 1670, 1619, 1671, 1569, 463, 758, 1375,
- 1414, 1503, 1624, 1476, 1477, 1555, 1636, 1608, 1604, 1415,
- 1615, 1506, 909, 1673, 1674, 1675, 1702, 480, 966, 795,
- 1096, 1288, 482, 483, 484, 791, 485, 148, 793, 800,
- 1290, 1291, 555, 84, 85
-};
-
-static const short yypact[] = { 130,
- 156,-32768,-32768, 4151,-32768, 94, 37, 244, 251, 159,
- 182,-32768,-32768, 1746,-32768, 152, 246, 268,-32768,-32768,
--32768, 1423, 1547, 2462, 321,-32768, 332, 360,-32768, 2363,
- 2363,-32768, 3048,-32768, 4151, 327,-32768,-32768, 379,-32768,
- 437, 4320,-32768,-32768, 416, 877, 520, 477, 534,-32768,
--32768,-32768,-32768, 399, 2057,-32768, 5440,-32768, 1217, 676,
--32768, 577,-32768,-32768, 2122, 710,-32768, 550,-32768,-32768,
- 568, 6081,-32768,-32768,-32768, 985,-32768,-32768,-32768, 2423,
--32768,-32768, 2053, 3983, 555,-32768,-32768, 11853,-32768, 11853,
--32768, 11853,-32768,-32768,-32768, 244, 251, 332, 629,-32768,
- 573, 534,-32768, 718,-32768, 279, 11944, 11944, 621,-32768,
--32768,-32768,-32768,-32768, 596, 665, 476, 547, 656, 672,
- 692,-32768,-32768, 1842,-32768, 984, 244, 251,-32768, 332,
- 629,-32768, 1528, 2151, 684, 7804, 11853,-32768, 11853, 3494,
- 3728,-32768,-32768, 3433, 3821, 3728,-32768, 1752, 4168, 4168,
- 3048, 674, 679,-32768, 399, 735, 683, 687,-32768,-32768,
- 799,-32768, 706,-32768, 4926,-32768,-32768, 321, 4517, 725,
--32768,-32768,-32768, 416, 7212, 8001, 790, 765,-32768,-32768,
- 740, 577, 832, 122, 292, 807,-32768,-32768,-32768, 6640,
- 10259,-32768,-32768, 5804, 5804, 4260, 985, 854,-32768,-32768,
- 418,-32768,-32768, 3515,-32768,-32768,-32768,-32768,-32768, 1217,
- 883,-32768, 577, 985,-32768,-32768,-32768, 2653, 1217,-32768,
- 577,-32768, 7212,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, 795,-32768, 534,-32768, 577, 2016, 2029,
--32768,-32768, 550,-32768,-32768,-32768,-32768, 1111, 279,-32768,
- 308, 1084,-32768, 89,-32768,-32768,-32768,-32768,-32768, 5924,
--32768, 629,-32768,-32768,-32768,-32768, 3662,-32768, 784, 794,
--32768,-32768,-32768,-32768, 819,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 821,-32768,-32768,
- 1111, 6081, 428,-32768, 802,-32768,-32768, 12673, 12764, 12855,
- 12855, 843,-32768,-32768,-32768,-32768,-32768, 847, 879, 884,
- 887, 889, 875, 12035, 2103, 12855,-32768,-32768, 12855,-32768,
--32768, 12855, 9071,-32768, 12855, 426, 906,-32768, 12855,-32768,
- 12126,-32768, 4315, 301, 2540, 2158, 12217,-32768, 957, 1025,
--32768, 671, 2721, 5994,-32768, 304,-32768, 1741, 3385, 426,
- 426, 11853, 7804, 780,-32768, 2103,-32768,-32768, 12309, 873,
- 919,-32768, 12902, 886, 890, 896, 2166, 706,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768, 665, 476, 547, 2103,
- 656, 672, 932, 692,-32768, 954,-32768, 458, 244, 251,
--32768,-32768,-32768,-32768,-32768,-32768, 8150,-32768, 7212, 8596,
- 1927,-32768, 426, 673,-32768,-32768, 4716,-32768, 940, 948,
--32768,-32768,-32768, 3728,-32768,-32768, 3728,-32768, 917,-32768,
--32768,-32768, 735, 735, 735,-32768,-32768,-32768, 5924, 99,
- 923, 935,-32768,-32768,-32768,-32768, 7804,-32768, 885, 916,
--32768,-32768, 799,-32768, 577,-32768,-32768,-32768,-32768, 112,
--32768,-32768,-32768,-32768, 9622, 12309,-32768,-32768, 939,-32768,
- 919, 941, 12902, 365, 1908, 8001, 1908, 4907, 3029, 964,
--32768, 414, 7008, 975, 983, 802,-32768, 955, 312, 105,
- 4574, 6322,-32768,-32768, 6322,-32768, 7110, 7110, 4260, 6833,
- 969,-32768, 577, 7212,-32768, 10350,-32768,-32768, 7617, 2653,
- 1217, 7212,-32768, 577,-32768,-32768, 577, 2653,-32768, 1038,
--32768, 11853, 795,-32768,-32768, 2016,-32768, 1913, 4668, 1111,
- 577,-32768,-32768, 994, 1003, 1024, 1006,-32768,-32768,-32768,
--32768, 779,-32768, 320, 973, 980,-32768,-32768, 1111,-32768,
--32768, 247,-32768, 576,-32768, 11853, 12309, 9071,-32768, 9071,
--32768,-32768,-32768, 12309, 11944, 7023, 7023, 7023, 7023, 4315,
--32768,-32768,-32768,-32768, 987, 12400, 12400, 9071, 990, 167,
- 997, 1048, 1007,-32768,-32768,-32768,-32768, 11853,-32768, 9162,
- 9071,-32768, 12035, 12035, 9713, 12035, 12035, 12035, 12035, 12035,
- 12035, 12035, 12035, 12035, 12035, 12035, 12035, 12035, 12035, 12035,
- 12035, 12035, 12035,-32768, 12309,-32768,-32768,-32768,-32768,-32768,
- 12309, 12309, 12309, 11944, 4087, 404, 912, 10441,-32768,-32768,
--32768, 1062, 1084, 1113, 388, 439, 482, 3832, 576,-32768,
- 3192, 3192, 2277, 10532, 1030, 1076,-32768,-32768, 587, 11121,
- 1867,-32768, 537, 279,-32768,-32768, 12309,-32768,-32768,-32768,
--32768,-32768, 62, 555,-32768,-32768, 426,-32768, 7212, 2393,
--32768,-32768, 1064,-32768, 1018, 1070,-32768, 780, 932, 12973,
--32768, 9986, 10077, 12309, 12309, 9713, 12309, 12309, 12309, 12309,
- 12309, 12309, 12309, 12309, 12309, 12309, 12309, 12309, 12309, 12309,
- 12309, 12309, 12309, 12309, 12309,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 68,-32768, 1039, 1036, 706, 458, 1078, 11853,
--32768, 1086,-32768,-32768, 2151, 1621, 1114, 188, 1087, 1088,
--32768,-32768, 5097, 2122,-32768, 1090,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 1052, 1055,-32768, 1098,-32768,-32768,
- 416,-32768,-32768,-32768,-32768, 100, 1634, 1101, 1048,-32768,
--32768,-32768,-32768, 5217, 12973,-32768, 1061,-32768,-32768,-32768,
--32768,-32768, 2405, 2405, 6302,-32768,-32768,-32768,-32768, 3515,
- 2053,-32768, 11213,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, 983, 1105,-32768,-32768,-32768, 11489, 1076, 507,-32768,
--32768,-32768,-32768, 6322, 6322, 7865, 7865, 6833, 537,-32768,
--32768, 7617,-32768, 1107,-32768,-32768, 1063, 105,-32768, 2653,
--32768,-32768, 577, 1099,-32768, 476, 547,-32768,-32768, 692,
- 1120,-32768,-32768, 293,-32768,-32768, 2293,-32768, 788, 1163,
--32768, 12309, 5559,-32768, 5559, 131, 131, 349, 512, 2892,
- 7219, 69, 4778,-32768, 201, 131,-32768, 105, 8523, 11853,
- 11853,-32768, 11853, 105, 8523,-32768,-32768,-32768,-32768,-32768,
--32768, 871, 871, 871, 1456, 426, 1079, 1081, 1082, 12928,
- 1085, 1091, 1102, 2781, 1116, 1125, 1126,-32768, 1095,-32768,
--32768, 1096,-32768,-32768, 1133, 544, 750, 503, 269, 12309,
- 1143,-32768, 1151, 1104, 4315, 4315,-32768,-32768, 1150, 3219,
- 7860, 8164, 6898, 4606, 3237, 3082, 1926, 1926, 2626, 2626,
- 976, 976, 488, 488, 488,-32768,-32768, 1108, 1119, 1121,
- 1124, 1127, 1134, 7023, 404,-32768, 9622, 12309,-32768,-32768,
--32768, 12309,-32768,-32768, 1135, 12855, 1130, 1156, 1172, 1205,
--32768, 12309,-32768, 12309,-32768, 12309, 1274, 6023,-32768,-32768,
- 6023,-32768, 80, 1274, 1147, 1149,-32768, 1148, 7023, 105,
--32768, 105, 6189,-32768, 8523, 10623, 11305, 11305, 4425, 1154,
- 12126, 1157, 3127, 4839, 3385, 1721, 1160,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 12309,-32768, 2103,-32768, 1171,-32768,
- 12973,-32768, 12973, 12973, 12973, 1206, 8800, 5600, 10647, 5869,
- 6344, 5132, 6543, 3109, 3109, 3109, 2965, 2965, 1295, 1295,
- 900, 900, 900,-32768,-32768, 2166, 1164, 12491,-32768, 1178,
- 1220,-32768, 426,-32768,-32768,-32768,-32768,-32768, 2264, 8150,
--32768, 7023, 11853,-32768, 898, 12035,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768, 416,-32768,-32768, 665,-32768,
- 656, 672, 12309, 1228,-32768, 521, 543, 564, 1048,-32768,
- 85,-32768, 169,-32768, 3322, 3446, 3446, 3602, 3602, 6302,
- 3799, 374, 3515,-32768, 4986, 6548, 11397, 11397, 8885, 412,
- 1182, 575, 2260,-32768, 9622, 9256,-32768, 7023, 1302, 1302,
- 3172,-32768,-32768,-32768, 1229,-32768,-32768,-32768,-32768,-32768,
--32768, 2024,-32768, 8523, 12973,-32768, 1891,-32768, 577, 577,
--32768,-32768,-32768,-32768,-32768, 8523, 711, 754, 12309, 1038,
--32768, 1233,-32768,-32768,-32768, 184, 217, 2423, 3821, 375,
- 131, 1235,-32768, 508, 1237, 577, 5688,-32768,-32768,-32768,
- 577,-32768, 1188, 426, 426, 426,-32768, 1194, 105, 8523,
- 105, 8523,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 7023,
--32768,-32768, 1210, 1211, 1221, 1222, 1052,-32768, 8601, 9622,
- 9349, 1201,-32768, 12035,-32768,-32768,-32768,-32768,-32768, 605,
- 1212,-32768,-32768, 1216, 177, 535, 535, 1208, 535, 12309,
--32768, 12855, 1317, 11853,-32768, 1226, 1227, 1231,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 105, 1232,-32768,
- 1225, 3127,-32768,-32768, 5346, 5346, 6785,-32768,-32768,-32768,
--32768,-32768, 12973,-32768,-32768, 12309,-32768,-32768, 206, 1236,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 4315,-32768,-32768,
--32768, 1239,-32768, 1051,-32768, 12309,-32768, 12309,-32768, 12309,
--32768, 2103,-32768,-32768, 6439, 1304,-32768, 9440,-32768, 3799,
- 3446, 3446, 5457, 5457, 6903,-32768, 597, 4986, 1250, 208,
- 599, 610, 660, 287,-32768,-32768,-32768,-32768,-32768,-32768,
- 207, 5338, 5338, 2861, 2861, 9622,-32768,-32768, 1913,-32768,
--32768,-32768, 105, 1256,-32768, 1276, 1276, 105, 1264, 12309,
- 12309, 8398, 577, 3329, 577, 577, 6719, 577, 5329,-32768,
--32768, 5811, 1276,-32768,-32768, 1288,-32768,-32768,-32768, 1266,
--32768, 1273, 1277, 12309, 12309, 12309, 12309, 9622,-32768, 1319,
--32768,-32768, 4315, 12309,-32768, 605,-32768,-32768,-32768,-32768,
--32768,-32768, 1275,-32768, 1340, 426,-32768,-32768,-32768, 105,
--32768,-32768,-32768,-32768,-32768, 12973, 12309,-32768,-32768,-32768,
--32768, 1284, 1290, 1298, 1307,-32768, 931, 213, 1345, 810,
- 856,-32768,-32768,-32768,-32768,-32768, 12309, 1346, 1349, 1351,
- 11580, 606, 2103, 756, 715,-32768,-32768, 11671, 1404,-32768,
--32768,-32768, 1354,-32768, 7438, 7610, 8259, 7367,-32768,-32768,
- 1400,-32768,-32768,-32768, 10732,-32768,-32768, 7824, 7824, 537,
- 7970, 664, 7023,-32768,-32768, 9622,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, 8398, 8398,-32768, 1276, 745, 858, 12309,
--32768,-32768,-32768, 1038, 1038, 1276, 1276, 779, 1276,-32768,
--32768,-32768, 105, 105,-32768,-32768,-32768, 1312, 1313, 1315,
- 1323,-32768, 9622, 1314,-32768,-32768,-32768,-32768,-32768, 105,
- 1325,-32768,-32768,-32768,-32768, 1307,-32768, 2103,-32768,-32768,
--32768,-32768,-32768,-32768, 580, 580, 1048, 1342, 1343, 7648,
--32768,-32768,-32768,-32768, 1376, 12309, 1379, 1377, 1389, 2306,
- 2334,-32768, 1048,-32768,-32768, 1357,-32768,-32768, 1038, 958,
--32768, 961, 1038, 11762, 974, 242,-32768,-32768,-32768,-32768,
--32768,-32768, 8040, 8040, 8353, 2506,-32768,-32768, 105, 105,
--32768,-32768,-32768, 12309, 12309, 8398, 577, 577,-32768,-32768,
--32768, 8690,-32768,-32768, 105, 105,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 1358,-32768,-32768,-32768, 11944,-32768,
--32768,-32768, 1439, 11028, 8980, 11944, 12309,-32768, 10840,-32768,
- 1396,-32768,-32768, 1403,-32768, 1389, 2306,-32768,-32768, 799,
--32768,-32768, 12582, 12582, 9531,-32768,-32768, 1048, 2506,-32768,
--32768, 8398, 8398,-32768, 1276, 1276,-32768, 10168,-32768,-32768,
--32768,-32768, 8536,-32768,-32768, 1355, 111, 7212, 1048, 10934,
--32768,-32768, 85,-32768,-32768, 1398, 1356, 12951, 10840,-32768,
--32768,-32768,-32768, 1307, 87,-32768,-32768,-32768,-32768,-32768,
- 1360, 8749, 1369, 1366, 1367, 1048,-32768, 1038,-32768,-32768,
--32768,-32768, 593,-32768, 9804,-32768,-32768,-32768,-32768, 1307,
- 1472, 1472, 1424,-32768,-32768,-32768, 520, 416,-32768,-32768,
--32768, 577, 85,-32768, 12309, 1429,-32768, 1440,-32768, 1048,
- 10840, 1391, 622, 1443,-32768, 186,-32768, 163,-32768, 1435,
--32768, 1394,-32768,-32768,-32768,-32768, 12309, 799, 1445, 1472,
- 799, 1472, 1447,-32768, 112,-32768,-32768,-32768, 9895, 1401,
- 957, 261,-32768,-32768, 270, 662,-32768,-32768, 9622, 1402,
--32768, 799, 1451, 1457, 799, 1459,-32768,-32768, 957,-32768,
--32768, 281,-32768, 10934, 1461,-32768,-32768, 1517, 1523,-32768
-};
-
-static const short yypgoto[] = {-32768,
- 1524,-32768, -331, 1359, -380, -1, 9, 1525,-32768, 1491,
--32768,-32768, 415,-32768, 513,-32768, 515,-32768, 29, 817,
- 52, 22,-32768,-32768, -663,-32768,-32768, 498, 54, 1371,
- 1106, 1378, -751, -111, -169, 10, 48,-32768,-32768,-32768,
--32768,-32768, 705,-32768,-32768,-32768,-32768,-32768,-32768, 305,
- -2,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 1464, -704, 7613, 1332, 67, -617, -159, -42,
- 1433, -548,-32768, 1258,-32768, 88,-32768, -1440,-32768, -1497,
- -148,-32768, 1731, 516, -266,-32768, -873, 7436, 5570, 6893,
- 1442, 4981, 1280, -334, -55, -73, 203, -121, -70, 197,
--32768,-32768,-32768, -345,-32768, -146,-32768,-32768, -1308, -54,
- -337, 2771, 41, 1118, -140, 47, 96, -202, -4, -65,
- -171, -167, 31, -44, 185,-32768, -387,-32768,-32768,-32768,
--32768,-32768, 552, 1297, 171,-32768, 554,-32768,-32768, -998,
- -436, 828,-32768,-32768,-32768,-32768,-32768, -20,-32768,-32768,
--32768,-32768,-32768,-32768, 920, -384,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, 1352,-32768, 298, 491,-32768,-32768,-32768,
- 453, -776,-32768,-32768,-32768,-32768,-32768,-32768, 759,-32768,
- 294, 936,-32768, 625, 998, 1680, 24, 1428, 1940, 1344,
--32768, -511,-32768, 23, 1697, 1173, -131, 408, -101, 5492,
- 1281,-32768, 6698, 2501, 2878, -17, -102,-32768, 1508, -52,
--32768, 6046, 3777, -351,-32768, 2483, -61,-32768,-32768, 225,
--32768,-32768, 370, -53, -369,-32768,-32768,-32768,-32768, -1473,
--32768, -1306, -1471,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, -38,-32768,-32768,
--32768,-32768,-32768, 20, -1391,-32768,-32768, -57,-32768,-32768,
--32768,-32768, -656, -1465,-32768, -45, -1546, -577, -109, 855,
--32768,-32768,-32768,-32768, -396,-32768, -386, -186,-32768, 380,
- 223,-32768, -418,-32768, -196
-};
-
-
-#define YYLAST 13058
-
-
-static const short yytable[] = { 59,
- 197, 182, 35, 449, 448, 122, 1069, 511, 450, 257,
- 735, 101, 36, 661, 440, 651, 835, 425, 428, 115,
- 736, 178, 734, 397, 660, 42, 303, 72, 766, 1006,
- 59, 250, 405, 35, 437, 1050, 103, 59, 222, 894,
- 169, 559, 561, 36, 55, 530, 716, 360, 989, 361,
- 57, 174, 210, 141, 146, 537, 42, 528, 72, 403,
- 404, 1192, 234, 42, 751, 72, 1116, 248, 1118, 510,
- 1044, 396, 177, 257, 592, 55, 1148, 402, 518, 301,
- 481, 57, 175, 353, 1556, 353, 735, 353, 176, 1504,
- 762, 770, 1612, 170, 413, 171, 792, 630, 549, 58,
- 313, 1519, 353, 353, 209, 264, 1145, 302, 1522, 630,
- 630, 88, 759, 540, 1626, 1644, 26, 1262, 216, 217,
- 197, 393, 457, 1051, 14, 1617, 822, 1026, 367, -1,
- 58, 411, 353, 257, 353, 1639, 538, 58, 1642, 771,
- 651, 1651, 772, 857, 1705, 421, 254, 20, 178, 1652,
- 549, 798, 516, 519, 86, -2, 23, 15, 640, 72,
- 59, -439, 664, 1694, 59, 1681, 799, 169, 1722, 514,
- 760, 210, 424, 427, 445, 1027, 409, 1146, 174, 300,
- -380, 539, 410, 408, 458, 478, 1676, 893, 72, 222,
- 42, -439, 72, 1263, 1653, -439, 1685, 222, 222, 177,
- 665, 666, 87, 797, 1669, 55, 748, 1057, -389, 175,
- 15, 57, 892, 479, 614, 176, 459, 492, 495, -328,
- 170, -380, 171, 209, 640, 458, 1706, 222, 1268, 155,
- 94, 58, 225, 93, -328, 153, 523, 525, -328, -439,
- 1691, -390, -389, 15, 107, 1067, -389, 1040, 1692, 535,
- 127, 128, 1642, 741, 742, -328, 1614, 459, 1556, 615,
- 58, 1149, 1620, 1041, 58, 1367, 1423, -328, -328, 797,
- -328, 264, -328, 1480, -319, -390, 636, 1269, -389, -390,
- 222, 1153, 8, 9, 1348, 477, 1229, 1158, 627, 1232,
- 648, 652, 655, 1693, 635, 366, 724, 248, 89, 1110,
- -328, -328, 1480, 130, 131, 91, 756, 1430, 1431, 1150,
- 225, -390, 1649, 1368, 1424, -328, 1345, 661, 90, 667,
- 1712, 1481, 571, 138, 1452, 92, 225, 253, 353, 1712,
- 1111, -145, 222, 544, -304, 130, 131, 719, 108, 464,
- 1712, 301, 1039, 1249, 1250, 155, 155, 155, 614, 248,
- 1587, 656, 426, 429, 738, 532, 465, 353, 670, 640,
- 109, 304, 91, 679, 1686, 425, 428, 868, 1713, 302,
- 820, 1055, 1056, 1121, 712, 1244, 770, 1714, 437, -304,
- -304, 264, 92, 225, 466, 1030, 72, 679, 1725, 1070,
- 222, 225, 155, 615, -304, 135, 657, 1219, 153, -120,
- 533, 15, 733, 669, 797, 210, 137, 1122, 225, 410,
- 668, 1123, 869, 778, 138, 648, 652, 655, 38, 161,
- 776, -621, 782, 784, 771, 786, 178, 772, 727, -855,
- 479, 127, 128, -120, 139, 951, 537, -120, 1533, 162,
- 158, 300, 59, 1124, 516, 519, 189, 1539, 1540, 38,
- 1541, 936, 516, 1163, 1164, 1165, 753, 222, 58, -326,
- 261, 399, 400, 10, 519, 189, -621, -621, 937, -120,
- 72, 210, 1465, 787, 248, 823, 788, 177, 733, 824,
- 952, -621, 26, 519, 130, 131, 953, 175, 1298, 222,
- 222, 190, 191, 176, 1247, 163, 938, 222, 550, 21,
- 1193, 585, 477, 586, -326, -326, 479, 990, 551, 222,
- 190, 506, 26, 876, 27, 262, 39, 353, 40, -319,
- 804, 805, 179, 825, 59, 1364, 1365, 843, 222, 955,
- 382, 954, -118, 164, 15, 581, 1304, 187, 127, 128,
- 8, 9, 58, 540, 183, 1148, 32, 39, 1309, 40,
- 90, 353, 72, 353, 1097, 353, 158, 158, 158, 1125,
- 353, 884, 884, 884, 884, -144, -118, 627, 1255, 850,
- -118, 612, 613, 353, 956, 851, 846, 137, 477, 127,
- 128, 1054, 1330, 353, 1332, 366, 353, 901, 188, 26,
- 1257, 130, 131, 130, 131, 849, 1629, 1630, 89, 1098,
- 835, 383, -118, 158, 1126, 940, -142, 18, 95, 110,
- 111, 1259, 244, 1256, 992, 941, 724, 253, 90, 353,
- 301, 92, -646, 1036, 58, 225, 246, 1558, 942, 304,
- 949, 365, 130, 131, 974, 1258, 426, 746, 733, 661,
- 1664, 1107, 1108, 735, -620, 478, -305, 1112, 302, 222,
- 660, 1035, 936, 736, 379, 734, 1260, -303, 1285, 1287,
- 380, 225, 112, 113, 958, 961, 479, -646, -646, 937,
- 225, 652, 1559, 479, 127, 128, 264, 1033, 784, 975,
- 976, 549, -646, 138, 1688, 1665, 1496, 225, 815, -620,
- -620, -305, -305, 155, 155, 155, 821, 938, 1344, 1261,
- 426, 429, -303, -303, -620, 472, -305, -647, 122, 257,
- 384, -328, 222, 377, 592, 353, 1166, -303, 640, 381,
- 300, 8, 9, 1038, 1715, 26, 385, 130, 131, 1689,
- 137, 1045, 588, 454, 397, 223, 224, 261, 477, 1068,
- 10, 641, 1067, 1339, 1341, 477, 386, 661, 585, 481,
- 586, 642, -647, -647, 516, 481, -328, -328, 1282, 406,
- 581, 901, 581, 643, 644, 18, 366, -647, 241, 1716,
- 733, -322, 242, 1310, 130, 131, 21, 1502, 478, 426,
- 889, -319, 95, 110, 111, 88, 430, 835, 664, 137,
- 438, 431, 432, 581, -641, 1131, 1076, 1077, 479, 222,
- 129, 1119, 1120, 264, 91, 433, 479, 1534, 89, 307,
- 26, 1151, -143, 1499, -7, 434, 1311, 1154, 1155, 88,
- 1156, 164, 652, 32, 92, 452, 866, 435, 90, 1099,
- 1100, 1341, 453, 91, 456, 1113, 112, 113, 59, 672,
- 59, 843, 91, 843, 1349, 1350, 210, 1352, 59, 223,
- 451, 843, 982, 92, 733, 353, 353, 798, 353, 1425,
- 733, 437, 92, 222, 89, 481, 72, 468, 72, 522,
- 477, 867, 1483, 1243, 127, 128, 72, 545, 477, 540,
- 1114, 547, 479, 850, 90, 1117, 1251, 546, 479, 851,
- 846, 851, 846, 850, 557, 1209, 1284, 1130, 1140, 851,
- 846, 1462, 1209, 15, 158, 158, 158, -439, 1616, 849,
- 91, 849, 89, 504, 505, 127, 128, 849, 1484, 849,
- 1535, 1209, 1299, 1300, 1301, 26, 1695, 130, 131, 884,
- 92, 548, 90, 1195, -184, 564, -439, -439, 58, 565,
- 58, 550, 512, 513, 504, 754, 425, 428, 58, 137,
- -184, 551, -184, 566, 477, 425, 428, -52, 567, 437,
- 477, 568, -52, 569, 884, 588, 26, 630, 130, 131,
- 733, 155, 522, -52, 478, 512, 755, 153, 682, 155,
- 681, 767, 940, 704, 705, 1091, 116, 117, 118, 1528,
- 1478, 1479, 941, 706, 1325, 1326, 1327, 707, 479, 982,
- 958, 961, 479, 708, 481, 942, 720, 264, 721, 426,
- 746, 15, 257, 1209, 90, -439, 481, 504, 1581, 1209,
- 512, 1582, 92, 712, 745, 631, 1551, 261, 399, 400,
- 10, -6, 632, 504, 1586, 733, 1038, 884, 353, -854,
- 119, 120, 1710, 749, -439, -439, 768, 794, 769, -439,
- 481, 1058, 481, 1059, 826, 827, 609, 610, 611, 612,
- 613, 727, 1131, 479, 15, 796, 21, 257, 860, 798,
- 477, 785, 877, 633, 477, 733, 811, 861, 862, 26,
- 863, 27, 262, 870, 478, 1313, 95, 110, 111, 534,
- 871, 1315, 1316, 884, 888, 1313, 1318, 890, 1060, 1316,
- 437, 1271, 1272, 479, 891, 26, 760, 1061, 1062, 733,
- 1271, 1272, 479, 634, 893, 264, 948, 1562, 216, 217,
- 950, 733, 969, 971, 14, 21, 996, 225, 995, 997,
- 928, 1028, 1032, 1579, 225, 477, 929, 479, 931, 932,
- 112, 113, 59, 1063, 1029, 843, 1034, 20, 437, 479,
- 20, 1042, 1043, 225, 1046, 733, 23, 733, 1053, -322,
- 1209, 1356, 1052, 458, 1130, 884, 127, 128, 1074, 1095,
- 72, 1102, 987, 1103, 1106, 477, 76, 1173, 1340, 1109,
- 426, 889, 158, 479, 477, 479, 1167, 850, 1168, 1169,
- 158, 1174, 1171, 851, 846, -141, 1468, 1104, 1172, 353,
- 1175, 1176, 1177, 1178, 254, 1180, 735, 76, 1209, 477,
- 1181, 1183, 1184, 849, 76, 1185, 1635, 26, 1562, 130,
- 131, 477, 733, 215, 216, 217, 1186, 202, 1200, 214,
- 14, 1187, 1188, 1510, 1189, 1515, 1068, 1152, 1512, 1562,
- 1202, 1190, 58, 1157, 1203, 225, 1204, 18, 958, 961,
- 479, 225, 1205, 20, 1212, 477, 1213, 477, 1214, 1376,
- 1407, 1223, 23, 1398, 1224, 1340, 1661, 1228, 1236, 798,
- 733, 1238, 1717, 1399, 155, 155, 155, 127, 128, 1235,
- 1242, 426, 429, 155, 155, 155, 1241, 1254, 72, 1280,
- 426, 1279, 1314, 1297, 1319, 1324, 1418, 1419, 479, 1320,
- 1562, 1328, 1334, 1335, 18, 8, 9, 475, 412, 1342,
- 247, 1406, 415, 1336, 1337, 1099, 1100, 59, 1351, 1346,
- 843, 640, 477, 1347, 1355, 762, 140, 140, 26, 156,
- 130, 131, 18, 1357, 1358, 1363, 1262, 76, 1359, 1362,
- 465, 76, -685, 1369, 641, 72, 1370, 202, 214, 1215,
- 1509, 1216, 1509, 213, 642, 221, 26, 1422, 130, 131,
- 58, 238, 850, 1429, 370, 375, 643, 644, 851, 846,
- 477, 1433, 1292, 1455, 1105, 701, 702, 703, 704, 705,
- 1456, 1463, 1293, 544, 1457, 1466, 222, 1467, 849, 1497,
- 1498, 1472, 225, 1407, 1294, 202, 1398, 1473, 200, 1537,
- 1538, 210, 1475, 1407, 549, 1474, 1398, 1482, 1491, 1492,
- 1407, 1493, 1505, 1398, 1507, 1520, 1399, 58, 884, 1547,
- 1548, 72, 1549, 1399, 1552, 95, 110, 111, 426, 746,
- 1550, 72, 1554, 1625, 1565, 1566, 1570, 140, 72, 1572,
- 225, 380, 140, 1573, 1406, 156, 156, 156, 488, 1580,
- 1603, 425, 428, 1194, 1406, 1611, 1621, 1622, 1646, 127,
- 128, 1406, 1637, 1647, 1209, 225, 1654, 1206, 514, 1207,
- 1656, 1208, 213, 1659, 1660, 1557, 426, 746, 455, 112,
- 113, 114, 1672, 1687, 1677, 158, 158, 158, 1679, 1683,
- 491, 491, 500, 58, 158, 158, 158, 1575, 1578, 1697,
- 1684, 1698, 1690, 58, 366, 1703, 221, 1707, 1711, 1718,
- 58, 1720, 130, 131, 517, 221, 1729, 1721, 200, 1723,
- 733, 1727, 1730, 1, 475, 160, 5, 1209, 447, 1577,
- 261, 399, 400, 10, 1031, 671, 543, 1245, 1329, 446,
- 1331, 1701, 444, 1240, 1701, 1678, 1418, 1419, 479, 116,
- 117, 118, 752, 1638, 1607, 1141, 140, 363, 1371, 1407,
- 1407, 1607, 1398, 1398, 1407, 1719, 200, 1398, 1701, 21,
- 524, 414, 1399, 1561, 1623, 1726, 252, 1399, 1252, 1237,
- 353, 202, 302, 556, 27, 262, 222, 72, 72, 302,
- 579, 1073, 72, 1662, 527, 998, 1427, 1361, 733, 1322,
- 475, 26, 1302, 119, 120, 1407, 804, 805, 1398, 1143,
- 1406, 1406, 1450, 999, 1407, 1406, 32, 1398, 1399, 76,
- 477, 1234, 935, 387, 388, 389, 479, 1399, 507, 156,
- 637, 395, 1518, 72, 1058, 1416, 1059, 826, 827, 1696,
- 1607, 1708, 72, 1650, 1704, 1527, 1094, 202, 779, 202,
- 202, 0, 0, 0, 300, 790, 1406, 0, 0, 58,
- 58, 300, 0, 415, 58, 1406, 1407, 0, 302, 1398,
- 1306, 1307, 0, 0, 0, 26, 202, 391, 392, 1399,
- 0, 1060, 1428, 0, 202, 0, 0, 1432, 26, 0,
- 1061, 1062, -128, -128, 72, 0, 225, 1321, 477, 0,
- 0, 856, 1323, 0, 0, 58, 213, 221, 0, 0,
- 155, 0, 0, 0, 58, 0, 1091, 1406, 0, 1407,
- 140, 0, 1398, 140, 8, 9, 1063, 147, 0, 156,
- 156, 156, 1399, 0, 0, 140, 0, 0, 0, 1469,
- 300, 0, 0, 261, 8, 9, 10, 72, 95, 96,
- 97, 0, 200, 0, 95, 419, 420, 0, 0, 225,
- 475, 260, 0, 817, 0, 570, 58, 475, 0, 366,
- 1406, 1372, 213, 1373, 221, 1374, 0, 130, 131, 155,
- 155, 155, 21, 0, 0, 0, 426, 1279, 491, 252,
- 0, 491, 0, 500, 500, 500, 0, 27, 262, 455,
- 26, 543, 98, 99, 100, 491, 517, 221, 98, 113,
- 455, 0, 0, 0, 517, 579, 0, 579, 200, 58,
- 200, 200, 881, 0, 0, 0, 0, 455, 0, 32,
- 0, 0, 1543, 1544, 801, 579, 0, 416, 439, 0,
- 0, 202, 418, 801, 387, 388, 389, 200, 579, 1553,
- 0, 0, 908, 0, 156, 200, 156, 0, 0, 0,
- 0, 0, 0, 1436, 1437, 0, 1446, 1447, 0, 1449,
- 0, 490, 156, 156, 156, -600, 0, 0, -600, 930,
- 0, 0, 1471, 0, 509, 947, 0, 156, 0, 0,
- 390, 147, 475, 1127, 1128, 9, 10, 0, 391, 392,
- 475, 968, 0, 0, 0, 202, 0, 0, 1590, 1591,
- 7, 8, 9, 10, 971, 116, 826, 827, 0, 828,
- 471, 158, 0, 0, 1601, 1602, -600, 0, -600, -600,
- 0, -600, 21, 215, 216, 217, 0, 957, 957, 964,
- 14, 0, -600, 908, -600, 26, 983, 27, 28, 21,
- 829, 1305, 0, 1129, 0, 640, 541, 18, 0, -600,
- -600, 194, 26, 20, 27, 28, 221, 26, 0, 119,
- 120, 195, 23, 0, -600, 0, 475, 0, 773, 32,
- 0, 0, 475, 196, 0, 1531, 1532, 739, 774, 0,
- 158, 158, 158, 0, 0, 0, 32, 0, 0, 0,
- 775, 644, 605, 606, 607, 608, 609, 610, 611, 612,
- 613, 0, 200, 0, 0, 856, 0, 856, 95, 96,
- 97, 0, 1137, 1144, 0, 856, 116, 826, 827, 221,
- 238, 95, 96, 97, 905, 906, 0, 910, 911, 912,
- 913, 914, 915, 916, 917, 918, 919, 920, 921, 922,
- 923, 924, 925, 926, 927, 261, 8, 9, 10, 7,
- 8, 9, 10, 0, 366, 0, 0, 0, 0, 1075,
- 1075, 1081, 98, 99, 0, 0, 200, 0, 26, 1081,
- 119, 120, 0, 0, 0, 98, 99, 1594, 1595, 1596,
- 0, 0, 475, 156, 21, 0, 475, 0, 21, 0,
- 491, 491, 500, 500, 500, 95, 110, 111, 491, 27,
- 262, 26, 0, 27, 28, 0, 517, 193, 0, 455,
- 743, 0, 0, 744, 95, 96, 97, 194, 226, 227,
- 228, 0, 0, 493, 496, 747, 0, 195, 0, 0,
- 0, 32, 0, 1627, 1628, 32, 0, 213, 0, 196,
- 0, 0, 18, 261, 399, 400, 10, 475, 229, 112,
- 113, 8, 9, 0, 0, 12, 13, 0, 95, 110,
- 111, 14, 709, 710, 711, 0, 26, 0, 98, 99,
- 230, 812, 0, 0, 0, 16, 818, 17, 416, 0,
- 0, 418, 21, 1136, 20, 0, 471, 475, 0, 1198,
- 0, 0, 0, 23, 0, 541, 475, 27, 262, 0,
- 0, 858, 26, 1680, 130, 131, 623, 864, 0, 0,
- 0, 0, 112, 113, 231, 232, 233, 0, 0, 872,
- 873, 475, 874, 1221, 0, 0, 579, 0, 0, 32,
- 0, 0, 0, 475, 0, 0, 0, 415, 0, 0,
- 624, 0, 0, 0, 957, 0, 0, 957, 0, 0,
- 0, 0, 1281, 8, 9, 10, 95, 110, 111, 957,
- 226, 227, 228, 1222, 1222, 983, 0, 475, 0, 475,
- 8, 9, 0, 167, 12, 13, 0, 471, 470, 1137,
- 14, 0, 0, 0, 18, 116, 826, 827, 313, 659,
- 229, 21, 0, 0, 16, 0, 17, 18, 95, 110,
- 111, 0, 0, 20, 26, 0, 27, 262, 0, 856,
- 112, 113, 23, 0, 640, 972, 973, 0, 0, 0,
- 972, 26, 0, 130, 131, 238, 95, 110, 111, 0,
- 0, 0, 0, 0, 475, 471, 579, 641, 32, 119,
- 120, 471, 0, 471, 471, 0, 0, 642, 0, 0,
- 0, 0, 112, 1574, 0, 7, 127, 128, 10, 643,
- 644, 13, 1075, 1075, 1270, 1270, 1081, 0, 0, 0,
- 471, 1075, 0, 1270, 1270, 1081, 0, 471, 0, 0,
- 112, 1576, 475, 18, 0, 1295, 1295, 1295, 0, 215,
- 216, 217, 0, 0, 21, 0, 14, 7, 8, 9,
- 10, 0, 0, 13, 0, 455, 455, 26, 801, 27,
- 28, 0, 0, 18, 801, 7, 8, 251, 10, 20,
- 0, 802, 0, 30, 803, 18, 493, 496, 23, 0,
- 0, 0, 455, 31, 0, 0, 21, 455, 819, 0,
- 0, 32, 640, 993, 0, 33, 1085, 1353, 0, 26,
- 1136, 27, 28, 0, 21, 127, 128, 0, 0, 0,
- 147, 252, 0, 0, 0, 773, 0, 0, 0, 27,
- 28, 0, 0, 0, 0, 774, 1445, 1248, 0, 1101,
- 0, 1445, 0, 32, 856, 0, 0, 775, 644, 0,
- 743, 744, 0, 253, 80, 0, 129, 0, 747, 8,
- 9, 32, 0, 471, 104, 0, 26, 0, 130, 131,
- 0, 1222, 1222, 983, 133, 0, 0, 471, 0, 0,
- 144, 144, 0, 144, 0, 80, 18, 0, 0, 0,
- 0, 0, 80, 0, 0, 1159, 0, 1161, 0, 0,
- 0, 0, 0, 640, 0, 204, 0, 80, 0, 0,
- 26, 0, 130, 131, 0, 239, 0, 1075, 1075, 1270,
- 1270, 1081, 104, 0, 1075, 0, 1523, 202, 1513, 202,
- 0, 0, 0, 267, 104, 0, 1524, 616, 1295, 1295,
- 1295, 1458, 1459, 1460, 1461, 0, 0, 0, 1525, 644,
- 0, 1464, 0, 0, 0, 0, 104, 0, 455, 455,
- 0, 455, 455, 801, 455, 0, 0, 0, 0, 1196,
- 1197, 0, 1199, 0, 0, 1343, 617, 618, 0, 0,
- 619, 620, 621, 622, 133, 0, 80, 0, 801, 0,
- 144, 144, 475, 0, 0, 417, 144, 0, 1495, 144,
- 144, 144, 0, 1218, 0, 0, 0, 1444, 0, 515,
- 216, 217, 0, 0, 0, 80, 14, 0, 471, 80,
- 0, 0, 0, 0, 0, 204, 80, 0, 0, 0,
- 0, 0, 471, 18, 471, 0, 471, 0, 0, 20,
- 0, 0, 0, 0, 204, 204, 204, 0, 23, 0,
- 0, 0, 213, 221, 607, 608, 609, 610, 611, 612,
- 613, 0, 493, 496, 1526, 1526, 0, 1526, 0, 0,
- 475, 0, 0, 204, 127, 128, 0, 0, 216, 217,
- 455, 455, 0, 0, 14, 0, 0, 0, 0, 0,
- 526, 0, 0, 802, 803, 493, 496, 0, 200, 104,
- 200, 819, 0, 1571, 0, 0, 0, 20, 471, 0,
- 144, 0, 0, 1278, 0, 0, 23, 0, 640, 0,
- 0, 0, 416, 418, 0, 26, 0, 130, 131, 0,
- 202, 541, 0, 0, 127, 128, 0, 0, 216, 217,
- 0, 641, 1303, 471, 14, 0, 0, 0, 0, 0,
- 0, 642, 104, 552, 1308, 0, 0, 0, 0, 0,
- 500, 0, 0, 650, 644, 0, 1605, 20, 0, 1526,
- 1526, 1589, 908, 1605, 0, 0, 23, 0, 640, 0,
- 0, 0, 455, 455, 455, 26, 0, 130, 131, 0,
- 0, 0, 579, 0, 0, 0, 104, 0, 0, 0,
- 638, 641, 552, 552, 653, 0, 0, 0, 0, 0,
- 0, 642, 0, 80, 8, 9, 0, 0, 0, 801,
- 0, 0, 0, 643, 644, 0, 0, 374, 376, 500,
- 500, 500, 0, 0, 0, 0, 0, 0, 455, 455,
- 0, 18, 1360, 0, 1127, 1128, 9, 10, 133, 0,
- 0, 0, 1605, 0, 0, 0, 0, 104, 0, 204,
- 104, 0, 0, 0, 0, 26, 0, 130, 131, 0,
- 0, 0, 1682, 0, 144, 0, 0, 144, 0, 0,
- 0, 1292, 801, 21, 0, 0, 0, 0, 0, 144,
- 0, 1293, 0, 0, 1700, 0, 26, 80, 27, 28,
- 0, 200, 0, 1294, 1129, 1421, 908, 259, 455, 0,
- 474, 0, 194, 0, 0, 0, 0, 743, 744, 0,
- 0, 0, 195, 0, 747, 204, 780, 204, 204, 653,
- 32, 259, 0, 780, 196, 0, 471, 0, 471, 0,
- 471, 204, 204, 0, 0, 204, 0, 204, 204, 204,
- 809, 0, 0, 1453, 204, 0, 0, 1454, 0, 204,
- 259, 0, 204, 0, 0, 802, 803, 493, 496, 0,
- 0, 259, 0, 0, 819, 0, 493, 496, 0, 80,
- 0, -411, 8, 9, -411, -411, 12, 247, 802, 803,
- 819, 1470, 14, 699, 700, 701, 702, 703, 704, 705,
- 7, 127, 128, 10, 875, 0, 16, 0, 17, -411,
- 0, 0, 0, 0, 0, 20, 104, 104, 104, 104,
- -411, 0, 0, 0, 23, 0, 640, 0, 18, 0,
- 0, 259, 0, 26, 0, 130, 131, 0, 0, 21,
- 0, 0, 0, 0, 0, 0, 0, 471, 0, 641,
- 0, 0, 26, 583, 27, 28, 0, 0, 1529, 642,
- 0, 0, 1530, 0, 0, 0, 259, -411, 149, 0,
- 0, 643, 644, 959, 962, 104, 0, 552, 150, 261,
- 127, 128, 10, 0, 1545, 1546, 32, 0, 0, 638,
- 151, 552, 552, 653, 259, 0, 0, 0, 0, 0,
- 984, 0, 0, 0, 986, 603, 604, 18, 605, 606,
- 607, 608, 609, 610, 611, 612, 613, 0, 21, 204,
- 0, 0, 0, 0, 640, 8, 9, 732, 0, 0,
- 540, 26, 0, 27, 262, 697, 698, 699, 700, 701,
- 702, 703, 704, 705, 0, 127, 128, 1225, 0, 0,
- 13, 0, 18, 0, 0, 0, 0, 1226, 0, 0,
- 802, 803, 493, 496, 0, 32, 0, 819, 133, 1227,
- 644, 0, 18, 0, 0, 133, 26, 0, 130, 131,
- 0, 493, 496, 204, 239, 259, 0, 0, 0, 640,
- 0, 0, 1292, 0, 471, 0, 26, 0, 130, 131,
- 0, 0, 1293, 732, 0, 959, 962, 0, 0, 0,
- 0, 0, 641, 0, 1294, 0, 0, 0, 0, 0,
- 0, 0, 642, 204, 204, 1083, 0, 0, 0, 0,
- 0, 1086, 0, 1083, 643, 644, 597, 598, 599, 600,
- 601, 602, 603, 604, 259, 605, 606, 607, 608, 609,
- 610, 611, 612, 613, 204, 204, 809, 809, 809, 602,
- 603, 604, 204, 605, 606, 607, 608, 609, 610, 611,
- 612, 613, 0, 0, 7, 8, 9, 10, 878, 0,
- 879, 1438, 1439, 9, 10, 882, 883, 885, 886, 887,
- 133, 0, 0, 80, 0, 80, 0, 0, 583, 0,
- 1138, 80, 18, 80, 0, 0, 0, 802, 803, 104,
- 819, 904, 0, 21, 0, 104, 0, 0, 0, 640,
- 21, 0, 552, 552, 552, 0, 26, 0, 27, 28,
- 0, 0, 0, 26, 552, 27, 28, 658, 8, 9,
- 10, 1440, 773, 0, 933, 0, 0, 0, 0, 194,
- 0, 0, 774, 259, 0, 0, 0, 0, 0, 195,
- 32, 0, 0, 963, 775, 644, 0, 32, 0, 0,
- 963, 196, 0, 313, 659, 0, 21, 0, 0, 259,
- 0, 0, 0, 0, 104, 7, 127, 128, 10, 26,
- 1210, 130, 131, 1211, 0, 0, 0, 0, 7, 8,
- 9, 10, 0, 0, 247, 1217, 0, 552, 552, 959,
- 962, 552, 493, 496, 552, 0, 0, 0, 0, 104,
- 0, 0, 0, 552, 21, 104, 18, 984, 984, 984,
- 0, 252, 0, 552, 0, 1086, 0, 21, 0, 27,
- 28, 0, 0, 640, 0, 0, 7, 127, 128, 10,
- 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 253, 0, 259, 773, 7, 8, 9,
- 10, 32, 493, 496, 18, 0, 774, 0, 0, 0,
- 259, 0, 0, 0, 32, 21, 0, 0, 775, 644,
- 104, 0, 104, 0, 0, 963, 0, 0, 26, 0,
- 27, 28, 0, 963, 0, 0, 21, 0, 1210, 1211,
- 959, 962, 0, 252, 30, 0, 0, 1217, 0, 959,
- 962, 27, 28, 0, 31, 204, 204, 204, 204, 204,
- 1083, 809, 32, 0, 0, 204, 33, 1083, 1083, 1083,
- 0, 0, 0, 1086, 0, 253, 0, 0, 104, 809,
- 809, 809, 0, 32, 7, 8, 9, 10, 0, 0,
- 13, 0, 0, 0, 104, 0, 0, 1138, 0, 0,
- 0, 0, 0, 0, 0, 0, 104, 0, 0, 474,
- 0, 0, 18, 0, 0, 474, 0, 0, 0, 1317,
- 0, 0, 0, 21, 0, 0, 0, 80, 0, 640,
- 0, 0, 0, 0, 0, 0, 26, 259, 27, 28,
- 104, 0, 104, 0, 261, 8, 542, 10, 0, 0,
- 104, 0, 1078, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1079, 0, 0, 0, 259, 0, 0, 0,
- 32, 0, 0, 0, 1080, 644, 552, 552, 0, 552,
- 0, 0, 0, 21, 1191, 0, 0, 959, 962, 0,
- 252, 0, 0, 0, 0, 0, 0, 0, 27, 262,
- 0, 0, 552, 0, 0, 552, 552, 653, 0, 0,
- 7, 127, 128, 10, 0, 0, 247, 0, 0, 904,
- 0, 0, 543, 0, 0, 474, 0, 0, 0, 963,
- 32, 0, 259, 1210, 1211, 959, 962, 0, 18, 0,
- 1217, 0, 0, 0, 0, 0, 0, 0, 0, 21,
- 809, 204, 204, 809, 809, 1420, 0, 0, 204, 0,
- 83, 0, 26, 0, 27, 28, 0, 0, 0, 0,
- 106, 0, 809, 809, 809, 809, 0, 0, 30, 126,
- 134, 261, 8, 9, 10, 0, 145, 145, 31, 145,
- 732, 83, 1246, 0, 204, 0, 32, 0, 83, 144,
- 33, 0, 80, 261, 127, 128, 10, 0, 0, 18,
- 0, 145, 0, 83, 261, 127, 128, 10, 0, 0,
- 21, 240, 0, 0, 0, 0, 640, 0, 249, 0,
- 963, 0, 0, 26, 0, 27, 262, 0, 0, 963,
- 249, 259, 21, 259, 0, 0, 0, 0, 1289, 1273,
- 0, 0, 0, 21, 0, 0, 0, 27, 262, 1274,
- 252, 0, 0, 0, 474, 0, 0, 32, 27, 262,
- 0, 1275, 644, 0, 0, 0, 474, 0, 0, 0,
- 1210, 1211, 0, 1217, 0, 204, 780, 204, 0, 32,
- 0, 0, 83, 0, 0, 0, 145, 145, 809, 809,
- 32, 809, 145, 104, 0, 145, 145, 145, 0, 0,
- 474, 0, 474, 0, 0, 0, 0, 0, 0, 0,
- 1333, 83, 0, 0, 0, 83, 0, 0, 0, 0,
- 0, 145, 83, 0, 0, 0, 0, 0, 0, 0,
- 259, 0, 0, 259, 0, 0, 0, 0, 0, 0,
- 145, 145, 145, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 268, 0, 0, 8, 9, 0, 0,
- 12, 13, 0, 0, 0, 0, 14, 963, 0, 145,
- 0, 0, 0, 0, 0, 959, 962, 0, 0, 0,
- 16, 0, 17, 0, 1083, 259, 0, 0, 0, 20,
- 0, 269, 270, 809, 809, 1420, 809, 0, 23, 0,
- 271, 0, 0, 0, 0, 0, 145, 26, 0, 130,
- 131, 0, 272, 0, 0, 963, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 0, 0, 294,
- 295, 296, 0, 297, 0, 0, 298, 0, 249, 554,
- 0, 0, 0, 1083, 1083, 1083, 0, 0, 0, 809,
- 8, 9, 299, 0, 12, 13, 0, 0, 0, 0,
- 14, 0, 0, 104, 0, 0, 0, 0, 204, 0,
- 0, 0, 0, 0, 16, 0, 17, 0, 0, 0,
- 0, 0, 249, 20, 0, 0, 639, 0, 554, 554,
- 654, 0, 23, 0, 0, 663, 0, 0, 0, 83,
- 0, 26, 0, 130, 131, 0, 0, 0, 0, 0,
- 0, 6, 0, 7, 8, 9, 10, 11, 12, 13,
- 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
- 7, 127, 128, 10, 725, 0, 13, 15, 16, 934,
- 17, 18, 19, 249, 0, 145, 249, 20, 0, 0,
- 0, 0, 21, 1289, 259, 22, 23, 24, 18, 25,
- 145, 0, 0, 145, 0, 26, 0, 27, 28, 21,
- 0, 29, 0, 0, 0, 145, 0, 0, 0, 0,
- 0, 30, 26, 83, 27, 28, 0, 0, 0, 0,
- 0, 31, 0, 0, 0, 0, 0, 0, 149, 32,
- 0, 0, 0, 33, 0, 0, 0, 34, 150, 0,
- 0, 145, 781, 145, 145, 654, 32, 0, 0, 781,
- 151, 0, 7, 8, 9, 10, 0, 145, 145, 0,
- 0, 145, 0, 145, 145, 145, 554, 0, 0, 0,
- 145, 0, 0, 0, 0, 145, 0, 0, 145, 0,
- 18, 0, 0, 0, 0, 963, 0, 259, 0, 0,
- 0, 21, 0, 0, 837, 83, 0, 0, 0, 0,
- 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
- 166, 0, 7, 8, 9, 10, 167, 12, 13, 0,
- 497, 0, 0, 14, 0, 0, 0, 0, 0, 0,
- 498, 0, 249, 249, 249, 249, 0, 16, 32, 17,
- 18, 19, 499, 0, 0, 583, 20, 0, 0, 0,
- 0, 21, 0, 0, 0, 23, 0, 0, 168, 0,
- 0, 0, 0, 732, 26, 0, 27, 28, 593, 594,
- 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
- 30, 605, 606, 607, 608, 609, 610, 611, 612, 613,
- 31, 249, 0, 554, 0, 0, 0, 0, 32, 0,
- 0, 0, 33, 0, 0, 0, 34, 554, 554, 654,
- 0, 0, 0, 0, 0, 575, 985, 261, 8, 9,
- 10, 167, 12, 305, 306, 307, 470, 308, 14, 663,
- 0, 0, 0, 0, 0, 145, 0, 0, 0, 0,
- 0, 0, 16, 309, 17, 18, 19, 0, 310, 311,
- 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
- 23, 0, 640, 0, 318, 319, 320, 321, 322, 26,
- 0, 27, 262, -336, 0, 0, 369, 0, 0, 0,
- 0, 0, 325, 0, 725, 977, 0, 0, 0, 0,
- 0, 0, 126, 327, 328, 978, 0, 0, 0, 145,
- 240, 330, 331, 332, 0, 0, 0, 979, 644, 7,
- 8, 9, 10, 167, 12, 13, 0, 0, 0, 0,
- 14, 0, 0, 837, 334, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 17, 18, 19, 145,
- 145, 781, 0, 20, 0, 0, 0, 0, 21, 1093,
- 0, 0, 23, 0, 0, 168, 0, 0, 0, 0,
- 0, 26, 0, 27, 28, 0, 7, 8, 9, 10,
- 145, 145, 554, 554, 554, 0, 0, 30, 145, 0,
- 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
- 0, 0, 0, 0, 18, 32, 0, 0, 0, 33,
- 0, 0, 0, 34, 0, 21, 134, 0, 0, 83,
- 0, 83, 0, 0, 0, 0, 1139, 83, 26, 83,
- 27, 28, 0, 0, 0, 249, 0, 0, 0, 0,
- 0, 249, 0, 0, 194, 0, 0, 0, 554, 554,
- 554, 0, 0, 0, 195, 0, 0, 0, 0, 0,
- 554, 0, 32, 0, 0, 0, 196, 0, 838, 0,
- 7, 8, 839, 10, 167, 12, 13, 601, 602, 603,
- 604, 14, 605, 606, 607, 608, 609, 610, 611, 612,
- 613, 0, 0, 0, 0, 16, 0, 17, 18, 19,
- 0, 0, 0, 0, 20, -544, 0, 0, 0, 21,
- 249, 0, 0, 23, 840, 0, 168, 0, 261, 127,
- 128, 10, 26, 0, 27, 28, 0, 0, 841, 0,
- 842, 0, 0, 554, 554, 0, 0, 554, 30, 0,
- 554, 0, 0, 0, 0, 249, 0, 0, 31, 554,
- 0, 249, 0, 985, 985, 985, 32, 21, 0, 554,
- 33, 663, 0, 0, 252, 0, 0, 0, 0, 0,
- 0, 0, 27, 262, 0, 0, -544, 0, 838, 0,
- 7, 8, 839, 10, 167, 12, 13, 0, 0, 0,
- 0, 14, 0, 0, 0, 0, 543, 0, 0, 0,
- 0, 0, 0, 0, 32, 16, 0, 17, 18, 19,
- 0, 0, 0, 0, 20, -545, 249, 0, 249, 21,
- 0, 0, 0, 23, 840, 0, 168, 0, 0, 0,
- 0, 0, 26, 0, 27, 28, 0, 0, 841, 0,
- 842, 261, 8, 9, 10, 0, 0, 0, 30, 0,
- 0, 145, 145, 145, 145, 145, 781, 554, 31, 0,
- 0, 145, 0, 1093, 1093, 1093, 32, 0, 0, 663,
- 33, 0, 0, 0, 249, 554, 554, 554, 0, 0,
- 21, 0, 0, 0, 0, 0, -545, 252, 837, 0,
- 249, 0, 0, 1139, 0, 27, 262, 0, 0, 0,
- 0, 0, 249, 0, 0, 0, 0, 0, 0, 7,
- 8, 9, 10, 215, 216, 217, 0, 0, 0, 253,
- 14, 0, 0, 83, 0, 0, 6, 32, 7, 8,
- 9, 10, 11, 12, 13, 0, 249, 18, 249, 14,
- 0, 0, 0, 20, 0, 0, 249, 0, 21, 0,
- 0, 0, 23, 16, 640, 17, 18, 0, 0, 0,
- 0, 26, 20, 27, 28, 0, 0, 21, 0, 0,
- 0, 23, 554, 554, 443, 554, 0, 773, 0, 0,
- 26, 0, 27, 28, 51, 0, 29, 774, 7, 8,
- 9, 10, 0, 0, 540, 32, 30, 0, 554, 783,
- 644, 554, 554, 654, 0, 0, 31, 0, 0, 0,
- 51, 51, 0, 152, 32, 51, 18, 0, 33, 0,
- 0, 0, 51, 0, 0, 0, 0, 21, 0, 0,
- 837, 0, 0, 640, 0, 51, 0, 51, 0, 0,
- 26, 0, 27, 28, 0, 0, 554, 145, 145, 554,
- 554, 654, 0, 0, 145, 0, 773, 0, 0, 0,
- 255, 0, 0, 263, 0, 0, 774, 0, 554, 554,
- 554, 554, 0, 0, 32, 837, 0, 0, 775, 644,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 145, 0, 0, 0, 0, 145, 0, 0, 83, 7,
- 8, 9, 10, 215, 216, 217, 0, 0, 0, 0,
- 14, 0, 0, 401, 401, 0, 51, 0, 0, 0,
- 51, 51, 0, 0, 255, 263, 51, 18, 0, 152,
- 152, 152, 0, 20, 0, 0, 436, 0, 21, 0,
- 0, 0, 23, 0, 640, 51, 0, 0, 0, 51,
- 0, 26, 0, 27, 28, 51, 51, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 773, 0, 0,
- 1501, 0, 0, 0, 51, 51, 152, 774, 0, 0,
- 0, 145, 781, 145, 255, 32, 0, 0, 0, 775,
- 644, 0, 0, 0, 554, 554, 0, 554, 0, 249,
- 0, 0, 0, 51, 693, 694, 695, 696, 697, 698,
- 699, 700, 701, 702, 703, 704, 705, 763, 0, 895,
- 896, 897, 10, 0, 12, 486, 306, 307, 0, 308,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 0, 0, 0, 16, 309, 17, 255, 19, 0,
- 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
- 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
- 322, 26, 0, 898, 899, 764, 0, 0, 369, 0,
- 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
- 1093, 0, 0, 0, 0, 327, 328, 329, 0, 554,
- 554, 654, 554, 330, 331, 332, 0, 0, 0, 333,
- 900, 0, 0, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1072, 334, 0, 0, 0,
- 401, 1438, 127, 128, 10, 0, 0, 0, 255, 0,
- 0, 8, 9, 51, 0, 0, 13, 0, 261, 127,
- 128, 10, 0, 0, 13, 0, 0, 0, 0, 1093,
- 1093, 1093, 0, 0, 0, 554, 0, 0, 18, 0,
- 21, 0, 0, 0, 0, 0, 18, 0, 401, 249,
- 0, 0, 0, 26, 145, 27, 28, 21, 0, 51,
- 0, 1440, 26, 640, 130, 131, 0, 255, 0, 30,
- 26, 0, 27, 262, 51, 0, 0, 51, 1292, 31,
- 0, 0, 0, 436, 436, 436, 1225, 32, 1293, 51,
- 0, 33, 0, 0, 0, 0, 1226, 51, 0, 0,
- 1294, 0, 0, 0, 32, 0, 0, 0, 1227, 644,
- 0, 0, 7, 8, 9, 10, 206, 12, 207, 0,
- 0, 0, 0, 14, 0, 51, 51, 51, 51, 261,
- 8, 9, 10, 51, 0, 13, 0, 16, 0, 17,
- 18, 51, 51, 0, 0, 51, 20, 152, 152, 152,
- 436, 21, 0, 0, 51, 23, 0, 18, 0, 51,
- 0, 0, 51, 0, 26, 78, 27, 28, 21, 0,
- 208, 0, 0, 0, 640, 0, 0, 0, 0, 51,
- 30, 26, 0, 27, 262, 0, 0, 0, 0, 0,
- 31, 78, 78, 0, 78, 0, 78, 1273, 32, 0,
- 0, 0, 33, 78, 0, 0, 0, 1274, 580, 0,
- 580, 0, 0, 0, 0, 32, 78, 0, 78, 1275,
- 644, 0, 0, 0, 0, 0, 580, 580, 580, 838,
- 0, 7, 8, 839, 10, 167, 12, 13, 0, 0,
- 0, 580, 14, 0, 265, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
- 19, 0, 0, 0, 0, 20, 0, 0, 0, 0,
- 21, 0, 0, 0, 23, 840, 0, 168, 0, 0,
- 0, 0, 0, 26, 0, 27, 28, 0, 255, 841,
- 0, 842, 0, 0, 0, 0, 0, 78, 0, 30,
- 580, 78, 78, 0, 0, 0, 265, 78, 0, 31,
- 78, 78, 78, 0, 0, 0, 0, 32, 0, 51,
- 0, 33, 0, 0, 0, 0, 78, 342, 0, 342,
- 78, 342, 0, 0, 0, 0, 78, 78, 689, 690,
- 691, 692, 693, 694, 695, 696, 697, 698, 699, 700,
- 701, 702, 703, 704, 705, 78, 78, 78, 838, 0,
- 7, 8, 839, 10, 167, 12, 13, 0, 401, 0,
- 0, 14, 0, 0, 0, 401, 342, 0, 342, 0,
- 0, 0, 0, 51, 78, 16, 0, 17, 18, 19,
- 0, 0, 0, 0, 20, -547, 0, 0, 0, 21,
- 0, 0, 0, 23, 840, 0, 168, 0, 0, 0,
- 0, 0, 26, 0, 27, 28, 0, 0, 841, 0,
- 842, 78, 0, 51, 51, 152, 0, 0, 30, 0,
- 255, 263, 0, 1090, 0, 0, 0, 0, 31, 0,
- 0, 0, 0, 0, 0, 0, 32, 580, 0, 0,
- 33, 0, 0, 0, 51, 51, 436, 436, 436, 0,
- 0, 0, 51, 0, 0, 0, -547, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 7, 8, 9, 10,
- 0, 838, 13, 7, 8, 839, 10, 167, 12, 13,
- 0, 0, 0, 51, 14, 51, 0, 0, 0, 0,
- 51, 51, 0, 51, 18, 0, 0, 0, 16, 0,
- 17, 18, 19, 0, 0, 21, 0, 20, -546, 0,
- 662, 0, 21, 0, 78, 0, 23, 840, 26, 168,
- 27, 28, 0, 0, 0, 26, 0, 27, 28, 0,
- 0, 841, 0, 842, 194, 0, 0, 0, 0, 562,
- 563, 30, 0, 0, 195, 0, 0, 0, 0, 0,
- 0, 31, 32, 342, 0, 572, 196, 0, 573, 32,
- 78, 574, 0, 33, 584, 0, 0, 0, 589, 0,
- 0, 0, 0, 0, 0, 78, 629, 0, 78, -546,
- 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
- 78, 342, 540, 0, 0, 0, 0, 0, 78, 691,
- 692, 693, 694, 695, 696, 697, 698, 699, 700, 701,
- 702, 703, 704, 705, 18, 0, 0, 580, 580, 580,
- 0, 0, 0, 436, 255, 21, 78, 78, 78, 78,
- 0, 0, 0, 0, 78, 0, 0, 0, 26, 0,
- 27, 28, 78, 78, 0, 0, 78, 0, 78, 78,
- 78, 0, 0, 0, 30, 78, 0, 8, 9, 0,
- 78, 12, 247, 78, 31, 0, 0, 14, 0, 0,
- 0, 0, 32, 0, 0, 0, 33, 0, 0, 0,
- 78, 16, 0, 17, 0, 0, 127, 128, 0, 0,
- 20, 247, 0, 0, 0, 0, 0, 0, 0, 23,
- 0, 640, 0, 0, 0, 0, 0, 0, 26, 0,
- 130, 131, 0, 18, 0, 51, 51, 51, 152, 152,
- 152, 436, 0, 255, 641, 51, 255, 1090, 1090, 1090,
- 640, 0, 0, 263, 642, 0, 0, 26, 159, 130,
- 131, 0, 0, 0, 8, 9, 643, 644, 12, 247,
- 0, 342, 0, 641, 14, 0, 0, 51, 0, 0,
- 205, 0, 0, 642, 0, 0, 0, 0, 16, 0,
- 17, 0, 0, 0, 0, 643, 644, 20, 255, 263,
- 0, 0, 0, 0, 0, 342, 23, 51, 0, 0,
- 662, 0, 0, 0, 0, 26, 0, 130, 131, 0,
- 0, 0, 0, 0, 0, 572, 573, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 342, 0, 0,
- 78, 0, 342, 342, 0, 342, 342, 342, 342, 342,
- 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
- 342, 342, 342, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 127, 128, 159, 159, 159, 540, 0, 0,
- 0, 0, 436, 0, 0, 436, 436, 436, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,
- 205, 0, 0, 0, 78, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 640, 0, 0, 205,
- 205, 502, 0, 26, 0, 130, 131, 0, 0, 0,
- 436, 51, 51, 436, 436, 436, 0, 0, 51, 641,
- 0, 0, 0, 0, 78, 78, 78, 0, 205, 642,
- 0, 0, 265, 0, 1092, 0, 0, 0, 0, 0,
- 0, 643, 644, 0, 0, 0, 0, 0, 0, 342,
- 0, 0, 0, 0, 51, 78, 78, 255, 0, 51,
- 0, 0, 51, 78, 7, 8, 9, 10, 167, 12,
- 13, 0, 0, 470, 0, 14, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 8, 9, 10, 0, 16,
- 247, 17, 18, 0, 78, 0, 78, 0, 20, 0,
- 0, 78, 78, 21, 78, 0, 0, 23, 553, 640,
- 0, 0, 18, 0, 0, 0, 26, 0, 27, 28,
- 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
- 0, 0, 1078, 0, 0, 0, 26, 0, 27, 28,
- 0, 0, 1079, 0, 0, 51, 51, 51, 0, 0,
- 32, 0, 194, 0, 1080, 644, 0, 647, 647, 647,
- 0, 0, 195, 0, 0, 0, 0, 0, 0, 0,
- 32, 0, 0, 0, 196, 692, 693, 694, 695, 696,
- 697, 698, 699, 700, 701, 702, 703, 704, 705, 342,
- 342, 0, 342, 0, 0, 0, 0, 0, 0, 1378,
- 0, 1379, 1380, 1381, 10, 167, 12, 305, 306, 307,
- 0, 308, 14, 1382, 205, 1383, 1384, 1385, 1386, 1387,
- 1388, 1389, 1390, 1391, 1392, 15, 16, 309, 17, 18,
- 19, 0, 310, 311, 312, 20, 662, 313, 314, 315,
- 21, 316, 317, 1393, 23, 1394, 0, 0, 318, 319,
- 320, 321, 322, 26, 1090, 1395, 262, 760, 0, 1396,
- 369, 0, 0, 0, 0, 0, 325, 0, 0, 326,
- 0, 0, 0, 0, 0, 1201, 0, 327, 328, 329,
- 777, 0, 777, 777, 647, 330, 331, 332, 0, 0,
- 0, 333, 0, 1397, 0, 0, 205, 205, 0, 0,
- 205, 0, 502, 502, 502, 810, 572, 573, 334, 205,
- 261, 8, 9, 10, 205, 0, 0, 205, 0, 0,
- 0, 0, 0, 1090, 1090, 1090, 78, 78, 78, 78,
- 78, 78, 0, 0, 0, 0, 78, 0, 1092, 1092,
- 1092, 0, 0, 0, 1283, 0, 0, 0, 51, 21,
- 0, 0, 0, 0, 0, 0, 252, 0, 0, 0,
- 0, 0, 0, 0, 27, 262, 0, 0, 78, 0,
- 0, 0, 342, 0, 0, 342, 694, 695, 696, 697,
- 698, 699, 700, 701, 702, 703, 704, 705, 543, 0,
- 265, 0, 0, 0, 0, 0, 32, 0, 78, 0,
- 469, 0, 261, 8, 9, 10, 167, 12, 305, 306,
- 307, 470, 308, 14, 0, 0, 572, 573, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
- 18, 19, 943, 310, 311, 312, 20, 0, 313, 314,
- 315, 21, 316, 317, 0, 23, 647, 647, 647, 318,
- 319, 320, 321, 322, 26, 647, 27, 262, 0, 0,
- 0, 369, 0, 0, 0, 0, 0, 325, 0, 0,
- 326, 0, 0, 0, 205, 0, 0, 0, 327, 328,
- 329, 261, 127, 1448, 10, 0, 330, 331, 332, 0,
- 0, 0, 333, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -825, 0, 334,
- 0, 0, 203, 342, 0, 0, 0, 0, 0, 0,
- 21, 0, 78, 78, 0, 0, 0, 252, 0, 78,
- 0, 1354, 0, 342, 0, 27, 262, 258, 777, 0,
- 266, 0, 0, 0, 0, 0, 0, 261, 8, 9,
- 10, 167, 12, 13, 0, 0, 470, 0, 14, 543,
- 0, 258, 0, 368, 0, 78, 0, 32, 0, 0,
- 78, 0, 16, 78, 17, 18, 0, 0, 777, 777,
- 1084, 20, 0, 0, 0, 0, 21, 0, 1084, 0,
- 23, 0, 640, 0, 0, 261, 8, 9, 10, 26,
- 0, 27, 262, 0, 0, 0, 0, 0, 0, 205,
- 205, 810, 810, 810, 0, 1225, 0, 205, 0, 0,
- 0, 0, 0, 18, 0, 1226, 0, 0, 0, 0,
- 0, 0, 203, 32, 21, 0, 0, 1227, 644, 0,
- 0, 0, 0, 0, 0, 0, 0, 26, 0, 27,
- 262, 203, 203, 203, 0, 205, 78, 78, 78, 0,
- 0, 508, 0, 806, 0, 261, 8, 9, 10, 167,
- 12, 13, 0, 807, 470, 0, 14, 553, 553, 553,
- 203, 32, 0, 0, 0, 808, 0, 0, 0, 647,
- 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
- 0, 0, 0, 0, 21, 0, 266, 0, 23, 0,
- 640, 0, 0, 0, 0, 0, 0, 26, 0, 27,
- 262, 0, 0, 0, 258, 0, 0, 584, 600, 601,
- 602, 603, 604, 1273, 605, 606, 607, 608, 609, 610,
- 611, 612, 613, 1274, 0, 0, 0, 0, 0, 0,
- 0, 32, 0, 0, 0, 1275, 644, 0, 0, 0,
- 0, 0, 647, 647, 0, 1092, 647, 0, 0, 647,
- 7, 8, 9, 10, 167, 12, 13, 0, 647, 789,
- 0, 14, 647, 647, 647, 0, 8, 9, 647, 0,
- 12, 13, 0, 0, 0, 16, 14, 17, 18, 0,
- 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
- 16, 0, 17, 23, 0, 258, 266, 0, 0, 20,
- 0, 0, 26, 0, 27, 28, 0, 0, 23, 0,
- 0, 0, 0, 0, 1092, 1092, 1092, 26, 30, 130,
- 131, 0, 473, 0, 0, 0, 0, 0, 31, 0,
- 0, 0, 0, 0, 0, 0, 32, 0, 0, 78,
- 33, 0, 0, 0, 0, 0, 203, 0, 0, 0,
- 0, 0, 7, 8, 9, 10, 0, 0, 13, 0,
- 777, 777, 777, 1084, 1084, 1084, 1276, 0, 0, 0,
- 777, 0, 1084, 1084, 1084, 0, 0, 0, 0, 0,
- 18, 0, 0, 0, 810, 810, 810, 0, 0, 0,
- 0, 21, 572, 573, 0, 0, 0, 0, 0, 0,
- 0, 0, 205, 0, 26, 0, 27, 28, 0, 0,
- 0, 0, 203, 0, 203, 203, 0, 0, 0, 0,
- 497, 0, 0, 0, 0, 0, 0, 0, 203, 203,
- 498, 0, 203, 0, 203, 203, 203, 203, 32, 0,
- 0, 203, 499, 0, 0, 0, 203, 0, 0, 203,
- 0, 0, 0, 0, 7, 8, 9, 10, 0, 0,
- 0, 1127, 8, 839, 10, 206, 12, 207, 0, 0,
- 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 943, 943, 0, 943, 0, 16, 0, 17, 18,
- 0, 0, 0, 21, 0, 20, 0, 0, 0, 0,
- 21, 680, 0, 0, 23, 0, 26, 647, 27, 28,
- 647, 647, 647, 26, 0, 27, 28, 0, 0, 0,
- 0, 1129, 194, 0, 0, 0, 0, 0, 0, 30,
- 0, 0, 195, 0, 0, 0, 0, 0, 0, 31,
- 32, 0, 0, 0, 196, 0, 0, 32, 0, 0,
- 0, 33, 0, 0, 0, 1276, 777, 777, 1276, 1276,
- 1276, 0, 0, 777, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 810, 810, 810,
- 810, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 258, 266, 0, 0, 0, 0, 0, 765, 473, 205,
- 0, 0, 0, 0, 0, 0, 203, 1516, 0, 1379,
- 1380, 1381, 10, 167, 12, 305, 306, 307, 0, 308,
- 14, 1382, 0, 1383, 1384, 1385, 1386, 1387, 1388, 1389,
- 1390, 1391, 1392, 15, 16, 309, 17, 18, 19, 0,
- 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
- 317, 1393, 23, 1394, 0, 0, 318, 319, 320, 321,
- 322, 26, 0, 1395, 262, 760, 0, 1396, 369, 0,
- 203, 0, 0, 0, 325, 0, 0, 326, 0, 0,
- 7, 8, 9, 10, 0, 327, 328, 329, 0, 473,
- 205, 0, 205, 330, 331, 332, 880, 0, 0, 333,
- 0, 1397, 0, 1276, 1276, 0, 1276, 0, 0, 0,
- 203, 203, 1082, 0, 0, 1517, 334, 258, 266, 21,
- 1082, 0, 765, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 26, 0, 27, 28, 0, 0, 1508, 0,
- 0, 203, 203, 203, 203, 203, 508, 473, 194, 203,
- 0, 0, 0, 473, 0, 473, 473, 0, 195, 0,
- 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
- 196, 0, 0, 0, 266, 0, 0, 0, 0, 0,
- 0, 0, 473, 0, 0, 0, 0, 203, 0, 473,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 502,
- 0, 0, 0, 0, 0, 0, 0, 0, 1276, 1276,
- 1276, 1276, 0, 0, 1001, 1003, 1004, 1005, 0, 1007,
- 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
- 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 8, 9, 10, 206, 12, 207, 7,
- 8, 9, 10, 14, 0, 540, 102, 0, 502, 502,
- 502, 0, 0, 0, 1276, 121, 102, 16, 0, 17,
- 18, 0, 102, 102, 0, 102, 20, 18, 0, 0,
- 0, 21, 0, 205, 0, 23, 765, 0, 21, 1567,
- 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
- 1511, 26, 0, 27, 28, 473, 0, 236, 0, 0,
- 30, 258, 266, 258, 0, 0, 0, 194, 0, 473,
- 31, 0, 0, 0, 0, 0, 0, 195, 32, 0,
- 0, 0, 33, 0, 0, 32, 0, 0, 0, 196,
- 1568, 684, 685, 686, 687, 688, 689, 690, 691, 692,
- 693, 694, 695, 696, 697, 698, 699, 700, 701, 702,
- 703, 704, 705, 0, 1115, 0, 394, 0, 121, 0,
- 0, 0, 0, 0, 0, 102, 102, 0, 0, 0,
- 0, 0, 102, 102, 0, 0, 102, 102, 102, 0,
- 422, 102, 102, 102, 0, 0, 0, 0, 0, 0,
- 0, 0, 203, 203, 203, 203, 203, 1082, 203, 0,
- 1277, 0, 203, 258, 1082, 1082, 1082, 645, 645, 645,
- 266, 0, 1179, 0, 0, 0, 203, 203, 203, 0,
- 0, 0, 0, 0, 0, 0, 7, 8, 9, 10,
- 167, 12, 13, 0, 203, 0, 0, 14, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 8, 9, 765,
- 473, 16, 247, 17, 18, 508, 0, 0, 0, 0,
- 20, 0, 0, 0, 473, 21, 473, 0, 473, 23,
- 0, 236, 102, 0, 18, 0, 0, 0, 26, 0,
- 27, 28, 0, 0, 0, 0, 0, 261, 8, 9,
- 10, 640, 102, 13, 30, 0, 0, 0, 26, 0,
- 130, 131, 0, 0, 31, 0, 0, 1233, 0, 0,
- 0, 0, 32, 0, 1523, 18, 33, 0, 0, 0,
- 0, 0, 0, 0, 1524, 0, 21, 0, 0, 0,
- 645, 0, 645, 645, 645, 102, 1525, 644, 0, 26,
- 473, 27, 262, 0, 0, 0, 0, 0, 598, 599,
- 600, 601, 602, 603, 604, 806, 605, 606, 607, 608,
- 609, 610, 611, 612, 613, 807, 0, 0, 0, 0,
- 0, 0, 0, 32, 0, 473, 0, 808, 0, 0,
- 0, 0, 102, 0, 102, 102, 0, 203, 203, 203,
- 203, 203, 1082, 8, 9, 203, 0, 0, 540, 0,
- 0, 0, 0, 0, 0, 0, 0, 765, 765, 203,
- 203, 203, 203, 0, 0, 0, 0, 0, 0, 0,
- 18, 0, 0, 7, 8, 9, 10, 206, 12, 207,
- 102, 203, 0, 0, 14, 0, 0, 640, 0, 0,
- 0, 1312, 0, 0, 26, 0, 130, 131, 16, 102,
- 17, 18, 0, 0, 0, 0, 102, 20, 0, 102,
- 1523, 0, 21, 8, 9, 0, 23, 0, 13, 0,
- 1524, 102, 0, 0, 0, 26, 0, 27, 28, 0,
- 0, 0, 1525, 644, 0, 0, 0, 0, 0, 0,
- 18, 30, 765, 765, 0, 0, 645, 645, 645, 0,
- 0, 31, 0, 0, 0, 981, 0, 640, 0, 32,
- 0, 0, 0, 33, 26, 0, 130, 131, 0, 0,
- 0, 0, 203, 0, 203, 0, 0, 0, 0, 0,
- 1523, 0, 0, 0, 0, 203, 203, 1277, 203, 0,
- 1524, 0, 0, 0, 0, 0, 0, 0, 1366, 0,
- 0, 0, 1525, 644, 0, 0, 0, 0, 102, 0,
- 830, 0, 0, 0, 0, 0, 0, 0, 473, 0,
- 473, 0, 473, 8, 9, 0, 167, 12, 13, 0,
- 765, 0, 0, 14, 102, 0, 102, 0, 645, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 0, 0, 0, 0, 0, 20, 0, 765, 0,
- 0, 0, 0, 0, 0, 726, 0, 0, 168, 0,
- 0, 0, 1434, 1435, 26, 0, 130, 131, 645, 645,
- 645, 1082, 0, 0, 0, 0, 0, 0, 981, 0,
- 203, 203, 1082, 203, 0, 0, 0, 0, 0, 0,
- 765, 0, 0, 599, 600, 601, 602, 603, 604, 102,
- 605, 606, 607, 608, 609, 610, 611, 612, 613, 0,
- 102, 102, 0, 102, 102, 0, 0, 0, 0, 473,
- 0, 7, 8, 9, 10, 215, 216, 217, 0, 0,
- 0, 0, 14, 0, 0, 0, 0, 0, 0, 1490,
- 1082, 1082, 1082, 0, 0, 0, 203, 0, 0, 18,
- 0, 0, 0, 0, 0, 20, 0, 0, 0, 0,
- 21, 0, 0, 0, 23, 203, 640, 0, 0, 0,
- 0, 0, 0, 26, 0, 27, 28, 0, 765, 645,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
- 102, 0, 1536, 0, 0, 0, 0, 102, 121, 195,
- 0, 0, 0, 0, 0, 0, 236, 32, 0, 0,
- 0, 1514, 0, 0, 0, 765, 8, 9, 0, 167,
- 12, 13, 0, 0, 470, 0, 14, 0, 0, 830,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
- 0, 0, 645, 645, 0, 0, 645, 0, 23, 645,
- 640, 0, 0, 0, 0, 0, 473, 26, 645, 130,
- 131, 0, 981, 981, 981, 0, 0, 0, 645, 0,
- 0, 0, 0, 1523, 0, 0, 1592, 1593, 18, 0,
- 0, 0, 0, 1524, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1525, 644, 0, 0, 830,
- 0, 0, 102, 0, 0, 0, 0, 0, 0, 1618,
- 0, 684, 685, 686, 687, 688, 689, 690, 691, 692,
- 693, 694, 695, 696, 697, 698, 699, 700, 701, 702,
- 703, 704, 705, 0, 102, 102, 102, 102, 0, 0,
- 1632, 0, 0, 0, 0, 0, 102, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 645, 645, 645, 645, 645, 645, 645, 0, 0, 0,
- 645, 0, 981, 981, 981, 0, 8, 9, 0, 167,
- 12, 13, 0, 0, 470, 0, 14, 0, 0, 8,
- 9, 0, 167, 12, 13, 0, 0, 1634, 0, 14,
- 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
- 0, 0, 0, 16, 0, 17, 18, 0, 23, 102,
- 102, 0, 20, 102, 0, 0, 102, 26, 0, 130,
- 131, 23, 0, 0, 0, 102, 0, 0, 0, 0,
- 26, 0, 130, 131, 0, 102, 0, 0, 0, 8,
- 9, 765, 206, 12, 207, 0, 0, 0, 0, 14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 0, 0, 0,
- 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
- 26, 0, 130, 131, 0, 0, 0, 645, 0, 0,
- 645, 645, 645, 0, 684, 685, 686, 687, 688, 689,
- 690, 691, 692, 693, 694, 695, 696, 697, 698, 699,
- 700, 701, 702, 703, 704, 705, 0, 0, 0, 0,
- 1597, 0, -502, -502, -502, -502, -502, -502, -502, 0,
- 0, -502, 0, -502, 0, 645, 645, 645, 645, 645,
- 645, 1338, 0, 645, -502, 0, -502, 0, 0, 0,
- -502, 0, 0, 0, 830, 0, -502, 0, 0, 0,
- 0, -502, 0, 0, 0, -502, 0, -502, 0, 0,
- 0, 0, 0, 0, -502, 0, -502, -502, -502, -502,
- -502, 102, -502, -502, -502, -502, -502, -502, -502, -502,
- -502, -502, -502, -502, -502, -502, -502, -502, -502, -502,
- -502, -502, -502, -502, -502, 0, -502, -502, -502, 0,
- -502, -502, -502, -502, -502, 0, 0, 0, 0, 0,
- 1598, -502, 0, 0, 0, 0, -502, -502, -502, 0,
- -502, 0, 0, 0, 0, 0, 0, 0, 102, 102,
- 0, 102, 684, 685, 686, 687, 688, 689, 690, 691,
- 692, 693, 694, 695, 696, 697, 698, 699, 700, 701,
- 702, 703, 704, 705, 102, 0, 0, 102, 102, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 645, 645, 1655, 645, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 830, 688, 689, 690,
- 691, 692, 693, 694, 695, 696, 697, 698, 699, 700,
- 701, 702, 703, 704, 705, 575, 0, 7, 8, 9,
- 10, 167, 12, 305, 306, 307, 470, 308, 14, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 830, 16, 309, 17, 18, 19, 0, 310, 311,
- 312, 20, 0, 313, 314, 315, 21, 316, 317, 102,
- 23, 102, 640, 0, 318, 319, 320, 321, 322, 26,
- 0, 27, 28, -336, 0, 0, 369, 0, 0, 0,
- 0, 0, 325, 0, 0, 1087, 0, 0, 645, 645,
- 645, 645, 0, 327, 328, 1088, 0, 0, 0, 0,
- 0, 330, 331, 332, 0, 0, 0, 1089, 644, 0,
- 907, 0, 261, 8, 9, 10, 167, 12, 305, 306,
- 307, 0, 308, 14, 334, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
- 18, 19, 0, 310, 311, 312, 20, 0, 313, 314,
- 315, 21, 316, 317, 645, 23, 0, 0, 0, 318,
- 319, 320, 321, 322, 26, 0, 27, 262, 1613, 0,
- -815, 369, 0, 0, 0, 0, 0, 325, 0, 0,
- 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
- 0, 575, 333, 261, 8, 9, 10, 0, 12, 305,
- 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
- 17, 18, 19, 0, 310, 311, 312, 20, 0, 313,
- 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
- 318, 319, 320, 321, 322, 26, 0, 27, 262, -336,
- 0, 0, 369, 0, 0, 0, 0, 0, 325, 0,
- 0, 576, 0, 0, 0, 0, 0, 0, 0, 327,
- 328, 577, 0, 0, 0, 0, 0, 330, 331, 332,
- 0, 0, 763, 578, 895, 896, 897, 10, 0, 12,
- 486, 306, 307, 0, 308, 14, 0, 0, 0, 0,
- 334, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 309, 17, 0, 19, 0, 310, 311, 312, 20, 0,
- 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
- 0, 318, 319, 320, 321, 322, 26, 0, 898, 899,
- 764, 0, 0, 369, 0, 0, 0, 0, 0, 325,
- 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
- 332, 0, 0, 0, 333, 900, 763, 0, 261, 8,
- 9, 10, 0, 12, 486, 306, 307, 0, 308, 14,
- 0, 334, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 309, 17, 0, 19, 0, 310,
- 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
- 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
- 26, 0, 27, 262, 764, 0, 0, 369, 0, 0,
- 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
- 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
- 0, 0, 330, 331, 332, 0, 0, 0, 333, 763,
- 0, 895, 896, 897, 10, 1286, 12, 486, 306, 307,
- 0, 308, 14, 0, 0, 334, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 309, 17, 0,
- 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
- 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
- 320, 321, 322, 26, 0, 898, 899, 764, 0, 0,
- 369, 0, 0, 0, 0, 0, 325, 0, 0, 326,
- 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
- 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
- 763, 333, 895, 896, 897, 10, 0, 12, 486, 306,
- 307, 0, 308, 14, 0, 0, 0, -506, 334, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
- 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
- 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
- 319, 320, 321, 322, 26, 0, 898, 899, 764, 0,
- 0, 369, 0, 0, 0, 0, 0, 325, 0, 0,
- 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
- 0, 575, 333, 7, 8, 9, 10, 0, 12, 305,
- 306, 307, 0, 308, 14, 0, 0, 0, 1417, 334,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
- 17, 18, 19, 0, 310, 311, 312, 20, 0, 313,
- 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
- 318, 319, 320, 321, 322, 26, 0, 27, 28, -336,
- 0, 0, 369, 0, 0, 0, 0, 0, 325, 0,
- 0, 1583, 0, 0, 0, 0, 0, 0, 0, 327,
- 328, 1584, 0, 0, 0, 0, 0, 330, 331, 332,
- 0, 0, 763, 1585, 261, 8, 9, 10, 0, 12,
- 486, 306, 307, 0, 308, 14, 0, 0, 0, 0,
- 334, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 309, 17, 0, 19, 0, 310, 311, 312, 20, 0,
- 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
- 0, 318, 319, 320, 321, 322, 26, 0, 27, 262,
- 764, 0, 0, 369, 0, 0, 0, 0, 0, 325,
- 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
- 332, 0, 0, 907, 333, 261, 8, 9, 10, 0,
- 12, 486, 306, 307, 0, 308, 14, 0, 0, 0,
- 0, 334, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 309, 17, 0, 19, 0, 310, 311, 312, 20,
- 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
- 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
- 262, 0, 0, 0, 369, -815, 0, 0, 0, 0,
- 325, 0, 0, 326, 0, 0, 0, 0, 0, 0,
- 0, 327, 328, 329, 0, 0, 0, 0, 0, 330,
- 331, 332, 0, 0, 1667, 333, 261, 8, 9, 10,
- 0, 12, 305, 306, 307, 0, 308, 14, 0, 0,
- 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
- 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
- 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
- 27, 262, 0, 0, -197, 369, 0, 0, 0, 0,
- 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
- 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
- 330, 331, 332, 0, 0, 907, 333, 261, 8, 9,
- 10, 0, 12, 486, 306, 307, 0, 308, 14, 0,
- 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 309, 17, 0, 19, 0, 310, 311,
- 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
- 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
- 0, 27, 262, 0, 0, 0, 369, 0, 0, 0,
- 0, 0, 325, 0, 0, 326, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 0, 0, 0, 0,
- 0, 330, 331, 332, 0, 0, 1000, 333, 261, 8,
- 9, 10, 0, 12, 486, 306, 307, 0, 308, 14,
- 0, 0, -815, 0, 334, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 309, 17, 0, 19, 0, 310,
- 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
- 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
- 26, 0, 27, 262, 0, 0, 0, 369, 0, 0,
- 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
- 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
- 0, 0, 330, 331, 332, 0, 0, 1002, 333, 261,
- 8, 9, 10, 0, 12, 486, 306, 307, 0, 308,
- 14, 0, 0, 0, 0, 334, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
- 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
- 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
- 322, 26, 0, 27, 262, 0, 0, 0, 369, 0,
- 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
- 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
- 0, 0, 0, 330, 331, 332, 0, 0, 1631, 333,
- 261, 8, 9, 10, 0, 12, 486, 306, 307, 0,
- 308, 14, 0, 0, 0, 0, 334, 0, 0, 0,
- 0, 0, 0, 0, 0, 16, 309, 17, 0, 19,
- 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
- 316, 317, 0, 23, 0, 0, 0, 318, 319, 320,
- 321, 322, 26, 0, 27, 262, 0, 0, 0, 369,
- 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
- 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
- 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
- 333, 261, 8, 9, 10, 0, 12, 486, 306, 307,
- 0, 308, 14, 0, 0, 0, 0, 334, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 309, 17, 0,
- 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
- 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
- 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
- 369, 0, 0, 0, 0, 0, 325, 0, 0, 326,
- 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
- 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
- 0, 333, 261, 8, 9, 10, 0, 12, 486, 306,
- 307, 0, 308, 14, 0, 0, 0, 0, 334, 487,
- 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
- 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
- 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
- 319, 320, 321, 322, 26, 0, 27, 262, 0, 0,
- 0, 369, 0, 0, 0, 0, 0, 325, 0, 0,
- 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
- 0, 0, 333, 261, 8, 9, 10, 0, 12, 486,
- 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
- 816, 0, 0, 0, 0, 0, 0, 0, 16, 309,
- 17, 0, 19, 0, 310, 311, 312, 20, 0, 313,
- 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
- 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
- 0, 0, 369, 0, 0, 0, 0, 0, 325, 0,
- 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
- 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
- 0, 0, 0, 333, 261, 8, 9, 10, 0, 12,
- 486, 306, 307, 0, 308, 14, 0, 0, 0, 0,
- 334, 946, 0, 0, 0, 0, 0, 0, 0, 16,
- 309, 17, 0, 19, 0, 310, 311, 312, 20, 0,
- 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
- 0, 318, 319, 320, 321, 322, 26, 0, 27, 262,
- 0, 0, 0, 369, 0, 0, 0, 0, 0, 325,
- 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
- 332, 0, 0, 0, 333, 261, 8, 9, 10, 0,
- 12, 486, 306, 307, 0, 308, 14, 0, 0, 0,
- 0, 334, 967, 0, 0, 0, 0, 0, 0, 0,
- 16, 309, 17, 0, 19, 0, 310, 311, 312, 20,
- 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
- 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
- 262, 0, 0, 0, 369, 0, 0, 0, 0, 0,
- 325, 0, 0, 326, 0, 0, 0, 0, 0, 0,
- 0, 327, 328, 329, 0, 0, 0, 0, 0, 330,
- 331, 332, 0, 0, 0, 333, 690, 691, 692, 693,
- 694, 695, 696, 697, 698, 699, 700, 701, 702, 703,
- 704, 705, 334, 1220, 1379, 1380, 1381, 10, 167, 12,
- 305, 306, 307, 0, 308, 14, 1382, 0, 1383, 1384,
- 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 15, 16,
- 309, 17, 18, 19, 0, 310, 311, 312, 20, 0,
- 313, 314, 315, 21, 316, 317, 1393, 23, 1394, 0,
- 0, 318, 319, 320, 321, 322, 26, 0, 1395, 262,
- 760, 0, 1396, 369, 0, 0, 0, 0, 0, 325,
- 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
- 332, 0, 0, 0, 333, 0, 1397, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1521, 334, 1379, 1380, 1381, 10, 167, 12, 305, 306,
- 307, 0, 308, 14, 1382, 0, 1383, 1384, 1385, 1386,
- 1387, 1388, 1389, 1390, 1391, 1392, 15, 16, 309, 17,
- 18, 19, 0, 310, 311, 312, 20, 0, 313, 314,
- 315, 21, 316, 317, 1393, 23, 1394, 0, 0, 318,
- 319, 320, 321, 322, 26, 0, 1395, 262, 760, 0,
- 1396, 369, 0, 0, 0, 0, 0, 325, 0, 0,
- 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
- 0, 0, 333, 0, 1397, 0, 1379, 1380, 1381, 10,
- 167, 12, 305, 306, 307, 0, 308, 14, 1382, 334,
- 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392,
- 15, 16, 309, 17, 18, 19, 0, 310, 311, 312,
- 20, 0, 313, 314, 315, 21, 316, 317, 1393, 23,
- 1394, 0, 0, 318, 319, 320, 321, 322, 26, 0,
- 1395, 262, 1640, 0, 1396, 369, 0, 0, 0, 0,
- 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
- 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
- 330, 331, 332, 0, 0, 0, 333, 0, 1397, 0,
- 1379, 1380, 1381, 10, 167, 12, 305, 306, 307, 0,
- 308, 14, 1382, 334, 1383, 1384, 1385, 1386, 1387, 1388,
- 1389, 1390, 1391, 1392, 15, 16, 309, 17, 18, 19,
- 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
- 316, 317, 1393, 23, 1394, 0, 0, 318, 319, 320,
- 321, 322, 26, 0, 1395, 262, 0, 0, 1396, 369,
- 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
- 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
- 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
- 333, 0, 1397, 261, 8, 9, 10, 167, 12, 305,
- 306, 307, 470, 308, 14, 0, 0, 334, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
- 17, 18, 19, 0, 310, 311, 312, 20, 0, 313,
- 314, 315, 21, 316, 317, 0, 23, 0, 640, 0,
- 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
- 0, 0, 369, 0, 0, 0, 0, 0, 325, 0,
- 0, 977, 0, 0, 0, 0, 0, 0, 0, 327,
- 328, 978, 0, 0, 0, 0, 0, 330, 331, 332,
- 0, 0, 0, 979, 644, 7, 8, 9, 10, 167,
- 12, 305, 306, 307, 470, 308, 14, 0, 0, 0,
- 334, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 309, 17, 18, 19, 0, 310, 311, 312, 20,
- 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
- 640, 0, 318, 319, 320, 321, 322, 26, 0, 27,
- 28, 0, 0, 0, 369, 0, 0, 0, 0, 0,
- 325, 0, 0, 1087, 0, 0, 0, 0, 0, 0,
- 0, 327, 328, 1088, 0, 0, 0, 0, 0, 330,
- 331, 332, 0, 0, 0, 1089, 644, 261, 8, 9,
- 10, 0, 12, 305, 306, 307, 0, 308, 14, 0,
- 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 309, 17, 18, 19, 0, 310, 311,
- 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
- 23, 0, 640, 0, 318, 319, 320, 321, 322, 26,
- 0, 27, 262, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 325, 0, 0, 977, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 978, 0, 0, 0, 0,
- 0, 330, 331, 332, 0, 0, 0, 979, 644, 7,
- 8, 9, 10, 0, 12, 305, 306, 307, 0, 308,
- 14, 0, 0, 0, 334, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 309, 17, 18, 19, 0,
- 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
- 317, 0, 23, 0, 640, 0, 318, 319, 320, 321,
- 322, 26, 0, 27, 28, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 325, 0, 0, 1087, 0, 0,
- 0, 0, 0, 0, 0, 327, 328, 1088, 0, 0,
- 0, 0, 0, 330, 331, 332, 0, 0, 0, 1089,
- 644, 261, 8, 9, 10, 0, 12, 486, 306, 307,
- 0, 308, 14, 0, 0, 0, 334, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 309, 17, 18,
- 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
- 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
- 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
- 369, 0, 0, 0, 0, 0, 325, 0, 0, 576,
- 0, 0, 0, 0, 0, 0, 0, 327, 328, 577,
- 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
- 0, 578, 261, 8, 9, 10, 0, 12, 486, 306,
- 307, 0, 308, 14, 0, 0, 0, 0, 334, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
- 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
- 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
- 319, 320, 321, 322, 26, 0, 27, 262, 0, 0,
- 1494, 369, 0, 0, 0, 0, 0, 325, 0, 0,
- 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
- 0, 0, 333, 261, 8, 9, 10, 167, 12, 305,
- 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
- 17, 18, 19, 0, 310, 311, 312, 20, 0, 313,
- 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
- 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 325, 0,
- 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
- 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
- 0, 0, 0, 333, 7, 8, 9, 10, 0, 12,
- 486, 306, 307, 0, 308, 14, 0, 0, 0, 0,
- 334, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 309, 17, 18, 19, 0, 310, 311, 312, 20, 0,
- 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
- 0, 318, 319, 320, 321, 322, 26, 0, 27, 28,
- 0, 0, 0, 369, 0, 0, 0, 0, 0, 325,
- 0, 0, 1583, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 1584, 0, 0, 0, 0, 0, 330, 331,
- 332, 0, 0, 0, 1585, 261, 8, 9, 10, 0,
- 12, 305, 306, 307, 0, 308, 14, 0, 0, 0,
- 0, 334, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 309, 17, 0, 19, 0, 310, 311, 312, 20,
- 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
- 0, 0, 318, 319, 320, 321, 322, 26, 0, 323,
- 262, 0, 0, 0, 324, 0, 0, 0, 0, 0,
- 325, 0, 0, 326, 0, 0, 0, 0, 0, 0,
- 0, 327, 328, 329, 0, 0, 0, 0, 0, 330,
- 331, 332, 0, 0, 0, 333, 261, 8, 9, 10,
- 0, 12, 305, 306, 307, 0, 308, 14, 0, 0,
- 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
- 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
- 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
- 27, 262, 0, 0, 0, 369, 0, 0, 0, 0,
- 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
- 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
- 330, 331, 332, 0, 0, 0, 333, 261, 8, 9,
- 10, 0, 12, 486, 306, 307, 0, 308, 14, 0,
- 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 309, 17, 0, 19, 0, 310, 311,
- 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
- 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
- 0, 27, 262, 0, 0, 0, 324, 0, 0, 0,
- 0, 0, 325, 0, 0, 326, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 0, 0, 0, 0,
- 0, 330, 331, 332, 0, 0, 0, 333, 261, 8,
- 9, 10, 0, 12, 486, 306, 307, 0, 308, 14,
- 0, 0, 0, 0, 334, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 309, 17, 0, 19, 0, 310,
- 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
- 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
- 26, 0, 27, 262, 590, 0, 0, 0, 0, 0,
- 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
- 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
- 0, 0, 330, 331, 332, 0, 0, 0, 591, 261,
- 8, 9, 10, 0, 12, 486, 306, 307, 0, 308,
- 14, 0, 0, 0, 0, 334, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
- 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
- 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
- 322, 26, 0, 27, 262, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
- 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
- 0, 0, 0, 330, 331, 332, 0, 0, 0, 333,
- 628, 261, 8, 9, 10, 0, 12, 486, 306, 307,
- 0, 308, 14, 0, 0, 0, 334, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 309, 17, 0,
- 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
- 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
- 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
- 369, 0, 0, 0, 0, 0, 325, 0, 0, 326,
- 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
- 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
- 0, 333, 261, 8, 9, 10, 0, 12, 486, 306,
- 307, 0, 308, 14, 0, 0, 0, 0, 334, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
- 18, 19, 0, 310, 311, 312, 20, 0, 313, 314,
- 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
- 319, 320, 321, 322, 26, 0, 27, 262, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 325, 0, 0,
- 576, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 577, 0, 0, 0, 0, 0, 330, 331, 332, 0,
- 0, 0, 578, 1239, 8, 9, 10, 0, 12, 486,
- 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
- 17, 0, 19, 0, 310, 311, 312, 20, 0, 313,
- 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
- 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
- 0, 0, 369, 0, 0, 0, 0, 0, 325, 0,
- 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
- 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
- 0, 0, 0, 333, 7, 8, 9, 10, 0, 12,
- 305, 306, 307, 0, 308, 14, 0, 0, 0, 0,
- 334, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 309, 17, 18, 19, 0, 310, 311, 312, 20, 0,
- 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
- 0, 318, 319, 320, 321, 322, 26, 0, 27, 28,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 325,
- 0, 0, 1583, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 1584, 0, 0, 0, 0, 0, 330, 331,
- 332, 0, 0, 0, 1585, 261, 8, 9, 10, 0,
- 12, 486, 306, 307, 0, 308, 14, 0, 0, 0,
- 0, 334, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 309, 17, 0, 19, 0, 310, 311, 312, 20,
- 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
- 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
- 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 325, 0, 0, 326, 0, 0, 0, 0, 0, 0,
- 0, 327, 328, 329, 0, 0, 0, 0, 0, 330,
- 331, 332, 0, 0, 0, 558, 261, 8, 9, 10,
- 0, 12, 486, 306, 307, 0, 308, 14, 0, 0,
- 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
- 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
- 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
- 27, 262, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
- 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
- 330, 331, 332, 0, 0, 0, 560, 261, 8, 9,
- 10, 0, 12, 486, 306, 307, 0, 308, 14, 0,
- 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 309, 17, 0, 19, 0, 310, 311,
- 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
- 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
- 0, 27, 262, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 325, 0, 0, 326, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 0, 0, 0, 0,
- 0, 330, 331, 332, 0, 0, 0, 333, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 683, 0, 0, 334, 684, 685, 686, 687, 688,
- 689, 690, 691, 692, 693, 694, 695, 696, 697, 698,
- 699, 700, 701, 702, 703, 704, 705, 1170, 0, 0,
- 0, 684, 685, 686, 687, 688, 689, 690, 691, 692,
- 693, 694, 695, 696, 697, 698, 699, 700, 701, 702,
- 703, 704, 705, 1648, 684, 685, 686, 687, 688, 689,
- 690, 691, 692, 693, 694, 695, 696, 697, 698, 699,
- 700, 701, 702, 703, 704, 705, 684, 685, 686, 687,
- 688, 689, 690, 691, 692, 693, 694, 695, 696, 697,
- 698, 699, 700, 701, 702, 703, 704, 705
-};
-
-static const short yycheck[] = { 4,
- 55, 46, 4, 175, 174, 23, 758, 210, 176, 80,
- 407, 14, 4, 359, 161, 353, 528, 149, 150, 22,
- 407, 42, 407, 126, 359, 4, 84, 4, 465, 686,
- 35, 76, 134, 35, 156, 740, 14, 42, 59, 588,
- 42, 308, 309, 35, 4, 248, 378, 90, 666, 92,
- 4, 42, 57, 30, 31, 252, 35, 244, 35, 133,
- 134, 935, 65, 42, 445, 42, 843, 72, 845, 210,
- 734, 124, 42, 144, 341, 35, 853, 133, 219, 84,
- 190, 35, 42, 88, 1476, 90, 483, 92, 42, 1398,
- 460, 12, 1564, 42, 137, 42, 483, 11, 301, 4,
- 39, 1408, 107, 108, 57, 83, 38, 84, 1415, 11,
- 11, 75, 1, 9, 1588, 1613, 55, 33, 8, 9,
- 175, 124, 1, 741, 14, 1566, 514, 60, 106, 0,
- 35, 136, 137, 204, 139, 1609, 48, 42, 1610, 60,
- 478, 55, 63, 531, 1691, 148, 80, 37, 169, 63,
- 353, 489, 218, 219, 61, 0, 46, 27, 48, 136,
- 165, 31, 359, 1, 169, 1663, 62, 169, 1715, 214,
- 59, 176, 149, 150, 165, 108, 136, 109, 169, 84,
- 59, 93, 136, 136, 63, 190, 1652, 108, 165, 210,
- 169, 61, 169, 109, 108, 65, 1670, 218, 219, 169,
- 360, 361, 109, 93, 1645, 165, 108, 108, 25, 169,
- 27, 165, 582, 190, 48, 169, 95, 194, 195, 12,
- 169, 59, 169, 176, 48, 63, 1692, 248, 60, 33,
- 49, 136, 62, 75, 27, 33, 239, 240, 31, 109,
- 55, 25, 59, 27, 93, 757, 63, 60, 63, 252,
- 4, 5, 1724, 413, 414, 48, 1565, 95, 1650, 93,
- 165, 61, 1569, 76, 169, 60, 60, 60, 61, 93,
- 63, 249, 65, 61, 108, 59, 350, 109, 95, 63,
- 301, 859, 4, 5, 108, 190, 991, 865, 346, 994,
- 352, 353, 354, 108, 350, 49, 398, 302, 55, 7,
- 93, 94, 61, 57, 58, 55, 453, 1306, 1307, 109,
- 140, 95, 1619, 108, 108, 108, 1190, 663, 75, 362,
- 60, 109, 325, 55, 1323, 75, 156, 81, 333, 60,
- 38, 63, 353, 267, 48, 57, 58, 390, 93, 48,
- 60, 346, 727, 1048, 1049, 149, 150, 151, 48, 354,
- 109, 48, 150, 151, 409, 48, 65, 362, 363, 48,
- 93, 75, 55, 366, 1671, 497, 498, 48, 108, 346,
- 511, 752, 753, 25, 377, 1039, 12, 108, 500, 93,
- 94, 359, 75, 213, 93, 717, 363, 390, 108, 759,
- 411, 221, 196, 93, 108, 75, 93, 975, 196, 25,
- 93, 27, 407, 363, 93, 410, 75, 59, 238, 363,
- 363, 63, 93, 475, 55, 477, 478, 479, 4, 93,
- 475, 48, 477, 478, 60, 12, 447, 63, 407, 65,
- 407, 4, 5, 59, 75, 48, 633, 63, 1437, 61,
- 33, 346, 447, 95, 510, 511, 48, 1446, 1447, 35,
- 1449, 48, 518, 872, 873, 874, 447, 478, 363, 48,
- 3, 4, 5, 6, 530, 48, 93, 94, 65, 95,
- 447, 476, 1346, 60, 479, 520, 63, 447, 483, 522,
- 93, 108, 55, 549, 57, 58, 48, 447, 1106, 510,
- 511, 93, 94, 447, 1043, 59, 93, 518, 71, 42,
- 937, 76, 407, 78, 93, 94, 483, 667, 81, 530,
- 93, 94, 55, 556, 57, 58, 4, 522, 4, 108,
- 497, 498, 107, 526, 529, 1230, 1231, 529, 549, 48,
- 55, 93, 25, 97, 27, 333, 1114, 61, 4, 5,
- 4, 5, 447, 9, 25, 1322, 89, 35, 1126, 35,
- 75, 556, 529, 558, 48, 560, 149, 150, 151, 48,
- 565, 566, 567, 568, 569, 63, 59, 625, 48, 529,
- 63, 84, 85, 578, 93, 529, 529, 75, 483, 4,
- 5, 751, 1160, 588, 1162, 49, 591, 590, 55, 55,
- 48, 57, 58, 57, 58, 529, 1595, 1596, 55, 93,
- 1112, 55, 95, 196, 93, 71, 63, 31, 3, 4,
- 5, 48, 63, 93, 669, 81, 718, 81, 75, 624,
- 625, 75, 48, 725, 529, 455, 59, 48, 94, 75,
- 633, 59, 57, 58, 48, 93, 434, 435, 643, 985,
- 48, 828, 829, 1040, 48, 650, 48, 834, 625, 670,
- 985, 725, 48, 1040, 59, 1040, 93, 48, 1095, 1096,
- 65, 491, 57, 58, 641, 642, 643, 93, 94, 65,
- 500, 733, 93, 650, 4, 5, 654, 720, 733, 93,
- 94, 884, 108, 55, 63, 93, 81, 517, 504, 93,
- 94, 93, 94, 497, 498, 499, 512, 93, 94, 1069,
- 498, 499, 93, 94, 108, 190, 108, 48, 726, 780,
- 55, 48, 733, 93, 981, 720, 876, 108, 48, 55,
- 625, 4, 5, 726, 63, 55, 55, 57, 58, 108,
- 75, 734, 60, 182, 837, 60, 61, 3, 643, 757,
- 6, 71, 1254, 1180, 1181, 650, 55, 1093, 76, 859,
- 78, 81, 93, 94, 820, 865, 93, 94, 1093, 76,
- 558, 764, 560, 93, 94, 31, 49, 108, 59, 108,
- 775, 108, 63, 63, 57, 58, 42, 63, 783, 577,
- 578, 108, 3, 4, 5, 75, 108, 1299, 985, 75,
- 108, 57, 58, 591, 108, 850, 773, 774, 775, 820,
- 45, 846, 847, 781, 55, 71, 783, 63, 55, 11,
- 55, 856, 63, 58, 109, 81, 63, 860, 861, 75,
- 863, 97, 884, 89, 75, 61, 48, 93, 75, 806,
- 807, 1268, 93, 55, 3, 48, 57, 58, 843, 60,
- 845, 843, 55, 845, 1196, 1197, 851, 1199, 853, 60,
- 61, 853, 650, 75, 859, 860, 861, 1195, 863, 1296,
- 865, 983, 75, 884, 55, 975, 843, 61, 845, 75,
- 775, 93, 63, 1033, 4, 5, 853, 94, 783, 9,
- 93, 63, 859, 843, 75, 845, 1056, 94, 865, 843,
- 843, 845, 845, 853, 93, 957, 1093, 850, 851, 853,
- 853, 1338, 964, 27, 497, 498, 499, 31, 1565, 843,
- 55, 845, 55, 60, 61, 4, 5, 851, 63, 853,
- 63, 983, 1109, 1110, 1111, 55, 1678, 57, 58, 934,
- 75, 111, 75, 938, 60, 93, 60, 61, 843, 93,
- 845, 71, 60, 61, 60, 61, 1078, 1079, 853, 75,
- 76, 81, 78, 75, 859, 1087, 1088, 60, 75, 1081,
- 865, 75, 65, 75, 969, 60, 55, 11, 57, 58,
- 975, 775, 75, 76, 979, 60, 61, 775, 60, 783,
- 108, 466, 71, 84, 85, 783, 3, 4, 5, 1426,
- 60, 61, 81, 108, 1154, 1155, 1156, 108, 975, 797,
- 977, 978, 979, 108, 1114, 94, 75, 985, 55, 807,
- 808, 27, 1083, 1075, 75, 31, 1126, 60, 61, 1081,
- 60, 61, 75, 1026, 108, 1, 1463, 3, 4, 5,
- 6, 109, 8, 60, 61, 1040, 1039, 1042, 1043, 65,
- 57, 58, 1699, 109, 60, 61, 108, 65, 108, 65,
- 1160, 1, 1162, 3, 4, 5, 81, 82, 83, 84,
- 85, 1040, 1117, 1040, 27, 111, 42, 1138, 75, 1407,
- 975, 108, 557, 49, 979, 1080, 108, 75, 55, 55,
- 75, 57, 58, 111, 1089, 1130, 3, 4, 5, 6,
- 111, 1136, 1137, 1098, 108, 1140, 1141, 108, 48, 1144,
- 1222, 1078, 1079, 1080, 108, 55, 59, 57, 58, 1114,
- 1087, 1088, 1089, 89, 108, 1093, 55, 1487, 8, 9,
- 8, 1126, 93, 48, 14, 42, 109, 957, 65, 60,
- 615, 93, 55, 1503, 964, 1040, 621, 1114, 623, 624,
- 57, 58, 1147, 93, 109, 1147, 61, 37, 1270, 1126,
- 37, 65, 65, 983, 65, 1160, 46, 1162, 61, 108,
- 1222, 1204, 108, 63, 1117, 1170, 4, 5, 108, 65,
- 1147, 65, 657, 111, 76, 1080, 4, 76, 1181, 60,
- 978, 979, 775, 1160, 1089, 1162, 108, 1147, 108, 108,
- 783, 76, 108, 1147, 1147, 63, 1356, 818, 108, 1204,
- 76, 76, 108, 108, 1138, 63, 1603, 35, 1270, 1114,
- 60, 108, 63, 1147, 42, 108, 1603, 55, 1588, 57,
- 58, 1126, 1227, 7, 8, 9, 108, 55, 94, 57,
- 14, 111, 109, 1405, 108, 1407, 1254, 858, 1406, 1609,
- 111, 108, 1147, 864, 89, 1075, 75, 31, 1225, 1226,
- 1227, 1081, 48, 37, 108, 1160, 108, 1162, 111, 1262,
- 1265, 108, 46, 1265, 108, 1268, 1636, 108, 63, 1607,
- 1275, 108, 1709, 1265, 1078, 1079, 1080, 4, 5, 109,
- 61, 1079, 1080, 1087, 1088, 1089, 109, 60, 1265, 108,
- 1088, 1089, 60, 65, 60, 108, 1273, 1274, 1275, 63,
- 1670, 108, 93, 93, 31, 4, 5, 190, 136, 109,
- 9, 1265, 140, 93, 93, 1292, 1293, 1322, 111, 108,
- 1322, 48, 1227, 108, 8, 1695, 30, 31, 55, 33,
- 57, 58, 31, 108, 108, 111, 33, 165, 108, 108,
- 65, 169, 55, 108, 71, 1322, 108, 175, 176, 970,
- 1405, 972, 1407, 57, 81, 59, 55, 108, 57, 58,
- 1265, 65, 1322, 108, 107, 108, 93, 94, 1322, 1322,
- 1275, 108, 71, 108, 823, 81, 82, 83, 84, 85,
- 108, 63, 81, 1317, 108, 111, 1407, 48, 1322, 1392,
- 1393, 108, 1222, 1398, 93, 223, 1398, 108, 55, 1444,
- 1445, 1406, 96, 1408, 1607, 108, 1408, 63, 63, 61,
- 1415, 61, 9, 1415, 61, 16, 1408, 1322, 1423, 108,
- 108, 1398, 108, 1415, 111, 3, 4, 5, 1226, 1227,
- 108, 1408, 108, 1580, 93, 93, 61, 141, 1415, 61,
- 1270, 65, 146, 55, 1398, 149, 150, 151, 191, 93,
- 93, 1583, 1584, 938, 1408, 17, 61, 55, 61, 4,
- 5, 1415, 108, 108, 1526, 1295, 107, 952, 1513, 954,
- 102, 956, 176, 108, 108, 1478, 1274, 1275, 182, 57,
- 58, 59, 11, 93, 61, 1078, 1079, 1080, 1658, 61,
- 194, 195, 196, 1398, 1087, 1088, 1089, 1500, 1501, 65,
- 61, 108, 60, 1408, 49, 61, 210, 61, 108, 108,
- 1415, 61, 57, 58, 218, 219, 0, 61, 175, 61,
- 1525, 61, 0, 0, 407, 35, 2, 1589, 170, 1501,
- 3, 4, 5, 6, 718, 363, 81, 1040, 1159, 169,
- 1161, 1688, 165, 1028, 1691, 1657, 1523, 1524, 1525, 3,
- 4, 5, 447, 1608, 1559, 851, 260, 94, 1254, 1564,
- 1565, 1566, 1564, 1565, 1569, 1712, 223, 1569, 1715, 42,
- 239, 139, 1564, 1486, 1577, 1724, 49, 1569, 1063, 1026,
- 1585, 409, 1559, 304, 57, 58, 1607, 1564, 1565, 1566,
- 333, 764, 1569, 1638, 243, 676, 1299, 1218, 1603, 1147,
- 483, 55, 1112, 57, 58, 1610, 1583, 1584, 1610, 851,
- 1564, 1565, 1319, 678, 1619, 1569, 89, 1619, 1610, 447,
- 1525, 997, 625, 3, 4, 5, 1603, 1619, 201, 333,
- 350, 124, 1408, 1610, 1, 1266, 3, 4, 5, 1678,
- 1645, 1695, 1619, 1624, 1690, 1423, 792, 475, 476, 477,
- 478, -1, -1, -1, 1559, 483, 1610, -1, -1, 1564,
- 1565, 1566, -1, 491, 1569, 1619, 1671, -1, 1645, 1671,
- 1119, 1120, -1, -1, -1, 55, 504, 57, 58, 1671,
- -1, 48, 1303, -1, 512, -1, -1, 1308, 55, -1,
- 57, 58, 59, 60, 1671, -1, 1526, 1146, 1603, -1,
- -1, 529, 1151, -1, -1, 1610, 410, 411, -1, -1,
- 1514, -1, -1, -1, 1619, -1, 1514, 1671, -1, 1724,
- 424, -1, 1724, 427, 4, 5, 93, 31, -1, 433,
- 434, 435, 1724, -1, -1, 439, -1, -1, -1, 1360,
- 1645, -1, -1, 3, 4, 5, 6, 1724, 3, 4,
- 5, -1, 409, -1, 3, 4, 5, -1, -1, 1589,
- 643, 82, -1, 506, -1, 324, 1671, 650, -1, 49,
- 1724, 1256, 476, 1258, 478, 1260, -1, 57, 58, 1583,
- 1584, 1585, 42, -1, -1, -1, 1584, 1585, 492, 49,
- -1, 495, -1, 497, 498, 499, -1, 57, 58, 503,
- 55, 81, 57, 58, 59, 509, 510, 511, 57, 58,
- 514, -1, -1, -1, 518, 558, -1, 560, 475, 1724,
- 477, 478, 565, -1, -1, -1, -1, 531, -1, 89,
- -1, -1, 1453, 1454, 491, 578, -1, 141, 159, -1,
- -1, 669, 146, 500, 3, 4, 5, 504, 591, 1470,
- -1, -1, 595, -1, 558, 512, 560, -1, -1, -1,
- -1, -1, -1, 1312, 1313, -1, 1315, 1316, -1, 1318,
- -1, 192, 576, 577, 578, 9, -1, -1, 12, 622,
- -1, -1, 1367, -1, 205, 628, -1, 591, -1, -1,
- 49, 195, 775, 3, 4, 5, 6, -1, 57, 58,
- 783, 644, -1, -1, -1, 733, -1, -1, 1529, 1530,
- 3, 4, 5, 6, 48, 3, 4, 5, -1, 7,
- 190, 1514, -1, -1, 1545, 1546, 60, -1, 62, 63,
- -1, 65, 42, 7, 8, 9, -1, 641, 642, 643,
- 14, -1, 76, 686, 78, 55, 650, 57, 58, 42,
- 38, 61, -1, 63, -1, 48, 260, 31, -1, 93,
- 94, 71, 55, 37, 57, 58, 670, 55, -1, 57,
- 58, 81, 46, -1, 108, -1, 859, -1, 71, 89,
- -1, -1, 865, 93, -1, 1434, 1435, 61, 81, -1,
- 1583, 1584, 1585, -1, -1, -1, 89, -1, -1, -1,
- 93, 94, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, -1, 669, -1, -1, 843, -1, 845, 3, 4,
- 5, -1, 850, 851, -1, 853, 3, 4, 5, 733,
- 734, 3, 4, 5, 593, 594, -1, 596, 597, 598,
- 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
- 609, 610, 611, 612, 613, 3, 4, 5, 6, 3,
- 4, 5, 6, -1, 49, -1, -1, -1, -1, 773,
- 774, 775, 57, 58, -1, -1, 733, -1, 55, 783,
- 57, 58, -1, -1, -1, 57, 58, 1536, 1537, 1538,
- -1, -1, 975, 797, 42, -1, 979, -1, 42, -1,
- 804, 805, 806, 807, 808, 3, 4, 5, 812, 57,
- 58, 55, -1, 57, 58, -1, 820, 61, -1, 823,
- 424, -1, -1, 427, 3, 4, 5, 71, 7, 8,
- 9, -1, -1, 194, 195, 439, -1, 81, -1, -1,
- -1, 89, -1, 1592, 1593, 89, -1, 851, -1, 93,
- -1, -1, 31, 3, 4, 5, 6, 1040, 37, 57,
- 58, 4, 5, -1, -1, 8, 9, -1, 3, 4,
- 5, 14, 7, 8, 9, -1, 55, -1, 57, 58,
- 59, 502, -1, -1, -1, 28, 507, 30, 492, -1,
- -1, 495, 42, 850, 37, -1, 466, 1080, -1, 942,
- -1, -1, -1, 46, -1, 509, 1089, 57, 58, -1,
- -1, 532, 55, 1662, 57, 58, 59, 538, -1, -1,
- -1, -1, 57, 58, 103, 104, 105, -1, -1, 550,
- 551, 1114, 553, 976, -1, -1, 979, -1, -1, 89,
- -1, -1, -1, 1126, -1, -1, -1, 1075, -1, -1,
- 93, -1, -1, -1, 958, -1, -1, 961, -1, -1,
- -1, -1, 3, 4, 5, 6, 3, 4, 5, 973,
- 7, 8, 9, 977, 978, 979, -1, 1160, -1, 1162,
- 4, 5, -1, 7, 8, 9, -1, 557, 12, 1117,
- 14, -1, -1, -1, 31, 3, 4, 5, 39, 40,
- 37, 42, -1, -1, 28, -1, 30, 31, 3, 4,
- 5, -1, -1, 37, 55, -1, 57, 58, -1, 1147,
- 57, 58, 46, -1, 48, 646, 647, -1, -1, -1,
- 651, 55, -1, 57, 58, 1039, 3, 4, 5, -1,
- -1, -1, -1, -1, 1227, 615, 1089, 71, 89, 57,
- 58, 621, -1, 623, 624, -1, -1, 81, -1, -1,
- -1, -1, 57, 58, -1, 3, 4, 5, 6, 93,
- 94, 9, 1076, 1077, 1078, 1079, 1080, -1, -1, -1,
- 650, 1085, -1, 1087, 1088, 1089, -1, 657, -1, -1,
- 57, 58, 1275, 31, -1, 1099, 1100, 1101, -1, 7,
- 8, 9, -1, -1, 42, -1, 14, 3, 4, 5,
- 6, -1, -1, 9, -1, 1119, 1120, 55, 1075, 57,
- 58, -1, -1, 31, 1081, 3, 4, 5, 6, 37,
- -1, 492, -1, 71, 495, 31, 497, 498, 46, -1,
- -1, -1, 1146, 81, -1, -1, 42, 1151, 509, -1,
- -1, 89, 48, 61, -1, 93, 777, 1200, -1, 55,
- 1117, 57, 58, -1, 42, 4, 5, -1, -1, -1,
- 774, 49, -1, -1, -1, 71, -1, -1, -1, 57,
- 58, -1, -1, -1, -1, 81, 1314, 1046, -1, 810,
- -1, 1319, -1, 89, 1322, -1, -1, 93, 94, -1,
- 804, 805, -1, 81, 4, -1, 45, -1, 812, 4,
- 5, 89, -1, 783, 14, -1, 55, -1, 57, 58,
- -1, 1225, 1226, 1227, 24, -1, -1, 797, -1, -1,
- 30, 31, -1, 33, -1, 35, 31, -1, -1, -1,
- -1, -1, 42, -1, -1, 866, -1, 868, -1, -1,
- -1, -1, -1, 48, -1, 55, -1, 57, -1, -1,
- 55, -1, 57, 58, -1, 65, -1, 1271, 1272, 1273,
- 1274, 1275, 72, -1, 1278, -1, 71, 1405, 1406, 1407,
- -1, -1, -1, 83, 84, -1, 81, 48, 1292, 1293,
- 1294, 1334, 1335, 1336, 1337, -1, -1, -1, 93, 94,
- -1, 1344, -1, -1, -1, -1, 106, -1, 1312, 1313,
- -1, 1315, 1316, 1270, 1318, -1, -1, -1, -1, 940,
- 941, -1, 943, -1, -1, 1184, 87, 88, -1, -1,
- 91, 92, 93, 94, 134, -1, 136, -1, 1295, -1,
- 140, 141, 1525, -1, -1, 145, 146, -1, 1391, 149,
- 150, 151, -1, 974, -1, -1, -1, 1314, -1, 7,
- 8, 9, -1, -1, -1, 165, 14, -1, 938, 169,
- -1, -1, -1, -1, -1, 175, 176, -1, -1, -1,
- -1, -1, 952, 31, 954, -1, 956, -1, -1, 37,
- -1, -1, -1, -1, 194, 195, 196, -1, 46, -1,
- -1, -1, 1406, 1407, 79, 80, 81, 82, 83, 84,
- 85, -1, 773, 774, 1418, 1419, -1, 1421, -1, -1,
- 1603, -1, -1, 223, 4, 5, -1, -1, 8, 9,
- 1434, 1435, -1, -1, 14, -1, -1, -1, -1, -1,
- 240, -1, -1, 804, 805, 806, 807, -1, 1405, 249,
- 1407, 812, -1, 1496, -1, -1, -1, 37, 1028, -1,
- 260, -1, -1, 1084, -1, -1, 46, -1, 48, -1,
- -1, -1, 1076, 1077, -1, 55, -1, 57, 58, -1,
- 1608, 1085, -1, -1, 4, 5, -1, -1, 8, 9,
- -1, 71, 1113, 1063, 14, -1, -1, -1, -1, -1,
- -1, 81, 302, 303, 1125, -1, -1, -1, -1, -1,
- 1514, -1, -1, 93, 94, -1, 1559, 37, -1, 1523,
- 1524, 1525, 1565, 1566, -1, -1, 46, -1, 48, -1,
- -1, -1, 1536, 1537, 1538, 55, -1, 57, 58, -1,
- -1, -1, 1585, -1, -1, -1, 346, -1, -1, -1,
- 350, 71, 352, 353, 354, -1, -1, -1, -1, -1,
- -1, 81, -1, 363, 4, 5, -1, -1, -1, 1526,
- -1, -1, -1, 93, 94, -1, -1, 107, 108, 1583,
- 1584, 1585, -1, -1, -1, -1, -1, -1, 1592, 1593,
- -1, 31, 1213, -1, 3, 4, 5, 6, 398, -1,
- -1, -1, 1645, -1, -1, -1, -1, 407, -1, 409,
- 410, -1, -1, -1, -1, 55, -1, 57, 58, -1,
- -1, -1, 1665, -1, 424, -1, -1, 427, -1, -1,
- -1, 71, 1589, 42, -1, -1, -1, -1, -1, 439,
- -1, 81, -1, -1, 1687, -1, 55, 447, 57, 58,
- -1, 1608, -1, 93, 63, 1276, 1699, 80, 1662, -1,
- 190, -1, 71, -1, -1, -1, -1, 1271, 1272, -1,
- -1, -1, 81, -1, 1278, 475, 476, 477, 478, 479,
- 89, 104, -1, 483, 93, -1, 1256, -1, 1258, -1,
- 1260, 491, 492, -1, -1, 495, -1, 497, 498, 499,
- 500, -1, -1, 1324, 504, -1, -1, 1328, -1, 509,
- 133, -1, 512, -1, -1, 1076, 1077, 1078, 1079, -1,
- -1, 144, -1, -1, 1085, -1, 1087, 1088, -1, 529,
- -1, 3, 4, 5, 6, 7, 8, 9, 1099, 1100,
- 1101, 1362, 14, 79, 80, 81, 82, 83, 84, 85,
- 3, 4, 5, 6, 554, -1, 28, -1, 30, 31,
- -1, -1, -1, -1, -1, 37, 566, 567, 568, 569,
- 42, -1, -1, -1, 46, -1, 48, -1, 31, -1,
- -1, 204, -1, 55, -1, 57, 58, -1, -1, 42,
- -1, -1, -1, -1, -1, -1, -1, 1367, -1, 71,
- -1, -1, 55, 333, 57, 58, -1, -1, 1429, 81,
- -1, -1, 1433, -1, -1, -1, 239, 89, 71, -1,
- -1, 93, 94, 641, 642, 625, -1, 627, 81, 3,
- 4, 5, 6, -1, 1455, 1456, 89, -1, -1, 639,
- 93, 641, 642, 643, 267, -1, -1, -1, -1, -1,
- 650, -1, -1, -1, 654, 74, 75, 31, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, -1, 42, 669,
- -1, -1, -1, -1, 48, 4, 5, 407, -1, -1,
- 9, 55, -1, 57, 58, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, -1, 4, 5, 71, -1, -1,
- 9, -1, 31, -1, -1, -1, -1, 81, -1, -1,
- 1271, 1272, 1273, 1274, -1, 89, -1, 1278, 718, 93,
- 94, -1, 31, -1, -1, 725, 55, -1, 57, 58,
- -1, 1292, 1293, 733, 734, 358, -1, -1, -1, 48,
- -1, -1, 71, -1, 1514, -1, 55, -1, 57, 58,
- -1, -1, 81, 483, -1, 773, 774, -1, -1, -1,
- -1, -1, 71, -1, 93, -1, -1, -1, -1, -1,
- -1, -1, 81, 773, 774, 775, -1, -1, -1, -1,
- -1, 781, -1, 783, 93, 94, 68, 69, 70, 71,
- 72, 73, 74, 75, 417, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 804, 805, 806, 807, 808, 73,
- 74, 75, 812, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, -1, -1, 3, 4, 5, 6, 558, -1,
- 560, 3, 4, 5, 6, 565, 566, 567, 568, 569,
- 840, -1, -1, 843, -1, 845, -1, -1, 578, -1,
- 850, 851, 31, 853, -1, -1, -1, 1418, 1419, 859,
- 1421, 591, -1, 42, -1, 865, -1, -1, -1, 48,
- 42, -1, 872, 873, 874, -1, 55, -1, 57, 58,
- -1, -1, -1, 55, 884, 57, 58, 3, 4, 5,
- 6, 63, 71, -1, 624, -1, -1, -1, -1, 71,
- -1, -1, 81, 526, -1, -1, -1, -1, -1, 81,
- 89, -1, -1, 643, 93, 94, -1, 89, -1, -1,
- 650, 93, -1, 39, 40, -1, 42, -1, -1, 552,
- -1, -1, -1, -1, 934, 3, 4, 5, 6, 55,
- 958, 57, 58, 961, -1, -1, -1, -1, 3, 4,
- 5, 6, -1, -1, 9, 973, -1, 957, 958, 977,
- 978, 961, 1523, 1524, 964, -1, -1, -1, -1, 969,
- -1, -1, -1, 973, 42, 975, 31, 977, 978, 979,
- -1, 49, -1, 983, -1, 985, -1, 42, -1, 57,
- 58, -1, -1, 48, -1, -1, 3, 4, 5, 6,
- 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 81, -1, 638, 71, 3, 4, 5,
- 6, 89, 1583, 1584, 31, -1, 81, -1, -1, -1,
- 653, -1, -1, -1, 89, 42, -1, -1, 93, 94,
- 1040, -1, 1042, -1, -1, 775, -1, -1, 55, -1,
- 57, 58, -1, 783, -1, -1, 42, -1, 1076, 1077,
- 1078, 1079, -1, 49, 71, -1, -1, 1085, -1, 1087,
- 1088, 57, 58, -1, 81, 1075, 1076, 1077, 1078, 1079,
- 1080, 1081, 89, -1, -1, 1085, 93, 1087, 1088, 1089,
- -1, -1, -1, 1093, -1, 81, -1, -1, 1098, 1099,
- 1100, 1101, -1, 89, 3, 4, 5, 6, -1, -1,
- 9, -1, -1, -1, 1114, -1, -1, 1117, -1, -1,
- -1, -1, -1, -1, -1, -1, 1126, -1, -1, 859,
- -1, -1, 31, -1, -1, 865, -1, -1, -1, 1139,
- -1, -1, -1, 42, -1, -1, -1, 1147, -1, 48,
- -1, -1, -1, -1, -1, -1, 55, 780, 57, 58,
- 1160, -1, 1162, -1, 3, 4, 5, 6, -1, -1,
- 1170, -1, 71, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 81, -1, -1, -1, 809, -1, -1, -1,
- 89, -1, -1, -1, 93, 94, 1196, 1197, -1, 1199,
- -1, -1, -1, 42, 934, -1, -1, 1225, 1226, -1,
- 49, -1, -1, -1, -1, -1, -1, -1, 57, 58,
- -1, -1, 1222, -1, -1, 1225, 1226, 1227, -1, -1,
- 3, 4, 5, 6, -1, -1, 9, -1, -1, 969,
- -1, -1, 81, -1, -1, 975, -1, -1, -1, 979,
- 89, -1, 875, 1271, 1272, 1273, 1274, -1, 31, -1,
- 1278, -1, -1, -1, -1, -1, -1, -1, -1, 42,
- 1270, 1271, 1272, 1273, 1274, 1275, -1, -1, 1278, -1,
- 4, -1, 55, -1, 57, 58, -1, -1, -1, -1,
- 14, -1, 1292, 1293, 1294, 1295, -1, -1, 71, 23,
- 24, 3, 4, 5, 6, -1, 30, 31, 81, 33,
- 1040, 35, 1042, -1, 1314, -1, 89, -1, 42, 1319,
- 93, -1, 1322, 3, 4, 5, 6, -1, -1, 31,
- -1, 55, -1, 57, 3, 4, 5, 6, -1, -1,
- 42, 65, -1, -1, -1, -1, 48, -1, 72, -1,
- 1080, -1, -1, 55, -1, 57, 58, -1, -1, 1089,
- 84, 984, 42, 986, -1, -1, -1, -1, 1098, 71,
- -1, -1, -1, 42, -1, -1, -1, 57, 58, 81,
- 49, -1, -1, -1, 1114, -1, -1, 89, 57, 58,
- -1, 93, 94, -1, -1, -1, 1126, -1, -1, -1,
- 1418, 1419, -1, 1421, -1, 1405, 1406, 1407, -1, 89,
- -1, -1, 136, -1, -1, -1, 140, 141, 1418, 1419,
- 89, 1421, 146, 1423, -1, 149, 150, 151, -1, -1,
- 1160, -1, 1162, -1, -1, -1, -1, -1, -1, -1,
- 1170, 165, -1, -1, -1, 169, -1, -1, -1, -1,
- -1, 175, 176, -1, -1, -1, -1, -1, -1, -1,
- 1083, -1, -1, 1086, -1, -1, -1, -1, -1, -1,
- 194, 195, 196, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1, -1, -1, 4, 5, -1, -1,
- 8, 9, -1, -1, -1, -1, 14, 1227, -1, 223,
- -1, -1, -1, -1, -1, 1523, 1524, -1, -1, -1,
- 28, -1, 30, -1, 1514, 1138, -1, -1, -1, 37,
- -1, 39, 40, 1523, 1524, 1525, 1526, -1, 46, -1,
- 48, -1, -1, -1, -1, -1, 260, 55, -1, 57,
- 58, -1, 60, -1, -1, 1275, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, -1, -1, 87,
- 88, 89, -1, 91, -1, -1, 94, -1, 302, 303,
- -1, -1, -1, 1583, 1584, 1585, -1, -1, -1, 1589,
- 4, 5, 110, -1, 8, 9, -1, -1, -1, -1,
- 14, -1, -1, 1603, -1, -1, -1, -1, 1608, -1,
- -1, -1, -1, -1, 28, -1, 30, -1, -1, -1,
- -1, -1, 346, 37, -1, -1, 350, -1, 352, 353,
- 354, -1, 46, -1, -1, 359, -1, -1, -1, 363,
- -1, 55, -1, 57, 58, -1, -1, -1, -1, -1,
- -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
- -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
- 3, 4, 5, 6, 398, -1, 9, 27, 28, 93,
- 30, 31, 32, 407, -1, 409, 410, 37, -1, -1,
- -1, -1, 42, 1423, 1317, 45, 46, 47, 31, 49,
- 424, -1, -1, 427, -1, 55, -1, 57, 58, 42,
- -1, 61, -1, -1, -1, 439, -1, -1, -1, -1,
- -1, 71, 55, 447, 57, 58, -1, -1, -1, -1,
- -1, 81, -1, -1, -1, -1, -1, -1, 71, 89,
- -1, -1, -1, 93, -1, -1, -1, 97, 81, -1,
- -1, 475, 476, 477, 478, 479, 89, -1, -1, 483,
- 93, -1, 3, 4, 5, 6, -1, 491, 492, -1,
- -1, 495, -1, 497, 498, 499, 500, -1, -1, -1,
- 504, -1, -1, -1, -1, 509, -1, -1, 512, -1,
- 31, -1, -1, -1, -1, 1525, -1, 1420, -1, -1,
- -1, 42, -1, -1, 528, 529, -1, -1, -1, -1,
- -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
- 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
- 71, -1, -1, 14, -1, -1, -1, -1, -1, -1,
- 81, -1, 566, 567, 568, 569, -1, 28, 89, 30,
- 31, 32, 93, -1, -1, 1585, 37, -1, -1, -1,
- -1, 42, -1, -1, -1, 46, -1, -1, 49, -1,
- -1, -1, -1, 1603, 55, -1, 57, 58, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 71, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 81, 625, -1, 627, -1, -1, -1, -1, 89, -1,
- -1, -1, 93, -1, -1, -1, 97, 641, 642, 643,
- -1, -1, -1, -1, -1, 1, 650, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 663,
- -1, -1, -1, -1, -1, 669, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
- 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
- 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
- -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
- -1, -1, 68, -1, 718, 71, -1, -1, -1, -1,
- -1, -1, 726, 79, 80, 81, -1, -1, -1, 733,
- 734, 87, 88, 89, -1, -1, -1, 93, 94, 3,
- 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
- 14, -1, -1, 757, 110, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 28, -1, 30, 31, 32, 773,
- 774, 775, -1, 37, -1, -1, -1, -1, 42, 783,
- -1, -1, 46, -1, -1, 49, -1, -1, -1, -1,
- -1, 55, -1, 57, 58, -1, 3, 4, 5, 6,
- 804, 805, 806, 807, 808, -1, -1, 71, 812, -1,
- -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
- -1, -1, -1, -1, 31, 89, -1, -1, -1, 93,
- -1, -1, -1, 97, -1, 42, 840, -1, -1, 843,
- -1, 845, -1, -1, -1, -1, 850, 851, 55, 853,
- 57, 58, -1, -1, -1, 859, -1, -1, -1, -1,
- -1, 865, -1, -1, 71, -1, -1, -1, 872, 873,
- 874, -1, -1, -1, 81, -1, -1, -1, -1, -1,
- 884, -1, 89, -1, -1, -1, 93, -1, 1, -1,
- 3, 4, 5, 6, 7, 8, 9, 72, 73, 74,
- 75, 14, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, -1, -1, -1, -1, 28, -1, 30, 31, 32,
- -1, -1, -1, -1, 37, 38, -1, -1, -1, 42,
- 934, -1, -1, 46, 47, -1, 49, -1, 3, 4,
- 5, 6, 55, -1, 57, 58, -1, -1, 61, -1,
- 63, -1, -1, 957, 958, -1, -1, 961, 71, -1,
- 964, -1, -1, -1, -1, 969, -1, -1, 81, 973,
- -1, 975, -1, 977, 978, 979, 89, 42, -1, 983,
- 93, 985, -1, -1, 49, -1, -1, -1, -1, -1,
- -1, -1, 57, 58, -1, -1, 109, -1, 1, -1,
- 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
- -1, 14, -1, -1, -1, -1, 81, -1, -1, -1,
- -1, -1, -1, -1, 89, 28, -1, 30, 31, 32,
- -1, -1, -1, -1, 37, 38, 1040, -1, 1042, 42,
- -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
- -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
- 63, 3, 4, 5, 6, -1, -1, -1, 71, -1,
- -1, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 81, -1,
- -1, 1085, -1, 1087, 1088, 1089, 89, -1, -1, 1093,
- 93, -1, -1, -1, 1098, 1099, 1100, 1101, -1, -1,
- 42, -1, -1, -1, -1, -1, 109, 49, 1112, -1,
- 1114, -1, -1, 1117, -1, 57, 58, -1, -1, -1,
- -1, -1, 1126, -1, -1, -1, -1, -1, -1, 3,
- 4, 5, 6, 7, 8, 9, -1, -1, -1, 81,
- 14, -1, -1, 1147, -1, -1, 1, 89, 3, 4,
- 5, 6, 7, 8, 9, -1, 1160, 31, 1162, 14,
- -1, -1, -1, 37, -1, -1, 1170, -1, 42, -1,
- -1, -1, 46, 28, 48, 30, 31, -1, -1, -1,
- -1, 55, 37, 57, 58, -1, -1, 42, -1, -1,
- -1, 46, 1196, 1197, 49, 1199, -1, 71, -1, -1,
- 55, -1, 57, 58, 4, -1, 61, 81, 3, 4,
- 5, 6, -1, -1, 9, 89, 71, -1, 1222, 93,
- 94, 1225, 1226, 1227, -1, -1, 81, -1, -1, -1,
- 30, 31, -1, 33, 89, 35, 31, -1, 93, -1,
- -1, -1, 42, -1, -1, -1, -1, 42, -1, -1,
- 1254, -1, -1, 48, -1, 55, -1, 57, -1, -1,
- 55, -1, 57, 58, -1, -1, 1270, 1271, 1272, 1273,
- 1274, 1275, -1, -1, 1278, -1, 71, -1, -1, -1,
- 80, -1, -1, 83, -1, -1, 81, -1, 1292, 1293,
- 1294, 1295, -1, -1, 89, 1299, -1, -1, 93, 94,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 1314, -1, -1, -1, -1, 1319, -1, -1, 1322, 3,
- 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
- 14, -1, -1, 133, 134, -1, 136, -1, -1, -1,
- 140, 141, -1, -1, 144, 145, 146, 31, -1, 149,
- 150, 151, -1, 37, -1, -1, 156, -1, 42, -1,
- -1, -1, 46, -1, 48, 165, -1, -1, -1, 169,
- -1, 55, -1, 57, 58, 175, 176, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
- 1394, -1, -1, -1, 194, 195, 196, 81, -1, -1,
- -1, 1405, 1406, 1407, 204, 89, -1, -1, -1, 93,
- 94, -1, -1, -1, 1418, 1419, -1, 1421, -1, 1423,
- -1, -1, -1, 223, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 1, -1, 3,
- 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
- 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 260, -1, -1, -1, 28, 29, 30, 267, 32, -1,
- 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
- 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
- 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
- -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
- 1514, -1, -1, -1, -1, 79, 80, 81, -1, 1523,
- 1524, 1525, 1526, 87, 88, 89, -1, -1, -1, 93,
- 94, -1, -1, 333, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 109, 110, -1, -1, -1,
- 350, 3, 4, 5, 6, -1, -1, -1, 358, -1,
- -1, 4, 5, 363, -1, -1, 9, -1, 3, 4,
- 5, 6, -1, -1, 9, -1, -1, -1, -1, 1583,
- 1584, 1585, -1, -1, -1, 1589, -1, -1, 31, -1,
- 42, -1, -1, -1, -1, -1, 31, -1, 398, 1603,
- -1, -1, -1, 55, 1608, 57, 58, 42, -1, 409,
- -1, 63, 55, 48, 57, 58, -1, 417, -1, 71,
- 55, -1, 57, 58, 424, -1, -1, 427, 71, 81,
- -1, -1, -1, 433, 434, 435, 71, 89, 81, 439,
- -1, 93, -1, -1, -1, -1, 81, 447, -1, -1,
- 93, -1, -1, -1, 89, -1, -1, -1, 93, 94,
- -1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
- -1, -1, -1, 14, -1, 475, 476, 477, 478, 3,
- 4, 5, 6, 483, -1, 9, -1, 28, -1, 30,
- 31, 491, 492, -1, -1, 495, 37, 497, 498, 499,
- 500, 42, -1, -1, 504, 46, -1, 31, -1, 509,
- -1, -1, 512, -1, 55, 4, 57, 58, 42, -1,
- 61, -1, -1, -1, 48, -1, -1, -1, -1, 529,
- 71, 55, -1, 57, 58, -1, -1, -1, -1, -1,
- 81, 30, 31, -1, 33, -1, 35, 71, 89, -1,
- -1, -1, 93, 42, -1, -1, -1, 81, 558, -1,
- 560, -1, -1, -1, -1, 89, 55, -1, 57, 93,
- 94, -1, -1, -1, -1, -1, 576, 577, 578, 1,
- -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
- -1, 591, 14, -1, 83, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 28, -1, 30, 31,
- 32, -1, -1, -1, -1, 37, -1, -1, -1, -1,
- 42, -1, -1, -1, 46, 47, -1, 49, -1, -1,
- -1, -1, -1, 55, -1, 57, 58, -1, 638, 61,
- -1, 63, -1, -1, -1, -1, -1, 136, -1, 71,
- 650, 140, 141, -1, -1, -1, 145, 146, -1, 81,
- 149, 150, 151, -1, -1, -1, -1, 89, -1, 669,
- -1, 93, -1, -1, -1, -1, 165, 88, -1, 90,
- 169, 92, -1, -1, -1, -1, 175, 176, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 194, 195, 196, 1, -1,
- 3, 4, 5, 6, 7, 8, 9, -1, 718, -1,
- -1, 14, -1, -1, -1, 725, 137, -1, 139, -1,
- -1, -1, -1, 733, 223, 28, -1, 30, 31, 32,
- -1, -1, -1, -1, 37, 38, -1, -1, -1, 42,
- -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
- -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
- 63, 260, -1, 773, 774, 775, -1, -1, 71, -1,
- 780, 781, -1, 783, -1, -1, -1, -1, 81, -1,
- -1, -1, -1, -1, -1, -1, 89, 797, -1, -1,
- 93, -1, -1, -1, 804, 805, 806, 807, 808, -1,
- -1, -1, 812, -1, -1, -1, 109, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
- -1, 1, 9, 3, 4, 5, 6, 7, 8, 9,
- -1, -1, -1, 843, 14, 845, -1, -1, -1, -1,
- 850, 851, -1, 853, 31, -1, -1, -1, 28, -1,
- 30, 31, 32, -1, -1, 42, -1, 37, 38, -1,
- 359, -1, 42, -1, 363, -1, 46, 47, 55, 49,
- 57, 58, -1, -1, -1, 55, -1, 57, 58, -1,
- -1, 61, -1, 63, 71, -1, -1, -1, -1, 310,
- 311, 71, -1, -1, 81, -1, -1, -1, -1, -1,
- -1, 81, 89, 324, -1, 326, 93, -1, 329, 89,
- 409, 332, -1, 93, 335, -1, -1, -1, 339, -1,
- -1, -1, -1, -1, -1, 424, 347, -1, 427, 109,
- -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
- 439, 362, 9, -1, -1, -1, -1, -1, 447, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 31, -1, -1, 977, 978, 979,
- -1, -1, -1, 983, 984, 42, 475, 476, 477, 478,
- -1, -1, -1, -1, 483, -1, -1, -1, 55, -1,
- 57, 58, 491, 492, -1, -1, 495, -1, 497, 498,
- 499, -1, -1, -1, 71, 504, -1, 4, 5, -1,
- 509, 8, 9, 512, 81, -1, -1, 14, -1, -1,
- -1, -1, 89, -1, -1, -1, 93, -1, -1, -1,
- 529, 28, -1, 30, -1, -1, 4, 5, -1, -1,
- 37, 9, -1, -1, -1, -1, -1, -1, -1, 46,
- -1, 48, -1, -1, -1, -1, -1, -1, 55, -1,
- 57, 58, -1, 31, -1, 1075, 1076, 1077, 1078, 1079,
- 1080, 1081, -1, 1083, 71, 1085, 1086, 1087, 1088, 1089,
- 48, -1, -1, 1093, 81, -1, -1, 55, 33, 57,
- 58, -1, -1, -1, 4, 5, 93, 94, 8, 9,
- -1, 522, -1, 71, 14, -1, -1, 1117, -1, -1,
- 55, -1, -1, 81, -1, -1, -1, -1, 28, -1,
- 30, -1, -1, -1, -1, 93, 94, 37, 1138, 1139,
- -1, -1, -1, -1, -1, 556, 46, 1147, -1, -1,
- 639, -1, -1, -1, -1, 55, -1, 57, 58, -1,
- -1, -1, -1, -1, -1, 576, 577, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 588, -1, -1,
- 669, -1, 593, 594, -1, 596, 597, 598, 599, 600,
- 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
- 611, 612, 613, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 4, 5, 149, 150, 151, 9, -1, -1,
- -1, -1, 1222, -1, -1, 1225, 1226, 1227, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 31,
- 175, -1, -1, -1, 733, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 48, -1, -1, 194,
- 195, 196, -1, 55, -1, 57, 58, -1, -1, -1,
- 1270, 1271, 1272, 1273, 1274, 1275, -1, -1, 1278, 71,
- -1, -1, -1, -1, 773, 774, 775, -1, 223, 81,
- -1, -1, 781, -1, 783, -1, -1, -1, -1, -1,
- -1, 93, 94, -1, -1, -1, -1, -1, -1, 720,
- -1, -1, -1, -1, 1314, 804, 805, 1317, -1, 1319,
- -1, -1, 1322, 812, 3, 4, 5, 6, 7, 8,
- 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
- -1, -1, -1, -1, 3, 4, 5, 6, -1, 28,
- 9, 30, 31, -1, 843, -1, 845, -1, 37, -1,
- -1, 850, 851, 42, 853, -1, -1, 46, 303, 48,
- -1, -1, 31, -1, -1, -1, 55, -1, 57, 58,
- -1, -1, -1, 42, -1, -1, -1, -1, -1, -1,
- -1, -1, 71, -1, -1, -1, 55, -1, 57, 58,
- -1, -1, 81, -1, -1, 1405, 1406, 1407, -1, -1,
- 89, -1, 71, -1, 93, 94, -1, 352, 353, 354,
- -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
- 89, -1, -1, -1, 93, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 860,
- 861, -1, 863, -1, -1, -1, -1, -1, -1, 1,
- -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- -1, 13, 14, 15, 409, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, -1, 34, 35, 36, 37, 985, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, -1, -1, 50, 51,
- 52, 53, 54, 55, 1514, 57, 58, 59, -1, 61,
- 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
- -1, -1, -1, -1, -1, 946, -1, 79, 80, 81,
- 475, -1, 477, 478, 479, 87, 88, 89, -1, -1,
- -1, 93, -1, 95, -1, -1, 491, 492, -1, -1,
- 495, -1, 497, 498, 499, 500, 977, 978, 110, 504,
- 3, 4, 5, 6, 509, -1, -1, 512, -1, -1,
- -1, -1, -1, 1583, 1584, 1585, 1075, 1076, 1077, 1078,
- 1079, 1080, -1, -1, -1, -1, 1085, -1, 1087, 1088,
- 1089, -1, -1, -1, 1093, -1, -1, -1, 1608, 42,
- -1, -1, -1, -1, -1, -1, 49, -1, -1, -1,
- -1, -1, -1, -1, 57, 58, -1, -1, 1117, -1,
- -1, -1, 1043, -1, -1, 1046, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 81, -1,
- 1139, -1, -1, -1, -1, -1, 89, -1, 1147, -1,
- 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, -1, -1, 1087, 1088, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
- 31, 32, 627, 34, 35, 36, 37, -1, 39, 40,
- 41, 42, 43, 44, -1, 46, 641, 642, 643, 50,
- 51, 52, 53, 54, 55, 650, 57, 58, -1, -1,
- -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
- 71, -1, -1, -1, 669, -1, -1, -1, 79, 80,
- 81, 3, 4, 5, 6, -1, 87, 88, 89, -1,
- -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 108, -1, 110,
- -1, -1, 55, 1184, -1, -1, -1, -1, -1, -1,
- 42, -1, 1271, 1272, -1, -1, -1, 49, -1, 1278,
- -1, 1202, -1, 1204, -1, 57, 58, 80, 733, -1,
- 83, -1, -1, -1, -1, -1, -1, 3, 4, 5,
- 6, 7, 8, 9, -1, -1, 12, -1, 14, 81,
- -1, 104, -1, 106, -1, 1314, -1, 89, -1, -1,
- 1319, -1, 28, 1322, 30, 31, -1, -1, 773, 774,
- 775, 37, -1, -1, -1, -1, 42, -1, 783, -1,
- 46, -1, 48, -1, -1, 3, 4, 5, 6, 55,
- -1, 57, 58, -1, -1, -1, -1, -1, -1, 804,
- 805, 806, 807, 808, -1, 71, -1, 812, -1, -1,
- -1, -1, -1, 31, -1, 81, -1, -1, -1, -1,
- -1, -1, 175, 89, 42, -1, -1, 93, 94, -1,
- -1, -1, -1, -1, -1, -1, -1, 55, -1, 57,
- 58, 194, 195, 196, -1, 850, 1405, 1406, 1407, -1,
- -1, 204, -1, 71, -1, 3, 4, 5, 6, 7,
- 8, 9, -1, 81, 12, -1, 14, 872, 873, 874,
- 223, 89, -1, -1, -1, 93, -1, -1, -1, 884,
- 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
- -1, -1, -1, -1, 42, -1, 249, -1, 46, -1,
- 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
- 58, -1, -1, -1, 267, -1, -1, 1398, 71, 72,
- 73, 74, 75, 71, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 81, -1, -1, -1, -1, -1, -1,
- -1, 89, -1, -1, -1, 93, 94, -1, -1, -1,
- -1, -1, 957, 958, -1, 1514, 961, -1, -1, 964,
- 3, 4, 5, 6, 7, 8, 9, -1, 973, 12,
- -1, 14, 977, 978, 979, -1, 4, 5, 983, -1,
- 8, 9, -1, -1, -1, 28, 14, 30, 31, -1,
- -1, -1, -1, -1, 37, -1, -1, -1, -1, 42,
- 28, -1, 30, 46, -1, 358, 359, -1, -1, 37,
- -1, -1, 55, -1, 57, 58, -1, -1, 46, -1,
- -1, -1, -1, -1, 1583, 1584, 1585, 55, 71, 57,
- 58, -1, 190, -1, -1, -1, -1, -1, 81, -1,
- -1, -1, -1, -1, -1, -1, 89, -1, -1, 1608,
- 93, -1, -1, -1, -1, -1, 409, -1, -1, -1,
- -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
- 1075, 1076, 1077, 1078, 1079, 1080, 1081, -1, -1, -1,
- 1085, -1, 1087, 1088, 1089, -1, -1, -1, -1, -1,
- 31, -1, -1, -1, 1099, 1100, 1101, -1, -1, -1,
- -1, 42, 1583, 1584, -1, -1, -1, -1, -1, -1,
- -1, -1, 1117, -1, 55, -1, 57, 58, -1, -1,
- -1, -1, 475, -1, 477, 478, -1, -1, -1, -1,
- 71, -1, -1, -1, -1, -1, -1, -1, 491, 492,
- 81, -1, 495, -1, 497, 498, 499, 500, 89, -1,
- -1, 504, 93, -1, -1, -1, 509, -1, -1, 512,
- -1, -1, -1, -1, 3, 4, 5, 6, -1, -1,
- -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
- -1, -1, 14, -1, -1, -1, -1, -1, -1, -1,
- -1, 1196, 1197, -1, 1199, -1, 28, -1, 30, 31,
- -1, -1, -1, 42, -1, 37, -1, -1, -1, -1,
- 42, 369, -1, -1, 46, -1, 55, 1222, 57, 58,
- 1225, 1226, 1227, 55, -1, 57, 58, -1, -1, -1,
- -1, 63, 71, -1, -1, -1, -1, -1, -1, 71,
- -1, -1, 81, -1, -1, -1, -1, -1, -1, 81,
- 89, -1, -1, -1, 93, -1, -1, 89, -1, -1,
- -1, 93, -1, -1, -1, 1270, 1271, 1272, 1273, 1274,
- 1275, -1, -1, 1278, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 1292, 1293, 1294,
- 1295, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 653, 654, -1, -1, -1, -1, -1, 465, 466, 1314,
- -1, -1, -1, -1, -1, -1, 669, 1, -1, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
- 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
- 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, -1, -1, 50, 51, 52, 53,
- 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
- 733, -1, -1, -1, 68, -1, -1, 71, -1, -1,
- 3, 4, 5, 6, -1, 79, 80, 81, -1, 557,
- 1405, -1, 1407, 87, 88, 89, 564, -1, -1, 93,
- -1, 95, -1, 1418, 1419, -1, 1421, -1, -1, -1,
- 773, 774, 775, -1, -1, 109, 110, 780, 781, 42,
- 783, -1, 590, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
- -1, 804, 805, 806, 807, 808, 809, 615, 71, 812,
- -1, -1, -1, 621, -1, 623, 624, -1, 81, -1,
- -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
- 93, -1, -1, -1, 837, -1, -1, -1, -1, -1,
- -1, -1, 650, -1, -1, -1, -1, 850, -1, 657,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1514,
- -1, -1, -1, -1, -1, -1, -1, -1, 1523, 1524,
- 1525, 1526, -1, -1, 682, 683, 684, 685, -1, 687,
- 688, 689, 690, 691, 692, 693, 694, 695, 696, 697,
- 698, 699, 700, 701, 702, 703, 704, 705, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3, 4, 5, 6, 7, 8, 9, 3,
- 4, 5, 6, 14, -1, 9, 14, -1, 1583, 1584,
- 1585, -1, -1, -1, 1589, 23, 24, 28, -1, 30,
- 31, -1, 30, 31, -1, 33, 37, 31, -1, -1,
- -1, 42, -1, 1608, -1, 46, 764, -1, 42, 12,
- -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
- 61, 55, -1, 57, 58, 783, -1, 65, -1, -1,
- 71, 984, 985, 986, -1, -1, -1, 71, -1, 797,
- 81, -1, -1, -1, -1, -1, -1, 81, 89, -1,
- -1, -1, 93, -1, -1, 89, -1, -1, -1, 93,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, -1, 842, -1, 124, -1, 126, -1,
- -1, -1, -1, -1, -1, 133, 134, -1, -1, -1,
- -1, -1, 140, 141, -1, -1, 144, 145, 146, -1,
- 148, 149, 150, 151, -1, -1, -1, -1, -1, -1,
- -1, -1, 1075, 1076, 1077, 1078, 1079, 1080, 1081, -1,
- 1083, -1, 1085, 1086, 1087, 1088, 1089, 352, 353, 354,
- 1093, -1, 900, -1, -1, -1, 1099, 1100, 1101, -1,
- -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
- 7, 8, 9, -1, 1117, -1, -1, 14, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 4, 5, 937,
- 938, 28, 9, 30, 31, 1138, -1, -1, -1, -1,
- 37, -1, -1, -1, 952, 42, 954, -1, 956, 46,
- -1, 239, 240, -1, 31, -1, -1, -1, 55, -1,
- 57, 58, -1, -1, -1, -1, -1, 3, 4, 5,
- 6, 48, 260, 9, 71, -1, -1, -1, 55, -1,
- 57, 58, -1, -1, 81, -1, -1, 995, -1, -1,
- -1, -1, 89, -1, 71, 31, 93, -1, -1, -1,
- -1, -1, -1, -1, 81, -1, 42, -1, -1, -1,
- 475, -1, 477, 478, 479, 303, 93, 94, -1, 55,
- 1028, 57, 58, -1, -1, -1, -1, -1, 69, 70,
- 71, 72, 73, 74, 75, 71, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 81, -1, -1, -1, -1,
- -1, -1, -1, 89, -1, 1063, -1, 93, -1, -1,
- -1, -1, 350, -1, 352, 353, -1, 1270, 1271, 1272,
- 1273, 1274, 1275, 4, 5, 1278, -1, -1, 9, -1,
- -1, -1, -1, -1, -1, -1, -1, 1095, 1096, 1292,
- 1293, 1294, 1295, -1, -1, -1, -1, -1, -1, -1,
- 31, -1, -1, 3, 4, 5, 6, 7, 8, 9,
- 398, 1314, -1, -1, 14, -1, -1, 48, -1, -1,
- -1, 1129, -1, -1, 55, -1, 57, 58, 28, 417,
- 30, 31, -1, -1, -1, -1, 424, 37, -1, 427,
- 71, -1, 42, 4, 5, -1, 46, -1, 9, -1,
- 81, 439, -1, -1, -1, 55, -1, 57, 58, -1,
- -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
- 31, 71, 1180, 1181, -1, -1, 641, 642, 643, -1,
- -1, 81, -1, -1, -1, 650, -1, 48, -1, 89,
- -1, -1, -1, 93, 55, -1, 57, 58, -1, -1,
- -1, -1, 1405, -1, 1407, -1, -1, -1, -1, -1,
- 71, -1, -1, -1, -1, 1418, 1419, 1420, 1421, -1,
- 81, -1, -1, -1, -1, -1, -1, -1, 1236, -1,
- -1, -1, 93, 94, -1, -1, -1, -1, 526, -1,
- 528, -1, -1, -1, -1, -1, -1, -1, 1256, -1,
- 1258, -1, 1260, 4, 5, -1, 7, 8, 9, -1,
- 1268, -1, -1, 14, 552, -1, 554, -1, 733, -1,
- -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
- 31, -1, -1, -1, -1, -1, 37, -1, 1296, -1,
- -1, -1, -1, -1, -1, 46, -1, -1, 49, -1,
- -1, -1, 1310, 1311, 55, -1, 57, 58, 773, 774,
- 775, 1514, -1, -1, -1, -1, -1, -1, 783, -1,
- 1523, 1524, 1525, 1526, -1, -1, -1, -1, -1, -1,
- 1338, -1, -1, 70, 71, 72, 73, 74, 75, 627,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
- 638, 639, -1, 641, 642, -1, -1, -1, -1, 1367,
- -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
- -1, -1, 14, -1, -1, -1, -1, -1, -1, 1387,
- 1583, 1584, 1585, -1, -1, -1, 1589, -1, -1, 31,
- -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
- 42, -1, -1, -1, 46, 1608, 48, -1, -1, -1,
- -1, -1, -1, 55, -1, 57, 58, -1, 1426, 884,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
- 718, -1, 1440, -1, -1, -1, -1, 725, 726, 81,
- -1, -1, -1, -1, -1, -1, 734, 89, -1, -1,
- -1, 93, -1, -1, -1, 1463, 4, 5, -1, 7,
- 8, 9, -1, -1, 12, -1, 14, -1, -1, 757,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
- -1, -1, 957, 958, -1, -1, 961, -1, 46, 964,
- 48, -1, -1, -1, -1, -1, 1514, 55, 973, 57,
- 58, -1, 977, 978, 979, -1, -1, -1, 983, -1,
- -1, -1, -1, 71, -1, -1, 1534, 1535, 31, -1,
- -1, -1, -1, 81, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 93, 94, -1, -1, 837,
- -1, -1, 840, -1, -1, -1, -1, -1, -1, 1567,
- -1, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, -1, 872, 873, 874, 875, -1, -1,
- 1598, -1, -1, -1, -1, -1, 884, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 1075, 1076, 1077, 1078, 1079, 1080, 1081, -1, -1, -1,
- 1085, -1, 1087, 1088, 1089, -1, 4, 5, -1, 7,
- 8, 9, -1, -1, 12, -1, 14, -1, -1, 4,
- 5, -1, 7, 8, 9, -1, -1, 12, -1, 14,
- 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
- -1, -1, -1, 28, -1, 30, 31, -1, 46, 957,
- 958, -1, 37, 961, -1, -1, 964, 55, -1, 57,
- 58, 46, -1, -1, -1, 973, -1, -1, -1, -1,
- 55, -1, 57, 58, -1, 983, -1, -1, -1, 4,
- 5, 1709, 7, 8, 9, -1, -1, -1, -1, 14,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 28, -1, 30, 31, -1, -1, -1,
- -1, -1, 37, -1, -1, -1, -1, -1, -1, -1,
- -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
- 55, -1, 57, 58, -1, -1, -1, 1222, -1, -1,
- 1225, 1226, 1227, -1, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, -1, -1, -1, -1,
- 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
- -1, 12, -1, 14, -1, 1270, 1271, 1272, 1273, 1274,
- 1275, 111, -1, 1278, 25, -1, 27, -1, -1, -1,
- 31, -1, -1, -1, 1112, -1, 37, -1, -1, -1,
- -1, 42, -1, -1, -1, 46, -1, 48, -1, -1,
- -1, -1, -1, -1, 55, -1, 57, 58, 59, 60,
- 61, 1139, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, -1, 87, 88, 89, -1,
- 91, 92, 93, 94, 95, -1, -1, -1, -1, -1,
- 101, 102, -1, -1, -1, -1, 107, 108, 109, -1,
- 111, -1, -1, -1, -1, -1, -1, -1, 1196, 1197,
- -1, 1199, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 1222, -1, -1, 1225, 1226, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1418, 1419, 107, 1421, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 1254, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 1, -1, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1299, 28, 29, 30, 31, 32, -1, 34, 35,
- 36, 37, -1, 39, 40, 41, 42, 43, 44, 1317,
- 46, 1319, 48, -1, 50, 51, 52, 53, 54, 55,
- -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
- -1, -1, 68, -1, -1, 71, -1, -1, 1523, 1524,
- 1525, 1526, -1, 79, 80, 81, -1, -1, -1, -1,
- -1, 87, 88, 89, -1, -1, -1, 93, 94, -1,
- 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, -1, 13, 14, 110, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
- 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
- 41, 42, 43, 44, 1589, 46, -1, -1, -1, 50,
- 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
- 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
- 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
- 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
- -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
- 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
- -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
- 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
- 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
- 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
- -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
- -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
- -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
- 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
- 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
- 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
- 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
- -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
- 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
- -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
- 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
- 89, -1, -1, -1, 93, 94, 1, -1, 3, 4,
- 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
- -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
- 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
- -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
- 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
- -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
- -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
- -1, -1, 87, 88, 89, -1, -1, -1, 93, 1,
- -1, 3, 4, 5, 6, 100, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, 110, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
- 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
- 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
- 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
- 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
- -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
- -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
- 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
- 11, -1, 13, 14, -1, -1, -1, 109, 110, -1,
- -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
- -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
- 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
- 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
- -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
- 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
- 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
- -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
- 10, 11, -1, 13, 14, -1, -1, -1, 109, 110,
- -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
- 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
- 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
- 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
- -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
- -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
- -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
- 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
- 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
- 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
- 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
- -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
- 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
- -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
- 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
- 89, -1, -1, 1, 93, 3, 4, 5, 6, -1,
- 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
- -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
- -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
- -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
- 58, -1, -1, -1, 62, 63, -1, -1, -1, -1,
- 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
- -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
- 88, 89, -1, -1, 1, 93, 3, 4, 5, 6,
- -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
- -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
- -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
- 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
- -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
- 57, 58, -1, -1, 61, 62, -1, -1, -1, -1,
- -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
- -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
- 87, 88, 89, -1, -1, 1, 93, 3, 4, 5,
- 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
- -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
- 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
- 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
- -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
- -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
- -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
- -1, 87, 88, 89, -1, -1, 1, 93, 3, 4,
- 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
- -1, -1, 108, -1, 110, -1, -1, -1, -1, -1,
- -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
- 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
- -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
- 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
- -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
- -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
- -1, -1, 87, 88, 89, -1, -1, 1, 93, 3,
- 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
- 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
- -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
- 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
- 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
- 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
- -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
- -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
- -1, -1, -1, 87, 88, 89, -1, -1, 1, 93,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
- 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
- -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
- -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
- 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
- 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
- -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
- -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
- -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
- 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
- -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
- 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
- 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
- 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
- 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
- -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
- -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
- -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
- 11, -1, 13, 14, -1, -1, -1, -1, 110, 111,
- -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
- -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
- 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
- 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
- -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
- 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
- 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
- -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
- 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
- 111, -1, -1, -1, -1, -1, -1, -1, 28, 29,
- 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
- 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
- 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
- -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
- -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
- -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
- 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
- 110, 111, -1, -1, -1, -1, -1, -1, -1, 28,
- 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
- 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
- -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
- -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
- -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
- 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
- 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
- 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
- -1, 110, 111, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
- -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
- -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
- 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
- 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
- -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
- 88, 89, -1, -1, -1, 93, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 110, 111, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, -1, 13, 14, 15, -1, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
- -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
- 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
- -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
- 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
- 89, -1, -1, -1, 93, -1, 95, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 109, 110, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, -1, -1, 50,
- 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
- 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
- 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
- 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
- -1, -1, 93, -1, 95, -1, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, -1, 13, 14, 15, 110,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
- 37, -1, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, -1, -1, 50, 51, 52, 53, 54, 55, -1,
- 57, 58, 59, -1, 61, 62, -1, -1, -1, -1,
- -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
- -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
- 87, 88, 89, -1, -1, -1, 93, -1, 95, -1,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
- 13, 14, 15, 110, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, -1, -1, 50, 51, 52,
- 53, 54, 55, -1, 57, 58, -1, -1, 61, 62,
- -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
- -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
- -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
- 93, -1, 95, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, -1, -1, 110, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
- 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
- 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
- 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
- -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
- -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
- -1, -1, -1, 93, 94, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
- 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
- -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
- 48, -1, 50, 51, 52, 53, 54, 55, -1, 57,
- 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
- 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
- -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
- 88, 89, -1, -1, -1, 93, 94, 3, 4, 5,
- 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
- -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
- 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
- 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
- -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
- -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
- -1, 87, 88, 89, -1, -1, -1, 93, 94, 3,
- 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
- 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
- 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
- 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
- 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
- -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
- -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
- 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, -1, 110, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
- 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
- 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
- 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
- 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
- -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
- -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
- -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
- 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
- -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
- -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
- 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
- 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
- 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
- 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
- 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
- -1, -1, 93, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
- -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
- 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
- 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
- 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
- -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
- -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
- 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
- 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
- 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
- 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
- -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
- -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
- -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
- 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
- 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
- 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
- -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
- -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
- -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
- 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
- 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
- -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
- 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
- -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
- -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
- -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
- 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
- -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
- 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
- -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
- -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
- 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
- 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
- -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
- 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
- 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
- -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
- -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
- -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
- -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
- 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
- -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
- -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
- 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
- -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
- 55, -1, 57, 58, 59, -1, -1, -1, -1, -1,
- -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
- -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
- -1, -1, 87, 88, 89, -1, -1, -1, 93, 3,
- 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
- 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
- -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
- 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
- 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
- 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
- -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
- -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
- 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, -1, 110, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
- 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
- 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
- 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
- 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
- -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
- -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
- -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
- 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
- -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
- 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
- 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
- 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
- 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
- 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
- -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
- 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
- -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
- 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
- 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
- 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
- -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
- -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
- -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
- 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
- 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
- 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
- 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
- -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
- -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
- 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
- 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
- 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
- -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
- -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
- -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
- 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
- -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
- 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
- -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
- -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
- -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
- 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
- -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
- 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
- -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
- 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
- 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
- -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
- 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
- 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
- -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
- -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
- -1, 87, 88, 89, -1, -1, -1, 93, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 60, -1, -1, 110, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 60, -1, -1,
- -1, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85
-};
-/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/lib/bison.simple"
-/* This file comes from bison-1.28. */
-
-/* Skeleton output parser for bison,
- Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
-
- 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 2, 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., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
-
-/* 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. */
-
-#ifndef YYSTACK_USE_ALLOCA
-#ifdef alloca
-#define YYSTACK_USE_ALLOCA
-#else /* alloca not defined */
-#ifdef __GNUC__
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#else /* not GNU C. */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-#define YYSTACK_USE_ALLOCA
-#include <alloca.h>
-#else /* not sparc */
-/* We think this test detects Watcom and Microsoft C. */
-/* This used to test MSDOS, but that is a bad idea
- since that symbol is in the user namespace. */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-#if 0 /* No need for malloc.h, which pollutes the namespace;
- instead, just don't use alloca. */
-#include <malloc.h>
-#endif
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-/* I don't know what this was needed for, but it pollutes the namespace.
- So I turned it off. rms, 2 May 1997. */
-/* #include <malloc.h> */
- #pragma alloca
-#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
-#if 0
-#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
- and on HPUX 10. Eventually we can turn this on. */
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#endif /* __hpux */
-#endif
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc */
-#endif /* not GNU C */
-#endif /* alloca not defined */
-#endif /* YYSTACK_USE_ALLOCA not defined */
-
-#ifdef YYSTACK_USE_ALLOCA
-#define YYSTACK_ALLOC alloca
-#else
-#define YYSTACK_ALLOC malloc
-#endif
-
-/* 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 goto yyacceptlab
-#define YYABORT goto yyabortlab
-#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
-#ifdef YYLEX_PARAM
-#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX yylex(&yylval, &yylloc)
-#endif
-#else /* not YYLSP_NEEDED */
-#ifdef YYLEX_PARAM
-#define YYLEX yylex(&yylval, YYLEX_PARAM)
-#else
-#define YYLEX yylex(&yylval)
-#endif
-#endif /* not YYLSP_NEEDED */
-#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
-
-/* Define __yy_memcpy. Note that the size argument
- should be passed with type unsigned int, because that is what the non-GCC
- definitions require. With GCC, __builtin_memcpy takes an arg
- of type size_t, but it can handle unsigned int. */
-
-#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
-#define __yy_memcpy(TO,FROM,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_memcpy (to, from, count)
- char *to;
- char *from;
- unsigned 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_memcpy (char *to, char *from, unsigned int count)
-{
- register char *t = to;
- register char *f = from;
- register int i = count;
-
- while (i-- > 0)
- *t++ = *f++;
-}
-
-#endif
-#endif
-
-#line 217 "/usr/lib/bison.simple"
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
- into yyparse. The argument should have type void *.
- It should actually point to an object.
- Grammar actions can access the variable by casting it
- to the proper pointer type. */
-
-#ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes. */
-#ifdef __GNUC__
-#ifdef YYPARSE_PARAM
-int yyparse (void *);
-#else
-int yyparse (void);
-#endif
-#endif
-
-int
-yyparse(YYPARSE_PARAM_ARG)
- YYPARSE_PARAM_DECL
-{
- 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;
- int yyfree_stacks = 0;
-
-#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");
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 2;
- }
- yystacksize *= 2;
- if (yystacksize > YYMAXDEPTH)
- yystacksize = YYMAXDEPTH;
-#ifndef YYSTACK_USE_ALLOCA
- yyfree_stacks = 1;
-#endif
- yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
- __yy_memcpy ((char *)yyss, (char *)yyss1,
- size * (unsigned int) sizeof (*yyssp));
- yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
- __yy_memcpy ((char *)yyvs, (char *)yyvs1,
- size * (unsigned int) sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
- yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
- __yy_memcpy ((char *)yyls, (char *)yyls1,
- size * (unsigned int) 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 435 "parse.y"
-{ finish_translation_unit (); ;
- break;}
-case 2:
-#line 437 "parse.y"
-{ finish_translation_unit (); ;
- break;}
-case 3:
-#line 445 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 4:
-#line 447 "parse.y"
-{ yyval.ttype = NULL_TREE; ggc_collect (); ;
- break;}
-case 5:
-#line 449 "parse.y"
-{ yyval.ttype = NULL_TREE; ggc_collect (); ;
- break;}
-case 8:
-#line 458 "parse.y"
-{ have_extern_spec = 1;
- used_extern_spec = 0;
- yyval.ttype = NULL_TREE; ;
- break;}
-case 9:
-#line 463 "parse.y"
-{ have_extern_spec = 0; ;
- break;}
-case 10:
-#line 468 "parse.y"
-{ yyval.itype = pedantic;
- pedantic = 0; ;
- break;}
-case 12:
-#line 477 "parse.y"
-{ if (pending_lang_change) do_pending_lang_change();
- type_lookups = NULL_TREE; ;
- break;}
-case 13:
-#line 480 "parse.y"
-{ if (! toplevel_bindings_p ())
- pop_everything (); ;
- break;}
-case 14:
-#line 486 "parse.y"
-{ if (pending_inlines) do_pending_inlines (); ;
- break;}
-case 15:
-#line 488 "parse.y"
-{ if (pending_inlines) do_pending_inlines (); ;
- break;}
-case 16:
-#line 490 "parse.y"
-{ if (pending_inlines) do_pending_inlines (); ;
- break;}
-case 17:
-#line 492 "parse.y"
-{ if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
- assemble_asm (yyvsp[-2].ttype); ;
- break;}
-case 18:
-#line 495 "parse.y"
-{ pop_lang_context (); ;
- break;}
-case 19:
-#line 497 "parse.y"
-{ if (pending_inlines) do_pending_inlines ();
- pop_lang_context (); ;
- break;}
-case 20:
-#line 500 "parse.y"
-{ if (pending_inlines) do_pending_inlines ();
- pop_lang_context (); ;
- break;}
-case 21:
-#line 503 "parse.y"
-{ push_namespace (yyvsp[-1].ttype); ;
- break;}
-case 22:
-#line 505 "parse.y"
-{ pop_namespace (); ;
- break;}
-case 23:
-#line 507 "parse.y"
-{ push_namespace (NULL_TREE); ;
- break;}
-case 24:
-#line 509 "parse.y"
-{ pop_namespace (); ;
- break;}
-case 26:
-#line 512 "parse.y"
-{ do_toplevel_using_decl (yyvsp[-1].ttype); ;
- break;}
-case 28:
-#line 515 "parse.y"
-{ pedantic = yyvsp[-1].itype; ;
- break;}
-case 29:
-#line 520 "parse.y"
-{ begin_only_namespace_names (); ;
- break;}
-case 30:
-#line 522 "parse.y"
-{
- end_only_namespace_names ();
- if (lastiddecl)
- yyvsp[-1].ttype = lastiddecl;
- do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
- ;
- break;}
-case 31:
-#line 532 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 32:
-#line 534 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 33:
-#line 536 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 34:
-#line 541 "parse.y"
-{ yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 35:
-#line 543 "parse.y"
-{ yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
- break;}
-case 36:
-#line 545 "parse.y"
-{ yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 37:
-#line 550 "parse.y"
-{ begin_only_namespace_names (); ;
- break;}
-case 38:
-#line 552 "parse.y"
-{
- end_only_namespace_names ();
- /* If no declaration was found, the using-directive is
- invalid. Since that was not reported, we need the
- identifier for the error message. */
- if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
- yyvsp[-1].ttype = lastiddecl;
- do_using_directive (yyvsp[-1].ttype);
- ;
- break;}
-case 39:
-#line 565 "parse.y"
-{
- if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
- yyval.ttype = lastiddecl;
- got_scope = yyval.ttype;
- ;
- break;}
-case 40:
-#line 571 "parse.y"
-{
- yyval.ttype = yyvsp[-1].ttype;
- if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
- yyval.ttype = lastiddecl;
- got_scope = yyval.ttype;
- ;
- break;}
-case 43:
-#line 582 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 44:
-#line 584 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 45:
-#line 589 "parse.y"
-{ push_lang_context (yyvsp[0].ttype); ;
- break;}
-case 46:
-#line 591 "parse.y"
-{ if (current_lang_name != yyvsp[0].ttype)
- cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
- pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
- break;}
-case 47:
-#line 598 "parse.y"
-{ begin_template_parm_list (); ;
- break;}
-case 48:
-#line 600 "parse.y"
-{ yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
- break;}
-case 49:
-#line 602 "parse.y"
-{ begin_specialization();
- yyval.ttype = NULL_TREE; ;
- break;}
-case 50:
-#line 608 "parse.y"
-{ yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 51:
-#line 610 "parse.y"
-{ yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 52:
-#line 615 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 53:
-#line 617 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 54:
-#line 621 "parse.y"
-{ yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 55:
-#line 623 "parse.y"
-{ yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
- break;}
-case 56:
-#line 628 "parse.y"
-{ yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 57:
-#line 640 "parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 58:
-#line 642 "parse.y"
-{ yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
- break;}
-case 59:
-#line 644 "parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
- break;}
-case 60:
-#line 646 "parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
- break;}
-case 61:
-#line 648 "parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 62:
-#line 650 "parse.y"
-{
- if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
- && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
- && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
- {
- error ("invalid default template argument");
- yyvsp[0].ttype = error_mark_node;
- }
- yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
- ;
- break;}
-case 63:
-#line 664 "parse.y"
-{ finish_template_decl (yyvsp[-1].ttype); ;
- break;}
-case 64:
-#line 666 "parse.y"
-{ finish_template_decl (yyvsp[-1].ttype); ;
- break;}
-case 65:
-#line 671 "parse.y"
-{ if (pending_inlines) do_pending_inlines (); ;
- break;}
-case 66:
-#line 673 "parse.y"
-{ if (pending_inlines) do_pending_inlines (); ;
- break;}
-case 67:
-#line 675 "parse.y"
-{ if (pending_inlines) do_pending_inlines (); ;
- break;}
-case 68:
-#line 677 "parse.y"
-{ if (pending_inlines) do_pending_inlines ();
- pop_lang_context (); ;
- break;}
-case 69:
-#line 680 "parse.y"
-{ if (pending_inlines) do_pending_inlines ();
- pop_lang_context (); ;
- break;}
-case 70:
-#line 683 "parse.y"
-{ pedantic = yyvsp[-1].itype; ;
- break;}
-case 72:
-#line 689 "parse.y"
-{;
- break;}
-case 73:
-#line 691 "parse.y"
-{ note_list_got_semicolon (yyvsp[-2].ftype.t); ;
- break;}
-case 74:
-#line 693 "parse.y"
-{ maybe_process_partial_specialization (yyvsp[-1].ftype.t);
- note_got_semicolon (yyvsp[-1].ftype.t); ;
- break;}
-case 76:
-#line 700 "parse.y"
-{;
- break;}
-case 77:
-#line 702 "parse.y"
-{ note_list_got_semicolon (yyvsp[-2].ftype.t); ;
- break;}
-case 78:
-#line 704 "parse.y"
-{ pedwarn ("empty declaration"); ;
- break;}
-case 80:
-#line 707 "parse.y"
-{
- tree t, attrs;
- split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
- shadow_tag (t);
- note_list_got_semicolon (yyvsp[-1].ftype.t);
- ;
- break;}
-case 84:
-#line 720 "parse.y"
-{ yyval.itype = 0; ;
- break;}
-case 85:
-#line 722 "parse.y"
-{ yyval.itype = 1; ;
- break;}
-case 91:
-#line 738 "parse.y"
-{ expand_body (finish_function ((int)yyvsp[-1].itype)); ;
- break;}
-case 92:
-#line 740 "parse.y"
-{ expand_body (finish_function ((int)yyvsp[0].itype)); ;
- break;}
-case 93:
-#line 742 "parse.y"
-{ ;
- break;}
-case 94:
-#line 747 "parse.y"
-{ yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
- break;}
-case 95:
-#line 749 "parse.y"
-{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 96:
-#line 751 "parse.y"
-{ yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
- yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 97:
-#line 755 "parse.y"
-{ yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
- break;}
-case 98:
-#line 757 "parse.y"
-{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 99:
-#line 759 "parse.y"
-{ yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
- yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 100:
-#line 763 "parse.y"
-{ yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
- break;}
-case 101:
-#line 765 "parse.y"
-{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 102:
-#line 767 "parse.y"
-{ yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
- yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 103:
-#line 771 "parse.y"
-{ yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
- break;}
-case 104:
-#line 773 "parse.y"
-{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 105:
-#line 775 "parse.y"
-{ yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
- yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 106:
-#line 782 "parse.y"
-{ check_for_new_type ("return type", yyvsp[-1].ftype);
- if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
- YYERROR1; ;
- break;}
-case 107:
-#line 786 "parse.y"
-{ if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
- YYERROR1; ;
- break;}
-case 108:
-#line 789 "parse.y"
-{ if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
- YYERROR1; ;
- break;}
-case 109:
-#line 792 "parse.y"
-{ if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
- YYERROR1; ;
- break;}
-case 110:
-#line 795 "parse.y"
-{ if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
- YYERROR1; ;
- break;}
-case 111:
-#line 801 "parse.y"
-{ yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 112:
-#line 803 "parse.y"
-{ yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 113:
-#line 805 "parse.y"
-{ yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 114:
-#line 807 "parse.y"
-{ yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 115:
-#line 814 "parse.y"
-{ yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups);
- rest_of_mdef:
- if (! yyval.ttype)
- YYERROR1;
- if (yychar == YYEMPTY)
- yychar = YYLEX;
- reinit_parse_for_method (yychar, yyval.ttype); ;
- break;}
-case 116:
-#line 822 "parse.y"
-{ yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
- goto rest_of_mdef; ;
- break;}
-case 117:
-#line 825 "parse.y"
-{ yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;;
- break;}
-case 118:
-#line 827 "parse.y"
-{ yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;;
- break;}
-case 119:
-#line 829 "parse.y"
-{ yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
- goto rest_of_mdef; ;
- break;}
-case 120:
-#line 832 "parse.y"
-{ yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;;
- break;}
-case 121:
-#line 834 "parse.y"
-{ yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
- goto rest_of_mdef; ;
- break;}
-case 122:
-#line 840 "parse.y"
-{
- if (! current_function_parms_stored)
- store_parm_decls ();
- yyval.ttype = yyvsp[0].ttype;
- ;
- break;}
-case 123:
-#line 849 "parse.y"
-{ finish_named_return_value (yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 124:
-#line 851 "parse.y"
-{ finish_named_return_value (yyval.ttype, yyvsp[-1].ttype); ;
- break;}
-case 125:
-#line 853 "parse.y"
-{ finish_named_return_value (yyval.ttype, NULL_TREE); ;
- break;}
-case 126:
-#line 858 "parse.y"
-{
- if (yyvsp[0].ftype.new_type_flag == 0)
- error ("no base or member initializers given following ':'");
-
- finish_mem_initializers (yyvsp[0].ftype.t);
- ;
- break;}
-case 127:
-#line 868 "parse.y"
-{
- if (! current_function_parms_stored)
- store_parm_decls ();
-
- if (DECL_CONSTRUCTOR_P (current_function_decl))
- /* Make a contour for the initializer list. */
- do_pushlevel ();
- else if (current_class_type == NULL_TREE)
- error ("base initializers not allowed for non-member functions");
- else if (! DECL_CONSTRUCTOR_P (current_function_decl))
- error ("only constructors take base initializers");
- ;
- break;}
-case 128:
-#line 884 "parse.y"
-{
- yyval.ftype.new_type_flag = 0;
- yyval.ftype.t = NULL_TREE;
- ;
- break;}
-case 129:
-#line 889 "parse.y"
-{
- yyval.ftype.new_type_flag = 1;
- yyval.ftype.t = yyvsp[0].ttype;
- ;
- break;}
-case 130:
-#line 894 "parse.y"
-{
- if (yyvsp[0].ttype)
- {
- yyval.ftype.new_type_flag = 1;
- TREE_CHAIN (yyvsp[0].ttype) = yyvsp[-2].ftype.t;
- yyval.ftype.t = yyvsp[0].ttype;
- }
- else
- yyval.ftype = yyvsp[-2].ftype;
- ;
- break;}
-case 132:
-#line 909 "parse.y"
-{
- if (current_class_name)
- pedwarn ("anachronistic old style base class initializer");
- yyval.ttype = expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
- ;
- break;}
-case 133:
-#line 915 "parse.y"
-{
- if (current_class_name)
- pedwarn ("anachronistic old style base class initializer");
- yyval.ttype = expand_member_init (current_class_ref,
- NULL_TREE,
- void_type_node);
- ;
- break;}
-case 134:
-#line 923 "parse.y"
-{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 135:
-#line 925 "parse.y"
-{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-1].ttype,
- void_type_node); ;
- break;}
-case 136:
-#line 928 "parse.y"
-{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 137:
-#line 930 "parse.y"
-{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-1].ttype,
- void_type_node); ;
- break;}
-case 138:
-#line 933 "parse.y"
-{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 139:
-#line 935 "parse.y"
-{ yyval.ttype = expand_member_init (current_class_ref, yyvsp[-1].ttype,
- void_type_node); ;
- break;}
-case 140:
-#line 938 "parse.y"
-{ yyval.ttype = NULL_TREE ;
- break;}
-case 152:
-#line 963 "parse.y"
-{ do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
- yyungetc (';', 1); ;
- break;}
-case 154:
-#line 967 "parse.y"
-{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
- do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 156:
-#line 971 "parse.y"
-{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 158:
-#line 974 "parse.y"
-{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 160:
-#line 977 "parse.y"
-{ do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
- yyungetc (';', 1); ;
- break;}
-case 162:
-#line 982 "parse.y"
-{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
- do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
- break;}
-case 164:
-#line 986 "parse.y"
-{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
- break;}
-case 166:
-#line 989 "parse.y"
-{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
- break;}
-case 168:
-#line 994 "parse.y"
-{ begin_explicit_instantiation(); ;
- break;}
-case 169:
-#line 997 "parse.y"
-{ end_explicit_instantiation(); ;
- break;}
-case 170:
-#line 1006 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 171:
-#line 1009 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 174:
-#line 1017 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 175:
-#line 1022 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 176:
-#line 1026 "parse.y"
-{
- if (yychar == YYEMPTY)
- yychar = YYLEX;
-
- yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype,
- yychar == SCOPE);
- ;
- break;}
-case 178:
-#line 1037 "parse.y"
-{
- /* Handle `Class<Class<Type>>' without space in the `>>' */
- pedwarn ("`>>' should be `> >' in template class name");
- yyungetc ('>', 1);
- ;
- break;}
-case 179:
-#line 1046 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 181:
-#line 1052 "parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
- break;}
-case 182:
-#line 1054 "parse.y"
-{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 183:
-#line 1059 "parse.y"
-{ yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
- break;}
-case 184:
-#line 1061 "parse.y"
-{
- yyval.ttype = lastiddecl;
- if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval.ttype))
- yyval.ttype = TREE_TYPE (yyval.ttype);
- ;
- break;}
-case 186:
-#line 1071 "parse.y"
-{ yyval.code = NEGATE_EXPR; ;
- break;}
-case 187:
-#line 1073 "parse.y"
-{ yyval.code = CONVERT_EXPR; ;
- break;}
-case 188:
-#line 1075 "parse.y"
-{ yyval.code = PREINCREMENT_EXPR; ;
- break;}
-case 189:
-#line 1077 "parse.y"
-{ yyval.code = PREDECREMENT_EXPR; ;
- break;}
-case 190:
-#line 1079 "parse.y"
-{ yyval.code = TRUTH_NOT_EXPR; ;
- break;}
-case 191:
-#line 1084 "parse.y"
-{ yyval.ttype = build_x_compound_expr (yyval.ttype); ;
- break;}
-case 193:
-#line 1090 "parse.y"
-{ error ("ISO C++ forbids an empty condition for `%s'",
- cond_stmt_keyword);
- yyval.ttype = integer_zero_node; ;
- break;}
-case 194:
-#line 1094 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 195:
-#line 1099 "parse.y"
-{ error ("ISO C++ forbids an empty condition for `%s'",
- cond_stmt_keyword);
- yyval.ttype = integer_zero_node; ;
- break;}
-case 196:
-#line 1103 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 197:
-#line 1108 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 199:
-#line 1111 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 200:
-#line 1116 "parse.y"
-{ {
- tree d;
- for (d = getdecls (); d; d = TREE_CHAIN (d))
- if (TREE_CODE (d) == TYPE_DECL) {
- tree s = TREE_TYPE (d);
- if (TREE_CODE (s) == RECORD_TYPE)
- cp_error ("definition of class `%T' in condition", s);
- else if (TREE_CODE (s) == ENUMERAL_TYPE)
- cp_error ("definition of enum `%T' in condition", s);
- }
- }
- current_declspecs = yyvsp[-4].ftype.t;
- yyval.ttype = parse_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, 1);
- ;
- break;}
-case 201:
-#line 1131 "parse.y"
-{
- parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
- yyval.ttype = convert_from_reference (yyvsp[-1].ttype);
- if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
- cp_error ("definition of array `%#D' in condition", yyval.ttype);
- ;
- break;}
-case 207:
-#line 1149 "parse.y"
-{ yyval.ttype = begin_compound_stmt (1); ;
- break;}
-case 208:
-#line 1151 "parse.y"
-{ finish_compound_stmt (1, yyvsp[-1].ttype); ;
- break;}
-case 210:
-#line 1158 "parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
- build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 211:
-#line 1161 "parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
- build_tree_list (NULL_TREE, error_mark_node)); ;
- break;}
-case 212:
-#line 1164 "parse.y"
-{ chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 213:
-#line 1166 "parse.y"
-{ chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
- break;}
-case 214:
-#line 1171 "parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
- break;}
-case 216:
-#line 1177 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 217:
-#line 1180 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- pedantic = yyvsp[-1].itype; ;
- break;}
-case 218:
-#line 1183 "parse.y"
-{ yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
- break;}
-case 219:
-#line 1185 "parse.y"
-{ yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
- break;}
-case 220:
-#line 1187 "parse.y"
-{ yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
- break;}
-case 221:
-#line 1189 "parse.y"
-{ yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
- break;}
-case 222:
-#line 1192 "parse.y"
-{ if (pedantic)
- pedwarn ("ISO C++ forbids `&&'");
- yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
- break;}
-case 223:
-#line 1196 "parse.y"
-{ yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
- break;}
-case 224:
-#line 1198 "parse.y"
-{ yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t));
- check_for_new_type ("sizeof", yyvsp[-1].ftype); ;
- break;}
-case 225:
-#line 1201 "parse.y"
-{ yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
- break;}
-case 226:
-#line 1203 "parse.y"
-{ yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
- check_for_new_type ("alignof", yyvsp[-1].ftype); ;
- break;}
-case 227:
-#line 1209 "parse.y"
-{ yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
- check_for_new_type ("new", yyvsp[0].ftype); ;
- break;}
-case 228:
-#line 1212 "parse.y"
-{ yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
- check_for_new_type ("new", yyvsp[-1].ftype); ;
- break;}
-case 229:
-#line 1215 "parse.y"
-{ yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
- check_for_new_type ("new", yyvsp[0].ftype); ;
- break;}
-case 230:
-#line 1218 "parse.y"
-{ yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
- check_for_new_type ("new", yyvsp[-1].ftype); ;
- break;}
-case 231:
-#line 1222 "parse.y"
-{ yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
- NULL_TREE, yyvsp[-3].itype);
- check_for_new_type ("new", yyvsp[-1].ftype); ;
- break;}
-case 232:
-#line 1226 "parse.y"
-{ yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
- check_for_new_type ("new", yyvsp[-2].ftype); ;
- break;}
-case 233:
-#line 1229 "parse.y"
-{ yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
- check_for_new_type ("new", yyvsp[-1].ftype); ;
- break;}
-case 234:
-#line 1232 "parse.y"
-{ yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
- check_for_new_type ("new", yyvsp[-2].ftype); ;
- break;}
-case 235:
-#line 1236 "parse.y"
-{ yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
- break;}
-case 236:
-#line 1238 "parse.y"
-{ yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
- if (yychar == YYEMPTY)
- yychar = YYLEX; ;
- break;}
-case 237:
-#line 1242 "parse.y"
-{ yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
- if (yychar == YYEMPTY)
- yychar = YYLEX; ;
- break;}
-case 238:
-#line 1246 "parse.y"
-{ yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
- break;}
-case 239:
-#line 1248 "parse.y"
-{ yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
- break;}
-case 240:
-#line 1250 "parse.y"
-{ yyval.ttype = build_x_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ftype.t));
- check_for_new_type ("__builtin_va_arg", yyvsp[-1].ftype); ;
- break;}
-case 241:
-#line 1256 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 242:
-#line 1258 "parse.y"
-{ cp_pedwarn ("old style placement syntax, use () instead");
- yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 243:
-#line 1264 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 244:
-#line 1266 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 245:
-#line 1268 "parse.y"
-{
- cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
- yyval.ttype = error_mark_node;
- ;
- break;}
-case 246:
-#line 1276 "parse.y"
-{
- if (pedantic)
- pedwarn ("ISO C++ forbids initialization of new expression with `='");
- if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
- && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
- yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
- else
- yyval.ttype = yyvsp[0].ttype;
- ;
- break;}
-case 247:
-#line 1290 "parse.y"
-{ yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
- yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
- check_for_new_type ("cast", yyvsp[-1].ftype); ;
- break;}
-case 248:
-#line 1294 "parse.y"
-{ yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
- yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
- check_for_new_type ("cast", yyvsp[-1].ftype); ;
- break;}
-case 250:
-#line 1302 "parse.y"
-{ yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 251:
-#line 1304 "parse.y"
-{
- tree init = build_nt (CONSTRUCTOR, NULL_TREE,
- nreverse (yyvsp[-2].ttype));
- if (pedantic)
- pedwarn ("ISO C++ forbids constructor-expressions");
- /* Indicate that this was a GNU C constructor expression. */
- TREE_HAS_CONSTRUCTOR (init) = 1;
-
- yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
- ;
- break;}
-case 253:
-#line 1320 "parse.y"
-{ yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 254:
-#line 1322 "parse.y"
-{ yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 255:
-#line 1324 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 256:
-#line 1326 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 257:
-#line 1328 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 258:
-#line 1330 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 259:
-#line 1332 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 260:
-#line 1334 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 261:
-#line 1336 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 262:
-#line 1338 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 263:
-#line 1340 "parse.y"
-{ yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 264:
-#line 1342 "parse.y"
-{ yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 265:
-#line 1344 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 266:
-#line 1346 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 267:
-#line 1348 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 268:
-#line 1350 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 269:
-#line 1352 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 270:
-#line 1354 "parse.y"
-{ yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 271:
-#line 1356 "parse.y"
-{ yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 272:
-#line 1358 "parse.y"
-{ yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 273:
-#line 1360 "parse.y"
-{ yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
- if (yyval.ttype != error_mark_node)
- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
- break;}
-case 274:
-#line 1364 "parse.y"
-{ yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
- break;}
-case 275:
-#line 1366 "parse.y"
-{ yyval.ttype = build_throw (NULL_TREE); ;
- break;}
-case 276:
-#line 1368 "parse.y"
-{ yyval.ttype = build_throw (yyvsp[0].ttype); ;
- break;}
-case 278:
-#line 1375 "parse.y"
-{ yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 279:
-#line 1377 "parse.y"
-{ yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 280:
-#line 1379 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 281:
-#line 1381 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 282:
-#line 1383 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 283:
-#line 1385 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 284:
-#line 1387 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 285:
-#line 1389 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 286:
-#line 1391 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 287:
-#line 1393 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 288:
-#line 1395 "parse.y"
-{ yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 289:
-#line 1397 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 290:
-#line 1399 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 291:
-#line 1401 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 292:
-#line 1403 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 293:
-#line 1405 "parse.y"
-{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 294:
-#line 1407 "parse.y"
-{ yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 295:
-#line 1409 "parse.y"
-{ yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 296:
-#line 1411 "parse.y"
-{ yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 297:
-#line 1413 "parse.y"
-{ yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
- if (yyval.ttype != error_mark_node)
- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
- break;}
-case 298:
-#line 1417 "parse.y"
-{ yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
- break;}
-case 299:
-#line 1419 "parse.y"
-{ yyval.ttype = build_throw (NULL_TREE); ;
- break;}
-case 300:
-#line 1421 "parse.y"
-{ yyval.ttype = build_throw (yyvsp[0].ttype); ;
- break;}
-case 301:
-#line 1426 "parse.y"
-{ yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
- break;}
-case 302:
-#line 1428 "parse.y"
-{ yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
- break;}
-case 308:
-#line 1437 "parse.y"
-{
- /* If lastiddecl is a TREE_LIST, it's a baselink, which
- means that we're in an expression like S::f<int>, so
- don't do_identifier; we only do that for unqualified
- identifiers. */
- if (lastiddecl && TREE_CODE (lastiddecl) != TREE_LIST)
- yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE);
- else
- yyval.ttype = yyvsp[-1].ttype;
- ;
- break;}
-case 309:
-#line 1450 "parse.y"
-{ yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
- break;}
-case 310:
-#line 1452 "parse.y"
-{ yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
- break;}
-case 311:
-#line 1457 "parse.y"
-{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 312:
-#line 1459 "parse.y"
-{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 313:
-#line 1462 "parse.y"
-{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 318:
-#line 1474 "parse.y"
-{
- /* Provide support for '(' attributes '*' declarator ')'
- etc */
- yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
- ;
- break;}
-case 320:
-#line 1484 "parse.y"
-{ yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
- break;}
-case 321:
-#line 1486 "parse.y"
-{ yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
- break;}
-case 322:
-#line 1488 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 323:
-#line 1493 "parse.y"
-{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 324:
-#line 1495 "parse.y"
-{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 328:
-#line 1505 "parse.y"
-{ yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
- break;}
-case 329:
-#line 1510 "parse.y"
-{
- if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
- yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
- else
- yyval.ttype = finish_id_expr (yyvsp[0].ttype);
- ;
- break;}
-case 332:
-#line 1519 "parse.y"
-{
- yyval.ttype = combine_strings (yyval.ttype);
- /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
- a const array the way we want, so fix it. */
- if (flag_const_strings)
- TREE_TYPE (yyval.ttype) = build_cplus_array_type
- (TREE_TYPE (TREE_TYPE (yyval.ttype)),
- TYPE_DOMAIN (TREE_TYPE (yyval.ttype)));
- ;
- break;}
-case 333:
-#line 1529 "parse.y"
-{ yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
- break;}
-case 334:
-#line 1531 "parse.y"
-{ yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
- yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
- break;}
-case 335:
-#line 1534 "parse.y"
-{ yyval.ttype = error_mark_node; ;
- break;}
-case 336:
-#line 1536 "parse.y"
-{ tree scope = current_scope ();
- if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
- {
- error ("braced-group within expression allowed only inside a function");
- YYERROR;
- }
- if (pedantic)
- pedwarn ("ISO C++ forbids braced-groups within expressions");
- yyval.ttype = begin_stmt_expr ();
- ;
- break;}
-case 337:
-#line 1547 "parse.y"
-{ yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype); ;
- break;}
-case 338:
-#line 1552 "parse.y"
-{ yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
- break;}
-case 339:
-#line 1554 "parse.y"
-{ yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
- break;}
-case 340:
-#line 1556 "parse.y"
-{ yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
- break;}
-case 341:
-#line 1558 "parse.y"
-{ yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
- break;}
-case 342:
-#line 1560 "parse.y"
-{ yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
- break;}
-case 343:
-#line 1562 "parse.y"
-{ yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
- break;}
-case 344:
-#line 1564 "parse.y"
-{ yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
- break;}
-case 345:
-#line 1567 "parse.y"
-{ yyval.ttype = finish_this_expr (); ;
- break;}
-case 346:
-#line 1569 "parse.y"
-{
- /* This is a C cast in C++'s `functional' notation
- using the "implicit int" extension so that:
- `const (3)' is equivalent to `const int (3)'. */
- tree type;
-
- type = hash_tree_cons (NULL_TREE, yyvsp[-3].ttype, NULL_TREE);
- type = groktypename (build_decl_list (type, NULL_TREE));
- yyval.ttype = build_functional_cast (type, yyvsp[-1].ttype);
- ;
- break;}
-case 348:
-#line 1581 "parse.y"
-{ tree type = groktypename (yyvsp[-4].ftype.t);
- check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
- yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
- break;}
-case 349:
-#line 1585 "parse.y"
-{ tree type = groktypename (yyvsp[-4].ftype.t);
- check_for_new_type ("static_cast", yyvsp[-4].ftype);
- yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
- break;}
-case 350:
-#line 1589 "parse.y"
-{ tree type = groktypename (yyvsp[-4].ftype.t);
- check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
- yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
- break;}
-case 351:
-#line 1593 "parse.y"
-{ tree type = groktypename (yyvsp[-4].ftype.t);
- check_for_new_type ("const_cast", yyvsp[-4].ftype);
- yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
- break;}
-case 352:
-#line 1597 "parse.y"
-{ yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
- break;}
-case 353:
-#line 1599 "parse.y"
-{ tree type = groktypename (yyvsp[-1].ftype.t);
- check_for_new_type ("typeid", yyvsp[-1].ftype);
- yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
- break;}
-case 354:
-#line 1603 "parse.y"
-{ yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
- break;}
-case 355:
-#line 1605 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 356:
-#line 1607 "parse.y"
-{
- got_scope = NULL_TREE;
- if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
- yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
- else
- yyval.ttype = yyvsp[0].ttype;
- ;
- break;}
-case 357:
-#line 1615 "parse.y"
-{ yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
- break;}
-case 358:
-#line 1617 "parse.y"
-{ yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 359:
-#line 1619 "parse.y"
-{ yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
- break;}
-case 360:
-#line 1621 "parse.y"
-{
- yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
- ;
- break;}
-case 361:
-#line 1625 "parse.y"
-{ yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
- break;}
-case 362:
-#line 1627 "parse.y"
-{ yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 363:
-#line 1629 "parse.y"
-{ yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
- break;}
-case 364:
-#line 1631 "parse.y"
-{ if (processing_template_decl)
- yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
- else
- yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
- break;}
-case 365:
-#line 1636 "parse.y"
-{ yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
- break;}
-case 366:
-#line 1638 "parse.y"
-{ yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 367:
-#line 1640 "parse.y"
-{ yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
- break;}
-case 368:
-#line 1642 "parse.y"
-{ yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 369:
-#line 1645 "parse.y"
-{ yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 370:
-#line 1647 "parse.y"
-{ yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
- break;}
-case 371:
-#line 1649 "parse.y"
-{
- yyval.ttype = error_mark_node;
- ;
- break;}
-case 372:
-#line 1694 "parse.y"
-{ yyval.itype = 0; ;
- break;}
-case 373:
-#line 1696 "parse.y"
-{ got_scope = NULL_TREE; yyval.itype = 1; ;
- break;}
-case 374:
-#line 1701 "parse.y"
-{ yyval.itype = 0; ;
- break;}
-case 375:
-#line 1703 "parse.y"
-{ got_scope = NULL_TREE; yyval.itype = 1; ;
- break;}
-case 376:
-#line 1708 "parse.y"
-{ yyval.ttype = boolean_true_node; ;
- break;}
-case 377:
-#line 1710 "parse.y"
-{ yyval.ttype = boolean_false_node; ;
- break;}
-case 379:
-#line 1717 "parse.y"
-{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 380:
-#line 1722 "parse.y"
-{
- if (! current_function_parms_stored)
- store_parm_decls ();
- setup_vtbl_ptr (NULL_TREE, NULL_TREE);
- ;
- break;}
-case 381:
-#line 1731 "parse.y"
-{ got_object = TREE_TYPE (yyval.ttype); ;
- break;}
-case 382:
-#line 1733 "parse.y"
-{
- yyval.ttype = build_x_arrow (yyval.ttype);
- got_object = TREE_TYPE (yyval.ttype);
- ;
- break;}
-case 383:
-#line 1741 "parse.y"
-{
- if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
- note_got_semicolon (yyvsp[-2].ftype.t);
- ;
- break;}
-case 384:
-#line 1746 "parse.y"
-{
- note_list_got_semicolon (yyvsp[-2].ftype.t);
- ;
- break;}
-case 385:
-#line 1750 "parse.y"
-{;
- break;}
-case 386:
-#line 1752 "parse.y"
-{
- shadow_tag (yyvsp[-1].ftype.t);
- note_list_got_semicolon (yyvsp[-1].ftype.t);
- ;
- break;}
-case 387:
-#line 1757 "parse.y"
-{ warning ("empty declaration"); ;
- break;}
-case 388:
-#line 1759 "parse.y"
-{ pedantic = yyvsp[-1].itype; ;
- break;}
-case 391:
-#line 1773 "parse.y"
-{ yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
- NULL_TREE, NULL_TREE); ;
- break;}
-case 392:
-#line 1776 "parse.y"
-{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
- NULL_TREE); ;
- break;}
-case 393:
-#line 1783 "parse.y"
-{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 394:
-#line 1786 "parse.y"
-{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 395:
-#line 1789 "parse.y"
-{ yyval.ftype.t = build_decl_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
- yyvsp[0].ttype);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 396:
-#line 1793 "parse.y"
-{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
- yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
- break;}
-case 397:
-#line 1796 "parse.y"
-{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
- yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
- break;}
-case 398:
-#line 1807 "parse.y"
-{ yyval.ftype.lookups = type_lookups; ;
- break;}
-case 399:
-#line 1809 "parse.y"
-{ yyval.ftype.lookups = type_lookups; ;
- break;}
-case 400:
-#line 1814 "parse.y"
-{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
- yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
- break;}
-case 401:
-#line 1817 "parse.y"
-{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 402:
-#line 1820 "parse.y"
-{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
- yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
- break;}
-case 403:
-#line 1823 "parse.y"
-{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 404:
-#line 1826 "parse.y"
-{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 405:
-#line 1829 "parse.y"
-{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
- chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ftype.t)));
- yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
- break;}
-case 406:
-#line 1836 "parse.y"
-{ if (extra_warnings)
- warning ("`%s' is not at beginning of declaration",
- IDENTIFIER_POINTER (yyval.ttype));
- yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
- break;}
-case 407:
-#line 1841 "parse.y"
-{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
- break;}
-case 408:
-#line 1843 "parse.y"
-{ if (extra_warnings)
- warning ("`%s' is not at beginning of declaration",
- IDENTIFIER_POINTER (yyvsp[0].ttype));
- yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
- break;}
-case 409:
-#line 1848 "parse.y"
-{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 410:
-#line 1850 "parse.y"
-{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
- break;}
-case 411:
-#line 1869 "parse.y"
-{ yyval.ftype.lookups = NULL_TREE; TREE_STATIC (yyval.ftype.t) = 1; ;
- break;}
-case 412:
-#line 1871 "parse.y"
-{
- yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
- yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
- ;
- break;}
-case 413:
-#line 1876 "parse.y"
-{
- yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
- TREE_STATIC (yyval.ftype.t) = 1;
- ;
- break;}
-case 414:
-#line 1881 "parse.y"
-{
- if (extra_warnings && TREE_STATIC (yyval.ftype.t))
- warning ("`%s' is not at beginning of declaration",
- IDENTIFIER_POINTER (yyvsp[0].ttype));
- yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
- TREE_STATIC (yyval.ftype.t) = TREE_STATIC (yyvsp[-1].ftype.t);
- ;
- break;}
-case 415:
-#line 1889 "parse.y"
-{ yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t); ;
- break;}
-case 416:
-#line 1891 "parse.y"
-{
- yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
- yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
- ;
- break;}
-case 417:
-#line 1905 "parse.y"
-{ yyval.ftype.t = build_decl_list (NULL_TREE, yyvsp[0].ftype.t);
- yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
- break;}
-case 418:
-#line 1908 "parse.y"
-{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
- yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
- break;}
-case 419:
-#line 1911 "parse.y"
-{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 420:
-#line 1914 "parse.y"
-{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 421:
-#line 1920 "parse.y"
-{ yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
- break;}
-case 422:
-#line 1922 "parse.y"
-{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
- break;}
-case 423:
-#line 1931 "parse.y"
-{ yyval.ftype.lookups = NULL_TREE; ;
- break;}
-case 424:
-#line 1933 "parse.y"
-{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
- break;}
-case 425:
-#line 1935 "parse.y"
-{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
- break;}
-case 426:
-#line 1937 "parse.y"
-{ yyval.ftype.t = finish_typeof (yyvsp[-1].ttype);
- yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
- break;}
-case 427:
-#line 1940 "parse.y"
-{ yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
- yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
- break;}
-case 428:
-#line 1943 "parse.y"
-{ tree type = TREE_TYPE (yyvsp[-1].ttype);
-
- yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
- if (IS_AGGR_TYPE (type))
- {
- sorry ("sigof type specifier");
- yyval.ftype.t = type;
- }
- else
- {
- error ("`sigof' applied to non-aggregate expression");
- yyval.ftype.t = error_mark_node;
- }
- ;
- break;}
-case 429:
-#line 1958 "parse.y"
-{ tree type = groktypename (yyvsp[-1].ftype.t);
-
- yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
- if (IS_AGGR_TYPE (type))
- {
- sorry ("sigof type specifier");
- yyval.ftype.t = type;
- }
- else
- {
- error("`sigof' applied to non-aggregate type");
- yyval.ftype.t = error_mark_node;
- }
- ;
- break;}
-case 430:
-#line 1978 "parse.y"
-{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
- break;}
-case 431:
-#line 1980 "parse.y"
-{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
- break;}
-case 434:
-#line 1987 "parse.y"
-{ check_multiple_declarators (); ;
- break;}
-case 436:
-#line 1993 "parse.y"
-{ check_multiple_declarators (); ;
- break;}
-case 438:
-#line 1999 "parse.y"
-{ check_multiple_declarators (); ;
- break;}
-case 439:
-#line 2004 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 440:
-#line 2006 "parse.y"
-{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 441:
-#line 2011 "parse.y"
-{ yyval.ttype = parse_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
- break;}
-case 442:
-#line 2014 "parse.y"
-{ parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
- break;}
-case 443:
-#line 2016 "parse.y"
-{
- yyval.ttype = parse_decl (yyvsp[-2].ttype, yyvsp[0].ttype, 0);
- parse_end_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype);
- ;
- break;}
-case 444:
-#line 2030 "parse.y"
-{ yyval.ttype = parse_decl0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t,
- yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, 1); ;
- break;}
-case 445:
-#line 2035 "parse.y"
-{ parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
- break;}
-case 446:
-#line 2037 "parse.y"
-{ tree d = parse_decl0 (yyvsp[-2].ttype, yyvsp[-3].ftype.t,
- yyvsp[-3].ftype.lookups, yyvsp[0].ttype, 0);
- parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 447:
-#line 2044 "parse.y"
-{;
- break;}
-case 448:
-#line 2049 "parse.y"
-{;
- break;}
-case 449:
-#line 2054 "parse.y"
-{ /* Set things up as initdcl0_innards expects. */
- yyvsp[0].ttype = yyvsp[-1].ttype;
- yyvsp[-1].ttype = NULL_TREE; ;
- break;}
-case 450:
-#line 2058 "parse.y"
-{;
- break;}
-case 451:
-#line 2060 "parse.y"
-{ tree d = parse_decl0 (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[0].ttype, 0);
- parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 452:
-#line 2068 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 453:
-#line 2070 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 454:
-#line 2075 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 455:
-#line 2077 "parse.y"
-{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 456:
-#line 2082 "parse.y"
-{ yyval.ttype = yyvsp[-2].ttype; ;
- break;}
-case 457:
-#line 2087 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 458:
-#line 2089 "parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 459:
-#line 2094 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 460:
-#line 2096 "parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 461:
-#line 2098 "parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
- break;}
-case 462:
-#line 2100 "parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
- break;}
-case 463:
-#line 2102 "parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 468:
-#line 2118 "parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 469:
-#line 2120 "parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 470:
-#line 2125 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 471:
-#line 2127 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 473:
-#line 2135 "parse.y"
-{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
- TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
- break;}
-case 474:
-#line 2138 "parse.y"
-{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
- TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
- break;}
-case 475:
-#line 2141 "parse.y"
-{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
- TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
- break;}
-case 476:
-#line 2144 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 477:
-#line 2151 "parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
- break;}
-case 478:
-#line 2153 "parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
- break;}
-case 479:
-#line 2156 "parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 480:
-#line 2158 "parse.y"
-{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 481:
-#line 2160 "parse.y"
-{ yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
- break;}
-case 482:
-#line 2165 "parse.y"
-{ start_function (NULL_TREE, yyvsp[0].pi->fndecl, NULL_TREE,
- (SF_DEFAULT | SF_PRE_PARSED
- | SF_INCLASS_INLINE)); ;
- break;}
-case 483:
-#line 2171 "parse.y"
-{
- expand_body (finish_function ((int)yyvsp[-1].itype | 2));
- process_next_inline (yyvsp[-3].pi);
- ;
- break;}
-case 484:
-#line 2176 "parse.y"
-{
- expand_body (finish_function ((int)yyvsp[0].itype | 2));
- process_next_inline (yyvsp[-2].pi);
- ;
- break;}
-case 485:
-#line 2181 "parse.y"
-{
- finish_function (2);
- process_next_inline (yyvsp[-2].pi); ;
- break;}
-case 488:
-#line 2195 "parse.y"
-{ replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
- break;}
-case 489:
-#line 2197 "parse.y"
-{ replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
- break;}
-case 491:
-#line 2202 "parse.y"
-{ do_pending_defargs (); ;
- break;}
-case 492:
-#line 2204 "parse.y"
-{ do_pending_defargs (); ;
- break;}
-case 493:
-#line 2209 "parse.y"
-{ yyval.ttype = current_enum_type;
- current_enum_type = start_enum (yyvsp[-1].ttype); ;
- break;}
-case 494:
-#line 2212 "parse.y"
-{ yyval.ftype.t = finish_enum (current_enum_type);
- yyval.ftype.new_type_flag = 1;
- current_enum_type = yyvsp[-2].ttype;
- check_for_missing_semicolon (yyval.ftype.t); ;
- break;}
-case 495:
-#line 2217 "parse.y"
-{ yyval.ttype = current_enum_type;
- current_enum_type = start_enum (make_anon_name ()); ;
- break;}
-case 496:
-#line 2220 "parse.y"
-{ yyval.ftype.t = finish_enum (current_enum_type);
- yyval.ftype.new_type_flag = 1;
- current_enum_type = yyvsp[-2].ttype;
- check_for_missing_semicolon (yyval.ftype.t); ;
- break;}
-case 497:
-#line 2225 "parse.y"
-{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
- yyval.ftype.new_type_flag = 0; ;
- break;}
-case 498:
-#line 2228 "parse.y"
-{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
- yyval.ftype.new_type_flag = 0; ;
- break;}
-case 499:
-#line 2231 "parse.y"
-{ yyval.ftype.t = yyvsp[0].ttype;
- yyval.ftype.new_type_flag = 0;
- if (!processing_template_decl)
- cp_pedwarn ("using `typename' outside of template"); ;
- break;}
-case 500:
-#line 2237 "parse.y"
-{ yyvsp[-1].ftype.t = begin_class_definition (yyvsp[-1].ftype.t); ;
- break;}
-case 501:
-#line 2239 "parse.y"
-{
- int semi;
-
- if (yychar == YYEMPTY)
- yychar = YYLEX;
- semi = yychar == ';';
-
- yyval.ttype = finish_class_definition (yyvsp[-5].ftype.t, yyvsp[0].ttype, semi,
- yyvsp[-5].ftype.new_type_flag);
- ;
- break;}
-case 502:
-#line 2250 "parse.y"
-{
- begin_inline_definitions ();
- ;
- break;}
-case 503:
-#line 2254 "parse.y"
-{
- finish_inline_definitions ();
- yyval.ftype.t = yyvsp[-3].ttype;
- yyval.ftype.new_type_flag = 1;
- ;
- break;}
-case 504:
-#line 2260 "parse.y"
-{
- if (yyvsp[0].ftype.new_type_flag && yyvsp[0].ftype.t != error_mark_node)
- pop_scope (CP_DECL_CONTEXT (TYPE_MAIN_DECL (yyvsp[0].ftype.t)));
- yyval.ftype.new_type_flag = 0;
- if (yyvsp[0].ftype.t == error_mark_node)
- yyval.ftype.t = yyvsp[0].ftype.t;
- else if (TYPE_BINFO (yyvsp[0].ftype.t) == NULL_TREE)
- {
- cp_error ("%T is not a class type", yyvsp[0].ftype.t);
- yyval.ftype.t = error_mark_node;
- }
- else
- {
- yyval.ftype.t = yyvsp[0].ftype.t;
- /* struct B: public A; is not accepted by the standard grammar. */
- if (CLASS_TYPE_P (yyval.ftype.t)
- && TYPE_BINFO_BASETYPES (yyval.ftype.t)
- && !COMPLETE_TYPE_P (yyval.ftype.t)
- && ! TYPE_BEING_DEFINED (yyval.ftype.t))
- cp_error ("base clause without member specification for `%#T'",
- yyval.ftype.t);
- }
- ;
- break;}
-case 508:
-#line 2293 "parse.y"
-{ if (pedantic && !in_system_header)
- pedwarn ("comma at end of enumerator list"); ;
- break;}
-case 510:
-#line 2300 "parse.y"
-{ error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
- break;}
-case 511:
-#line 2302 "parse.y"
-{ error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
- break;}
-case 512:
-#line 2304 "parse.y"
-{ error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
- break;}
-case 513:
-#line 2306 "parse.y"
-{ error ("no body nor ';' separates two class, struct or union declarations"); ;
- break;}
-case 514:
-#line 2308 "parse.y"
-{ yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 515:
-#line 2313 "parse.y"
-{
- current_aggr = yyvsp[-1].ttype;
- yyval.ttype = yyvsp[0].ttype;
- ;
- break;}
-case 516:
-#line 2321 "parse.y"
-{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 517:
-#line 2323 "parse.y"
-{ yyungetc ('{', 1); ;
- break;}
-case 518:
-#line 2325 "parse.y"
-{ yyungetc (':', 1); ;
- break;}
-case 519:
-#line 2330 "parse.y"
-{
- current_aggr = yyvsp[-2].ttype;
- yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
- yyval.ftype.new_type_flag = 1;
- ;
- break;}
-case 520:
-#line 2336 "parse.y"
-{
- current_aggr = yyvsp[-3].ttype;
- yyval.ftype.t = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
- yyval.ftype.new_type_flag = 1;
- ;
- break;}
-case 521:
-#line 2342 "parse.y"
-{
- current_aggr = yyvsp[-2].ttype;
- yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
- yyval.ftype.new_type_flag = 1;
- ;
- break;}
-case 522:
-#line 2348 "parse.y"
-{
- current_aggr = yyvsp[-1].ttype;
- yyval.ftype.t = yyvsp[0].ttype;
- yyval.ftype.new_type_flag = 0;
- ;
- break;}
-case 523:
-#line 2354 "parse.y"
-{
- current_aggr = yyvsp[-2].ttype;
- yyval.ftype.t = yyvsp[0].ttype;
- if (CP_DECL_CONTEXT (yyval.ftype.t))
- push_scope (CP_DECL_CONTEXT (yyval.ftype.t));
- yyval.ftype.new_type_flag = 1;
- ;
- break;}
-case 524:
-#line 2365 "parse.y"
-{
- yyval.ftype.t = xref_tag (current_aggr, yyvsp[0].ttype, 1);
- yyval.ftype.new_type_flag = 0;
- ;
- break;}
-case 525:
-#line 2370 "parse.y"
-{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
- break;}
-case 526:
-#line 2374 "parse.y"
-{
- yyval.ftype.t = yyvsp[-1].ttype;
- yyval.ftype.new_type_flag = 0;
- if (yyvsp[0].ttype)
- xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 527:
-#line 2382 "parse.y"
-{
- if (yyvsp[-1].ftype.t != error_mark_node)
- {
- yyval.ftype.t = TREE_TYPE (yyvsp[-1].ftype.t);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
- if (current_aggr == union_type_node
- && TREE_CODE (yyval.ftype.t) != UNION_TYPE)
- cp_pedwarn ("`union' tag used in declaring `%#T'",
- yyval.ftype.t);
- else if (TREE_CODE (yyval.ftype.t) == UNION_TYPE
- && current_aggr != union_type_node)
- cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ftype);
- else if (TREE_CODE (yyval.ftype.t) == RECORD_TYPE)
- /* We might be specializing a template with a different
- class-key; deal. */
- CLASSTYPE_DECLARED_CLASS (yyval.ftype.t)
- = (current_aggr == class_type_node);
- if (yyvsp[0].ttype)
- {
- maybe_process_partial_specialization (yyval.ftype.t);
- xref_basetypes (current_aggr, yyvsp[-1].ftype.t, yyval.ftype.t, yyvsp[0].ttype);
- }
- }
- ;
- break;}
-case 528:
-#line 2410 "parse.y"
-{ yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
- yyungetc ('{', 1); ;
- break;}
-case 529:
-#line 2420 "parse.y"
-{
- yyval.ftype.t = yyvsp[0].ttype;
- yyval.ftype.new_type_flag = 0;
- ;
- break;}
-case 531:
-#line 2429 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 532:
-#line 2431 "parse.y"
-{ yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
- break;}
-case 533:
-#line 2433 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 535:
-#line 2439 "parse.y"
-{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 536:
-#line 2444 "parse.y"
-{ yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype); ;
- break;}
-case 537:
-#line 2446 "parse.y"
-{ yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 538:
-#line 2451 "parse.y"
-{ if (yyval.ttype == error_mark_node)
- ;
- else if (!TYPE_P (yyval.ttype))
- yyval.ttype = error_mark_node;
- else
- yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
- break;}
-case 541:
-#line 2463 "parse.y"
-{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
- cp_error ("`%D' access", yyvsp[-1].ttype);
- yyval.ttype = access_default_virtual_node; ;
- break;}
-case 542:
-#line 2467 "parse.y"
-{
- if (yyvsp[-2].ttype != access_default_virtual_node)
- error ("multiple access specifiers");
- else if (yyvsp[-1].ttype == access_public_node)
- yyval.ttype = access_public_virtual_node;
- else if (yyvsp[-1].ttype == access_protected_node)
- yyval.ttype = access_protected_virtual_node;
- else /* $2 == access_private_node */
- yyval.ttype = access_private_virtual_node;
- ;
- break;}
-case 543:
-#line 2478 "parse.y"
-{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
- cp_error ("`%D' access", yyvsp[-1].ttype);
- else if (yyval.ttype == access_public_node)
- yyval.ttype = access_public_virtual_node;
- else if (yyval.ttype == access_protected_node)
- yyval.ttype = access_protected_virtual_node;
- else if (yyval.ttype == access_private_node)
- yyval.ttype = access_private_virtual_node;
- else
- error ("multiple `virtual' specifiers");
- ;
- break;}
-case 548:
-#line 2499 "parse.y"
-{
- current_access_specifier = yyvsp[-1].ttype;
- ;
- break;}
-case 549:
-#line 2508 "parse.y"
-{
- finish_member_declaration (yyvsp[0].ttype);
- ;
- break;}
-case 550:
-#line 2512 "parse.y"
-{
- finish_member_declaration (yyvsp[0].ttype);
- ;
- break;}
-case 552:
-#line 2520 "parse.y"
-{ error ("missing ';' before right brace");
- yyungetc ('}', 0); ;
- break;}
-case 553:
-#line 2525 "parse.y"
-{ yyval.ttype = finish_method (yyval.ttype); ;
- break;}
-case 554:
-#line 2527 "parse.y"
-{ yyval.ttype = finish_method (yyval.ttype); ;
- break;}
-case 555:
-#line 2529 "parse.y"
-{ yyval.ttype = finish_method (yyval.ttype); ;
- break;}
-case 556:
-#line 2531 "parse.y"
-{ yyval.ttype = finish_method (yyval.ttype); ;
- break;}
-case 557:
-#line 2533 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 558:
-#line 2535 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- pedantic = yyvsp[-1].itype; ;
- break;}
-case 559:
-#line 2538 "parse.y"
-{
- if (yyvsp[0].ttype)
- yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
- else
- /* The component was already processed. */
- yyval.ttype = NULL_TREE;
-
- finish_template_decl (yyvsp[-1].ttype);
- ;
- break;}
-case 560:
-#line 2548 "parse.y"
-{
- yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
- finish_template_decl (yyvsp[-2].ttype);
- ;
- break;}
-case 561:
-#line 2559 "parse.y"
-{
- /* Most of the productions for component_decl only
- allow the creation of one new member, so we call
- finish_member_declaration in component_decl_list.
- For this rule and the next, however, there can be
- more than one member, e.g.:
-
- int i, j;
-
- and we need the first member to be fully
- registered before the second is processed.
- Therefore, the rules for components take care of
- this processing. To avoid registering the
- components more than once, we send NULL_TREE up
- here; that lets finish_member_declaration know
- that there is nothing to do. */
- if (!yyvsp[0].itype)
- grok_x_components (yyvsp[-1].ftype.t);
- yyval.ttype = NULL_TREE;
- ;
- break;}
-case 562:
-#line 2580 "parse.y"
-{
- if (!yyvsp[0].itype)
- grok_x_components (yyvsp[-1].ftype.t);
- yyval.ttype = NULL_TREE;
- ;
- break;}
-case 563:
-#line 2586 "parse.y"
-{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
- build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
- break;}
-case 564:
-#line 2589 "parse.y"
-{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
- build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
- break;}
-case 565:
-#line 2592 "parse.y"
-{ yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 566:
-#line 2594 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 567:
-#line 2605 "parse.y"
-{ tree specs, attrs;
- split_specs_attrs (yyvsp[-4].ftype.t, &specs, &attrs);
- yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
- build_tree_list (yyvsp[-1].ttype, attrs)); ;
- break;}
-case 568:
-#line 2610 "parse.y"
-{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
- build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
- break;}
-case 569:
-#line 2613 "parse.y"
-{ yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
- break;}
-case 570:
-#line 2619 "parse.y"
-{ yyval.itype = 0; ;
- break;}
-case 571:
-#line 2621 "parse.y"
-{
- if (PROCESSING_REAL_TEMPLATE_DECL_P ())
- yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
- finish_member_declaration (yyvsp[0].ttype);
- yyval.itype = 1;
- ;
- break;}
-case 572:
-#line 2628 "parse.y"
-{
- check_multiple_declarators ();
- if (PROCESSING_REAL_TEMPLATE_DECL_P ())
- yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
- finish_member_declaration (yyvsp[0].ttype);
- yyval.itype = 2;
- ;
- break;}
-case 573:
-#line 2639 "parse.y"
-{ yyval.itype = 0; ;
- break;}
-case 574:
-#line 2641 "parse.y"
-{
- if (PROCESSING_REAL_TEMPLATE_DECL_P ())
- yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
- finish_member_declaration (yyvsp[0].ttype);
- yyval.itype = 1;
- ;
- break;}
-case 575:
-#line 2648 "parse.y"
-{
- check_multiple_declarators ();
- if (PROCESSING_REAL_TEMPLATE_DECL_P ())
- yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
- finish_member_declaration (yyvsp[0].ttype);
- yyval.itype = 2;
- ;
- break;}
-case 580:
-#line 2669 "parse.y"
-{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
- yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 581:
-#line 2672 "parse.y"
-{ yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
- yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 582:
-#line 2678 "parse.y"
-{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
- yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 583:
-#line 2681 "parse.y"
-{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
- yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 584:
-#line 2684 "parse.y"
-{ yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
- yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 585:
-#line 2687 "parse.y"
-{ yyval.ttype = parse_bitfield0 (NULL_TREE, yyvsp[-3].ftype.t,
- yyvsp[-3].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 586:
-#line 2693 "parse.y"
-{ yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 587:
-#line 2695 "parse.y"
-{ yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 588:
-#line 2700 "parse.y"
-{ yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 589:
-#line 2702 "parse.y"
-{ yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 590:
-#line 2704 "parse.y"
-{ yyval.ttype = parse_bitfield (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 595:
-#line 2723 "parse.y"
-{ build_enumerator (yyvsp[0].ttype, NULL_TREE, current_enum_type); ;
- break;}
-case 596:
-#line 2725 "parse.y"
-{ build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype, current_enum_type); ;
- break;}
-case 597:
-#line 2731 "parse.y"
-{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 598:
-#line 2734 "parse.y"
-{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
- yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
- break;}
-case 599:
-#line 2739 "parse.y"
-{
- if (pedantic)
- pedwarn ("ISO C++ forbids array dimensions with parenthesized type in new");
- yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
- yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
- yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
- ;
- break;}
-case 600:
-#line 2750 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 601:
-#line 2752 "parse.y"
-{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
- break;}
-case 602:
-#line 2757 "parse.y"
-{ yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
- yyval.ftype.new_type_flag = 0; ;
- break;}
-case 603:
-#line 2760 "parse.y"
-{ yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 604:
-#line 2770 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 605:
-#line 2772 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 606:
-#line 2774 "parse.y"
-{ yyval.ttype = empty_parms (); ;
- break;}
-case 607:
-#line 2776 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 609:
-#line 2784 "parse.y"
-{
- /* Provide support for '(' attributes '*' declarator ')'
- etc */
- yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
- ;
- break;}
-case 610:
-#line 2794 "parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
- break;}
-case 611:
-#line 2796 "parse.y"
-{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
- break;}
-case 612:
-#line 2798 "parse.y"
-{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 613:
-#line 2800 "parse.y"
-{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 614:
-#line 2802 "parse.y"
-{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
- yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
- ;
- break;}
-case 616:
-#line 2810 "parse.y"
-{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 617:
-#line 2812 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
- break;}
-case 618:
-#line 2814 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
- break;}
-case 619:
-#line 2816 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 620:
-#line 2818 "parse.y"
-{ push_nested_class (yyvsp[-1].ttype, 3);
- yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
- TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
- break;}
-case 622:
-#line 2826 "parse.y"
-{
- if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
- {
- yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
- maybe_note_name_used_in_class (yyvsp[0].ttype, yyval.ttype);
- }
- else
- yyval.ttype = yyvsp[0].ttype;
- ;
- break;}
-case 623:
-#line 2836 "parse.y"
-{
- if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
- yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
- else
- yyval.ttype = yyvsp[0].ttype;
- got_scope = NULL_TREE;
- ;
- break;}
-case 626:
-#line 2849 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 627:
-#line 2854 "parse.y"
-{ yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
- break;}
-case 629:
-#line 2863 "parse.y"
-{
- /* Provide support for '(' attributes '*' declarator ')'
- etc */
- yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
- ;
- break;}
-case 630:
-#line 2872 "parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
- break;}
-case 631:
-#line 2874 "parse.y"
-{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
- break;}
-case 632:
-#line 2876 "parse.y"
-{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 633:
-#line 2878 "parse.y"
-{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 634:
-#line 2880 "parse.y"
-{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
- yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
- ;
- break;}
-case 636:
-#line 2888 "parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
- break;}
-case 637:
-#line 2890 "parse.y"
-{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
- break;}
-case 638:
-#line 2892 "parse.y"
-{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 639:
-#line 2894 "parse.y"
-{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 640:
-#line 2896 "parse.y"
-{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
- yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
- ;
- break;}
-case 642:
-#line 2904 "parse.y"
-{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 643:
-#line 2906 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 644:
-#line 2908 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
- break;}
-case 645:
-#line 2910 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
- break;}
-case 646:
-#line 2912 "parse.y"
-{ enter_scope_of (yyvsp[0].ttype); ;
- break;}
-case 647:
-#line 2914 "parse.y"
-{ enter_scope_of (yyvsp[0].ttype); yyval.ttype = yyvsp[0].ttype;;
- break;}
-case 648:
-#line 2916 "parse.y"
-{ yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype);
- enter_scope_of (yyval.ttype);
- ;
- break;}
-case 649:
-#line 2920 "parse.y"
-{ got_scope = NULL_TREE;
- yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
- enter_scope_of (yyval.ttype);
- ;
- break;}
-case 650:
-#line 2928 "parse.y"
-{ got_scope = NULL_TREE;
- yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 651:
-#line 2931 "parse.y"
-{ got_scope = NULL_TREE;
- yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 652:
-#line 2937 "parse.y"
-{ got_scope = NULL_TREE;
- yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 653:
-#line 2940 "parse.y"
-{ got_scope = NULL_TREE;
- yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 655:
-#line 2947 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 656:
-#line 2952 "parse.y"
-{ yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
- break;}
-case 657:
-#line 2954 "parse.y"
-{ yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
- break;}
-case 658:
-#line 2956 "parse.y"
-{ yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
- break;}
-case 663:
-#line 2968 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 664:
-#line 2970 "parse.y"
-{ got_scope = yyval.ttype
- = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
- break;}
-case 665:
-#line 2978 "parse.y"
-{
- if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
- {
- yyval.ttype = lastiddecl;
- maybe_note_name_used_in_class (yyvsp[-1].ttype, yyval.ttype);
- }
- got_scope = yyval.ttype =
- complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype)));
- ;
- break;}
-case 666:
-#line 2988 "parse.y"
-{
- if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
- yyval.ttype = lastiddecl;
- got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
- ;
- break;}
-case 667:
-#line 2994 "parse.y"
-{
- if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
- yyval.ttype = lastiddecl;
- got_scope = yyval.ttype;
- ;
- break;}
-case 668:
-#line 3000 "parse.y"
-{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
- break;}
-case 670:
-#line 3016 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 671:
-#line 3021 "parse.y"
-{
- if (TYPE_P (yyvsp[-1].ttype))
- yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1);
- else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
- cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
- else
- {
- yyval.ttype = yyvsp[0].ttype;
- if (TREE_CODE (yyval.ttype) == TYPE_DECL)
- yyval.ttype = TREE_TYPE (yyval.ttype);
- }
- ;
- break;}
-case 672:
-#line 3034 "parse.y"
-{ yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
- break;}
-case 673:
-#line 3036 "parse.y"
-{ yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1); ;
- break;}
-case 674:
-#line 3038 "parse.y"
-{ yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype, /*complain=*/1); ;
- break;}
-case 675:
-#line 3043 "parse.y"
-{
- if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
- cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
- ;
- break;}
-case 676:
-#line 3048 "parse.y"
-{
- if (TYPE_P (yyvsp[-1].ttype))
- yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1);
- else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
- cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
- else
- {
- yyval.ttype = yyvsp[0].ttype;
- if (TREE_CODE (yyval.ttype) == TYPE_DECL)
- yyval.ttype = TREE_TYPE (yyval.ttype);
- }
- ;
- break;}
-case 677:
-#line 3061 "parse.y"
-{ got_scope = yyval.ttype
- = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
- break;}
-case 678:
-#line 3064 "parse.y"
-{ got_scope = yyval.ttype
- = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
- break;}
-case 679:
-#line 3070 "parse.y"
-{
- if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
- yyvsp[-1].ttype = lastiddecl;
-
- /* Retrieve the type for the identifier, which might involve
- some computation. */
- got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
-
- if (yyval.ttype == error_mark_node)
- cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
- ;
- break;}
-case 680:
-#line 3082 "parse.y"
-{
- if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
- yyval.ttype = lastiddecl;
- got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
- ;
- break;}
-case 681:
-#line 3088 "parse.y"
-{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
- break;}
-case 684:
-#line 3092 "parse.y"
-{
- if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
- yyval.ttype = lastiddecl;
- got_scope = yyval.ttype;
- ;
- break;}
-case 685:
-#line 3101 "parse.y"
-{ yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 686:
-#line 3106 "parse.y"
-{
- if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
- yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
- else
- yyval.ttype = yyvsp[0].ttype;
- got_scope = NULL_TREE;
- ;
- break;}
-case 688:
-#line 3115 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 689:
-#line 3120 "parse.y"
-{ got_scope = NULL_TREE; ;
- break;}
-case 690:
-#line 3122 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
- break;}
-case 691:
-#line 3129 "parse.y"
-{ got_scope = void_type_node; ;
- break;}
-case 692:
-#line 3135 "parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 693:
-#line 3137 "parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 694:
-#line 3139 "parse.y"
-{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 695:
-#line 3141 "parse.y"
-{ yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 696:
-#line 3143 "parse.y"
-{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
- yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
- ;
- break;}
-case 697:
-#line 3147 "parse.y"
-{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
- yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
- ;
- break;}
-case 699:
-#line 3156 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 700:
-#line 3158 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
- break;}
-case 702:
-#line 3164 "parse.y"
-{
- /* Provide support for '(' attributes '*' declarator ')'
- etc */
- yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
- ;
- break;}
-case 703:
-#line 3174 "parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
- break;}
-case 704:
-#line 3176 "parse.y"
-{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 705:
-#line 3178 "parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
- break;}
-case 706:
-#line 3180 "parse.y"
-{ yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
- break;}
-case 707:
-#line 3182 "parse.y"
-{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
- break;}
-case 708:
-#line 3184 "parse.y"
-{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 709:
-#line 3186 "parse.y"
-{ yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
- break;}
-case 710:
-#line 3188 "parse.y"
-{ yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
- break;}
-case 711:
-#line 3190 "parse.y"
-{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
- yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
- ;
- break;}
-case 712:
-#line 3194 "parse.y"
-{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
- yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
- ;
- break;}
-case 714:
-#line 3203 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 715:
-#line 3206 "parse.y"
-{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 716:
-#line 3208 "parse.y"
-{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 717:
-#line 3210 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
- break;}
-case 718:
-#line 3212 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
- break;}
-case 719:
-#line 3214 "parse.y"
-{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 720:
-#line 3216 "parse.y"
-{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 721:
-#line 3218 "parse.y"
-{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 722:
-#line 3220 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 723:
-#line 3222 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
- break;}
-case 730:
-#line 3245 "parse.y"
-{ if (pedantic)
- pedwarn ("ISO C++ forbids label declarations"); ;
- break;}
-case 733:
-#line 3256 "parse.y"
-{
- while (yyvsp[-1].ttype)
- {
- finish_label_decl (TREE_VALUE (yyvsp[-1].ttype));
- yyvsp[-1].ttype = TREE_CHAIN (yyvsp[-1].ttype);
- }
- ;
- break;}
-case 734:
-#line 3269 "parse.y"
-{;
- break;}
-case 736:
-#line 3275 "parse.y"
-{ yyval.ttype = begin_compound_stmt (0); ;
- break;}
-case 737:
-#line 3277 "parse.y"
-{ yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
- break;}
-case 738:
-#line 3282 "parse.y"
-{
- yyval.ttype = begin_if_stmt ();
- cond_stmt_keyword = "if";
- ;
- break;}
-case 739:
-#line 3287 "parse.y"
-{ finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 740:
-#line 3289 "parse.y"
-{ yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
- break;}
-case 742:
-#line 3294 "parse.y"
-{ yyval.ttype = begin_compound_stmt (0); ;
- break;}
-case 743:
-#line 3296 "parse.y"
-{ yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
- break;}
-case 744:
-#line 3301 "parse.y"
-{;
- break;}
-case 746:
-#line 3307 "parse.y"
-{ finish_stmt (); ;
- break;}
-case 747:
-#line 3309 "parse.y"
-{ finish_expr_stmt (yyvsp[-1].ttype); ;
- break;}
-case 748:
-#line 3311 "parse.y"
-{ begin_else_clause (); ;
- break;}
-case 749:
-#line 3313 "parse.y"
-{
- finish_else_clause (yyvsp[-3].ttype);
- finish_if_stmt ();
- ;
- break;}
-case 750:
-#line 3318 "parse.y"
-{ finish_if_stmt (); ;
- break;}
-case 751:
-#line 3320 "parse.y"
-{
- yyval.ttype = begin_while_stmt ();
- cond_stmt_keyword = "while";
- ;
- break;}
-case 752:
-#line 3325 "parse.y"
-{ finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 753:
-#line 3327 "parse.y"
-{ finish_while_stmt (yyvsp[-3].ttype); ;
- break;}
-case 754:
-#line 3329 "parse.y"
-{ yyval.ttype = begin_do_stmt (); ;
- break;}
-case 755:
-#line 3331 "parse.y"
-{
- finish_do_body (yyvsp[-2].ttype);
- cond_stmt_keyword = "do";
- ;
- break;}
-case 756:
-#line 3336 "parse.y"
-{ finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
- break;}
-case 757:
-#line 3338 "parse.y"
-{ yyval.ttype = begin_for_stmt (); ;
- break;}
-case 758:
-#line 3340 "parse.y"
-{ finish_for_init_stmt (yyvsp[-2].ttype); ;
- break;}
-case 759:
-#line 3342 "parse.y"
-{ finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
- break;}
-case 760:
-#line 3344 "parse.y"
-{ finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
- break;}
-case 761:
-#line 3346 "parse.y"
-{ finish_for_stmt (yyvsp[-10].ttype); ;
- break;}
-case 762:
-#line 3348 "parse.y"
-{ yyval.ttype = begin_switch_stmt (); ;
- break;}
-case 763:
-#line 3350 "parse.y"
-{ finish_switch_cond (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
- break;}
-case 764:
-#line 3352 "parse.y"
-{ finish_switch_stmt (yyvsp[-5].ttype); ;
- break;}
-case 765:
-#line 3354 "parse.y"
-{ finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
- break;}
-case 767:
-#line 3357 "parse.y"
-{ finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 769:
-#line 3360 "parse.y"
-{ finish_case_label (NULL_TREE, NULL_TREE); ;
- break;}
-case 771:
-#line 3363 "parse.y"
-{ finish_break_stmt (); ;
- break;}
-case 772:
-#line 3365 "parse.y"
-{ finish_continue_stmt (); ;
- break;}
-case 773:
-#line 3367 "parse.y"
-{ finish_return_stmt (NULL_TREE); ;
- break;}
-case 774:
-#line 3369 "parse.y"
-{ finish_return_stmt (yyvsp[-1].ttype); ;
- break;}
-case 775:
-#line 3371 "parse.y"
-{
- finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
- NULL_TREE);
- ;
- break;}
-case 776:
-#line 3377 "parse.y"
-{
- finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
- NULL_TREE);
- ;
- break;}
-case 777:
-#line 3383 "parse.y"
-{ finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 778:
-#line 3385 "parse.y"
-{ finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 779:
-#line 3389 "parse.y"
-{ finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
- break;}
-case 780:
-#line 3392 "parse.y"
-{ finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, NULL_TREE, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
- break;}
-case 781:
-#line 3395 "parse.y"
-{ finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype); ;
- break;}
-case 782:
-#line 3397 "parse.y"
-{
- if (pedantic)
- pedwarn ("ISO C++ forbids computed gotos");
- finish_goto_stmt (yyvsp[-1].ttype);
- ;
- break;}
-case 783:
-#line 3403 "parse.y"
-{ finish_goto_stmt (yyvsp[-1].ttype); ;
- break;}
-case 785:
-#line 3406 "parse.y"
-{ error ("label must be followed by statement");
- yyungetc ('}', 0); ;
- break;}
-case 786:
-#line 3409 "parse.y"
-{ finish_stmt (); ;
- break;}
-case 789:
-#line 3413 "parse.y"
-{ do_local_using_decl (yyvsp[0].ttype); ;
- break;}
-case 791:
-#line 3419 "parse.y"
-{ yyval.ttype = begin_function_try_block (); ;
- break;}
-case 792:
-#line 3421 "parse.y"
-{ finish_function_try_block (yyvsp[-2].ttype); ;
- break;}
-case 793:
-#line 3423 "parse.y"
-{
- finish_function_handler_sequence (yyvsp[-4].ttype);
- yyval.itype = yyvsp[-3].itype;
- ;
- break;}
-case 794:
-#line 3431 "parse.y"
-{ yyval.ttype = begin_try_block (); ;
- break;}
-case 795:
-#line 3433 "parse.y"
-{ finish_try_block (yyvsp[-1].ttype); ;
- break;}
-case 796:
-#line 3435 "parse.y"
-{ finish_handler_sequence (yyvsp[-3].ttype); ;
- break;}
-case 799:
-#line 3445 "parse.y"
-{ yyval.ttype = begin_handler(); ;
- break;}
-case 800:
-#line 3447 "parse.y"
-{ yyval.ttype = finish_handler_parms (yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 801:
-#line 3449 "parse.y"
-{ finish_handler (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
- break;}
-case 804:
-#line 3459 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 805:
-#line 3475 "parse.y"
-{
- check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
- yyval.ttype = start_handler_parms (TREE_PURPOSE (yyvsp[-1].ftype.t),
- TREE_VALUE (yyvsp[-1].ftype.t));
- ;
- break;}
-case 806:
-#line 3484 "parse.y"
-{ finish_label_stmt (yyvsp[-1].ttype); ;
- break;}
-case 807:
-#line 3486 "parse.y"
-{ finish_label_stmt (yyvsp[-1].ttype); ;
- break;}
-case 808:
-#line 3488 "parse.y"
-{ finish_label_stmt (yyvsp[-1].ttype); ;
- break;}
-case 809:
-#line 3490 "parse.y"
-{ finish_label_stmt (yyvsp[-1].ttype); ;
- break;}
-case 810:
-#line 3495 "parse.y"
-{ finish_expr_stmt (yyvsp[-1].ttype); ;
- break;}
-case 812:
-#line 3498 "parse.y"
-{ if (pedantic)
- pedwarn ("ISO C++ forbids compound statements inside for initializations");
- ;
- break;}
-case 813:
-#line 3507 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 815:
-#line 3513 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 817:
-#line 3516 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 818:
-#line 3523 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 821:
-#line 3530 "parse.y"
-{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
- break;}
-case 822:
-#line 3535 "parse.y"
-{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
- break;}
-case 823:
-#line 3540 "parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE);;
- break;}
-case 824:
-#line 3542 "parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
- break;}
-case 825:
-#line 3553 "parse.y"
-{
- yyval.ttype = empty_parms();
- ;
- break;}
-case 827:
-#line 3558 "parse.y"
-{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
- check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
- break;}
-case 828:
-#line 3566 "parse.y"
-{ yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
- break;}
-case 829:
-#line 3568 "parse.y"
-{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
- break;}
-case 830:
-#line 3571 "parse.y"
-{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
- break;}
-case 831:
-#line 3573 "parse.y"
-{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
- yyvsp[-1].ftype.t), 1); ;
- break;}
-case 832:
-#line 3576 "parse.y"
-{ yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
- break;}
-case 833:
-#line 3578 "parse.y"
-{
- /* This helps us recover from really nasty
- parse errors, for example, a missing right
- parenthesis. */
- yyerror ("possibly missing ')'");
- yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
- yyungetc (':', 0);
- yychar = ')';
- ;
- break;}
-case 834:
-#line 3588 "parse.y"
-{
- /* This helps us recover from really nasty
- parse errors, for example, a missing right
- parenthesis. */
- yyerror ("possibly missing ')'");
- yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
- yyvsp[-1].ftype.t), 0);
- yyungetc (':', 0);
- yychar = ')';
- ;
- break;}
-case 835:
-#line 3603 "parse.y"
-{ maybe_snarf_defarg (); ;
- break;}
-case 836:
-#line 3605 "parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 839:
-#line 3616 "parse.y"
-{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
- yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
- break;}
-case 840:
-#line 3619 "parse.y"
-{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
- yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
- break;}
-case 841:
-#line 3622 "parse.y"
-{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
- yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
- break;}
-case 842:
-#line 3625 "parse.y"
-{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 843:
-#line 3627 "parse.y"
-{ yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
- break;}
-case 845:
-#line 3633 "parse.y"
-{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
- yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
- break;}
-case 846:
-#line 3643 "parse.y"
-{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
- yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
- break;}
-case 847:
-#line 3647 "parse.y"
-{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 848:
-#line 3650 "parse.y"
-{ yyval.ftype.t = build_tree_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
- yyvsp[0].ttype);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 849:
-#line 3654 "parse.y"
-{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
- yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 850:
-#line 3658 "parse.y"
-{ tree specs = strip_attrs (yyvsp[0].ftype.t);
- yyval.ftype.t = build_tree_list (specs, NULL_TREE);
- yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
- break;}
-case 851:
-#line 3662 "parse.y"
-{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
- yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
- yyval.ftype.new_type_flag = 0; ;
- break;}
-case 852:
-#line 3669 "parse.y"
-{ yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
- yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
- break;}
-case 853:
-#line 3672 "parse.y"
-{ yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
- yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
- break;}
-case 856:
-#line 3683 "parse.y"
-{ see_typename (); ;
- break;}
-case 857:
-#line 3688 "parse.y"
-{
- error ("type specifier omitted for parameter");
- yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
- ;
- break;}
-case 858:
-#line 3693 "parse.y"
-{
- error ("type specifier omitted for parameter");
- if (TREE_CODE (yyval.ttype) == SCOPE_REF
- && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
- || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
- cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
- yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
- ;
- break;}
-case 859:
-#line 3705 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 860:
-#line 3707 "parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 861:
-#line 3709 "parse.y"
-{ yyval.ttype = empty_except_spec; ;
- break;}
-case 862:
-#line 3714 "parse.y"
-{
- check_for_new_type ("exception specifier", yyvsp[0].ftype);
- yyval.ttype = groktypename (yyvsp[0].ftype.t);
- ;
- break;}
-case 863:
-#line 3722 "parse.y"
-{ yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ;
- break;}
-case 864:
-#line 3724 "parse.y"
-{ yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ;
- break;}
-case 865:
-#line 3729 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 866:
-#line 3731 "parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 867:
-#line 3733 "parse.y"
-{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 868:
-#line 3735 "parse.y"
-{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
- yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
- ;
- break;}
-case 869:
-#line 3742 "parse.y"
-{ got_scope = NULL_TREE; ;
- break;}
-case 870:
-#line 3747 "parse.y"
-{ yyval.ttype = ansi_opname (MULT_EXPR); ;
- break;}
-case 871:
-#line 3749 "parse.y"
-{ yyval.ttype = ansi_opname (TRUNC_DIV_EXPR); ;
- break;}
-case 872:
-#line 3751 "parse.y"
-{ yyval.ttype = ansi_opname (TRUNC_MOD_EXPR); ;
- break;}
-case 873:
-#line 3753 "parse.y"
-{ yyval.ttype = ansi_opname (PLUS_EXPR); ;
- break;}
-case 874:
-#line 3755 "parse.y"
-{ yyval.ttype = ansi_opname (MINUS_EXPR); ;
- break;}
-case 875:
-#line 3757 "parse.y"
-{ yyval.ttype = ansi_opname (BIT_AND_EXPR); ;
- break;}
-case 876:
-#line 3759 "parse.y"
-{ yyval.ttype = ansi_opname (BIT_IOR_EXPR); ;
- break;}
-case 877:
-#line 3761 "parse.y"
-{ yyval.ttype = ansi_opname (BIT_XOR_EXPR); ;
- break;}
-case 878:
-#line 3763 "parse.y"
-{ yyval.ttype = ansi_opname (BIT_NOT_EXPR); ;
- break;}
-case 879:
-#line 3765 "parse.y"
-{ yyval.ttype = ansi_opname (COMPOUND_EXPR); ;
- break;}
-case 880:
-#line 3767 "parse.y"
-{ yyval.ttype = ansi_opname (yyvsp[0].code); ;
- break;}
-case 881:
-#line 3769 "parse.y"
-{ yyval.ttype = ansi_opname (LT_EXPR); ;
- break;}
-case 882:
-#line 3771 "parse.y"
-{ yyval.ttype = ansi_opname (GT_EXPR); ;
- break;}
-case 883:
-#line 3773 "parse.y"
-{ yyval.ttype = ansi_opname (yyvsp[0].code); ;
- break;}
-case 884:
-#line 3775 "parse.y"
-{ yyval.ttype = ansi_assopname (yyvsp[0].code); ;
- break;}
-case 885:
-#line 3777 "parse.y"
-{ yyval.ttype = ansi_assopname (NOP_EXPR); ;
- break;}
-case 886:
-#line 3779 "parse.y"
-{ yyval.ttype = ansi_opname (yyvsp[0].code); ;
- break;}
-case 887:
-#line 3781 "parse.y"
-{ yyval.ttype = ansi_opname (yyvsp[0].code); ;
- break;}
-case 888:
-#line 3783 "parse.y"
-{ yyval.ttype = ansi_opname (POSTINCREMENT_EXPR); ;
- break;}
-case 889:
-#line 3785 "parse.y"
-{ yyval.ttype = ansi_opname (PREDECREMENT_EXPR); ;
- break;}
-case 890:
-#line 3787 "parse.y"
-{ yyval.ttype = ansi_opname (TRUTH_ANDIF_EXPR); ;
- break;}
-case 891:
-#line 3789 "parse.y"
-{ yyval.ttype = ansi_opname (TRUTH_ORIF_EXPR); ;
- break;}
-case 892:
-#line 3791 "parse.y"
-{ yyval.ttype = ansi_opname (TRUTH_NOT_EXPR); ;
- break;}
-case 893:
-#line 3793 "parse.y"
-{ yyval.ttype = ansi_opname (COND_EXPR); ;
- break;}
-case 894:
-#line 3795 "parse.y"
-{ yyval.ttype = ansi_opname (yyvsp[0].code); ;
- break;}
-case 895:
-#line 3797 "parse.y"
-{ yyval.ttype = ansi_opname (COMPONENT_REF); ;
- break;}
-case 896:
-#line 3799 "parse.y"
-{ yyval.ttype = ansi_opname (MEMBER_REF); ;
- break;}
-case 897:
-#line 3801 "parse.y"
-{ yyval.ttype = ansi_opname (CALL_EXPR); ;
- break;}
-case 898:
-#line 3803 "parse.y"
-{ yyval.ttype = ansi_opname (ARRAY_REF); ;
- break;}
-case 899:
-#line 3805 "parse.y"
-{ yyval.ttype = ansi_opname (NEW_EXPR); ;
- break;}
-case 900:
-#line 3807 "parse.y"
-{ yyval.ttype = ansi_opname (DELETE_EXPR); ;
- break;}
-case 901:
-#line 3809 "parse.y"
-{ yyval.ttype = ansi_opname (VEC_NEW_EXPR); ;
- break;}
-case 902:
-#line 3811 "parse.y"
-{ yyval.ttype = ansi_opname (VEC_DELETE_EXPR); ;
- break;}
-case 903:
-#line 3814 "parse.y"
-{ yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
- break;}
-case 904:
-#line 3816 "parse.y"
-{ yyval.ttype = ansi_opname (ERROR_MARK); ;
- break;}
-}
- /* the action file gets copied in in place of this dollarsign */
-#line 543 "/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;
-
- yyacceptlab:
- /* YYACCEPT comes here. */
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 0;
-
- yyabortlab:
- /* YYABORT comes here. */
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 1;
-}
-#line 3819 "parse.y"
-
-
-#ifdef SPEW_DEBUG
-const char *
-debug_yytranslate (value)
- int value;
-{
- return yytname[YYTRANSLATE (value)];
-}
-
-#endif
diff --git a/gcc/cp/parse.h b/gcc/cp/parse.h
deleted file mode 100644
index 67d0f57..0000000
--- a/gcc/cp/parse.h
+++ /dev/null
@@ -1,97 +0,0 @@
-typedef union {
- long itype;
- tree ttype;
- char *strtype;
- enum tree_code code;
- flagged_type_tree ftype;
- struct pending_inline *pi;
-} YYSTYPE;
-#define IDENTIFIER 257
-#define TYPENAME 258
-#define SELFNAME 259
-#define PFUNCNAME 260
-#define SCSPEC 261
-#define TYPESPEC 262
-#define CV_QUALIFIER 263
-#define CONSTANT 264
-#define STRING 265
-#define ELLIPSIS 266
-#define SIZEOF 267
-#define ENUM 268
-#define IF 269
-#define ELSE 270
-#define WHILE 271
-#define DO 272
-#define FOR 273
-#define SWITCH 274
-#define CASE 275
-#define DEFAULT 276
-#define BREAK 277
-#define CONTINUE 278
-#define RETURN_KEYWORD 279
-#define GOTO 280
-#define ASM_KEYWORD 281
-#define TYPEOF 282
-#define ALIGNOF 283
-#define SIGOF 284
-#define ATTRIBUTE 285
-#define EXTENSION 286
-#define LABEL 287
-#define REALPART 288
-#define IMAGPART 289
-#define VA_ARG 290
-#define AGGR 291
-#define VISSPEC 292
-#define DELETE 293
-#define NEW 294
-#define THIS 295
-#define OPERATOR 296
-#define CXX_TRUE 297
-#define CXX_FALSE 298
-#define NAMESPACE 299
-#define TYPENAME_KEYWORD 300
-#define USING 301
-#define LEFT_RIGHT 302
-#define TEMPLATE 303
-#define TYPEID 304
-#define DYNAMIC_CAST 305
-#define STATIC_CAST 306
-#define REINTERPRET_CAST 307
-#define CONST_CAST 308
-#define SCOPE 309
-#define EMPTY 310
-#define PTYPENAME 311
-#define NSNAME 312
-#define THROW 313
-#define ASSIGN 314
-#define OROR 315
-#define ANDAND 316
-#define MIN_MAX 317
-#define EQCOMPARE 318
-#define ARITHCOMPARE 319
-#define LSHIFT 320
-#define RSHIFT 321
-#define POINTSAT_STAR 322
-#define DOT_STAR 323
-#define UNARY 324
-#define PLUSPLUS 325
-#define MINUSMINUS 326
-#define HYPERUNARY 327
-#define POINTSAT 328
-#define TRY 329
-#define CATCH 330
-#define EXTERN_LANG_STRING 331
-#define ALL 332
-#define PRE_PARSED_CLASS_DECL 333
-#define DEFARG 334
-#define DEFARG_MARKER 335
-#define PRE_PARSED_FUNCTION_DECL 336
-#define TYPENAME_DEFN 337
-#define IDENTIFIER_DEFN 338
-#define PTYPENAME_DEFN 339
-#define END_OF_LINE 340
-#define END_OF_SAVED_INPUT 341
-
-
-extern YYSTYPE yylval;
-#define YYEMPTY -2
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index a733757..621fbcc 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,7 @@
+2000-07-12 Mark Mitchell <mark@codesourcery.com>
+
+ * parse-scan.c: Remove.
+
2000-07-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-write.c (generate_classfile): Don't install ConstantValue
diff --git a/gcc/java/parse-scan.c b/gcc/java/parse-scan.c
deleted file mode 100644
index 649c181..0000000
--- a/gcc/java/parse-scan.c
+++ /dev/null
@@ -1,2571 +0,0 @@
-
-/* A Bison parser, made from ./parse-scan.y
- by GNU Bison version 1.28 */
-
-#define YYBISON 1 /* Identify Bison output. */
-
-#define PLUS_TK 257
-#define MINUS_TK 258
-#define MULT_TK 259
-#define DIV_TK 260
-#define REM_TK 261
-#define LS_TK 262
-#define SRS_TK 263
-#define ZRS_TK 264
-#define AND_TK 265
-#define XOR_TK 266
-#define OR_TK 267
-#define BOOL_AND_TK 268
-#define BOOL_OR_TK 269
-#define EQ_TK 270
-#define NEQ_TK 271
-#define GT_TK 272
-#define GTE_TK 273
-#define LT_TK 274
-#define LTE_TK 275
-#define PLUS_ASSIGN_TK 276
-#define MINUS_ASSIGN_TK 277
-#define MULT_ASSIGN_TK 278
-#define DIV_ASSIGN_TK 279
-#define REM_ASSIGN_TK 280
-#define LS_ASSIGN_TK 281
-#define SRS_ASSIGN_TK 282
-#define ZRS_ASSIGN_TK 283
-#define AND_ASSIGN_TK 284
-#define XOR_ASSIGN_TK 285
-#define OR_ASSIGN_TK 286
-#define PUBLIC_TK 287
-#define PRIVATE_TK 288
-#define PROTECTED_TK 289
-#define STATIC_TK 290
-#define FINAL_TK 291
-#define SYNCHRONIZED_TK 292
-#define VOLATILE_TK 293
-#define TRANSIENT_TK 294
-#define NATIVE_TK 295
-#define PAD_TK 296
-#define ABSTRACT_TK 297
-#define MODIFIER_TK 298
-#define DECR_TK 299
-#define INCR_TK 300
-#define DEFAULT_TK 301
-#define IF_TK 302
-#define THROW_TK 303
-#define BOOLEAN_TK 304
-#define DO_TK 305
-#define IMPLEMENTS_TK 306
-#define THROWS_TK 307
-#define BREAK_TK 308
-#define IMPORT_TK 309
-#define ELSE_TK 310
-#define INSTANCEOF_TK 311
-#define RETURN_TK 312
-#define VOID_TK 313
-#define CATCH_TK 314
-#define INTERFACE_TK 315
-#define CASE_TK 316
-#define EXTENDS_TK 317
-#define FINALLY_TK 318
-#define SUPER_TK 319
-#define WHILE_TK 320
-#define CLASS_TK 321
-#define SWITCH_TK 322
-#define CONST_TK 323
-#define TRY_TK 324
-#define FOR_TK 325
-#define NEW_TK 326
-#define CONTINUE_TK 327
-#define GOTO_TK 328
-#define PACKAGE_TK 329
-#define THIS_TK 330
-#define BYTE_TK 331
-#define SHORT_TK 332
-#define INT_TK 333
-#define LONG_TK 334
-#define CHAR_TK 335
-#define INTEGRAL_TK 336
-#define FLOAT_TK 337
-#define DOUBLE_TK 338
-#define FP_TK 339
-#define ID_TK 340
-#define REL_QM_TK 341
-#define REL_CL_TK 342
-#define NOT_TK 343
-#define NEG_TK 344
-#define ASSIGN_ANY_TK 345
-#define ASSIGN_TK 346
-#define OP_TK 347
-#define CP_TK 348
-#define OCB_TK 349
-#define CCB_TK 350
-#define OSB_TK 351
-#define CSB_TK 352
-#define SC_TK 353
-#define C_TK 354
-#define DOT_TK 355
-#define STRING_LIT_TK 356
-#define CHAR_LIT_TK 357
-#define INT_LIT_TK 358
-#define FP_LIT_TK 359
-#define TRUE_TK 360
-#define FALSE_TK 361
-#define BOOL_LIT_TK 362
-#define NULL_TK 363
-
-#line 37 "./parse-scan.y"
-
-#define JC1_LITE
-
-#include "config.h"
-#include "system.h"
-
-#include "obstack.h"
-#include "toplev.h"
-
-extern char *input_filename;
-extern FILE *finput, *out;
-
-/* Obstack for the lexer. */
-struct obstack temporary_obstack;
-
-/* The current parser context. */
-static struct parser_ctxt *ctxp;
-
-/* Error and warning counts, current line number, because they're used
- elsewhere */
-int java_error_count;
-int java_warning_count;
-int lineno;
-
-/* Tweak default rules when necessary. */
-static int absorber;
-#define USE_ABSORBER absorber = 0
-
-/* Keep track of the current class name and package name. */
-static const char *current_class;
-static const char *package_name;
-
-/* Keep track of the current inner class qualifier. */
-static char *inner_qualifier;
-static int inner_qualifier_length;
-
-/* Keep track of whether things have be listed before. */
-static int previous_output;
-
-/* Record modifier uses */
-static int modifier_value;
-
-/* Keep track of number of bracket pairs after a variable declarator
- id. */
-static int bracket_count;
-
-/* Record a method declaration */
-struct method_declarator {
- const char *method_name;
- const char *args;
-};
-#define NEW_METHOD_DECLARATOR(D,N,A) \
-{ \
- (D) = \
- (struct method_declarator *)xmalloc (sizeof (struct method_declarator)); \
- (D)->method_name = (N); \
- (D)->args = (A); \
-}
-
-/* Two actions for this grammar */
-static void report_class_declaration PARAMS ((const char *));
-static void report_main_declaration PARAMS ((struct method_declarator *));
-static void push_class_context PARAMS ((const char *));
-static void pop_class_context PARAMS ((void));
-
-#include "lex.h"
-#include "parse.h"
-
-#line 106 "./parse-scan.y"
-typedef union {
- char *node;
- struct method_declarator *declarator;
- int value; /* For modifiers */
-} YYSTYPE;
-#line 112 "./parse-scan.y"
-
-#include "lex.c"
-#ifndef YYDEBUG
-#define YYDEBUG 1
-#endif
-
-#include <stdio.h>
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
-#endif
-
-
-
-#define YYFINAL 605
-#define YYFLAG -32768
-#define YYNTBASE 110
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 363 ? yytranslate[x] : 257)
-
-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, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109
-};
-
-#if YYDEBUG != 0
-static const short yyprhs[] = { 0,
- 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
- 20, 22, 24, 26, 28, 30, 32, 34, 38, 42,
- 46, 48, 50, 52, 56, 58, 59, 61, 63, 65,
- 68, 71, 74, 78, 80, 83, 85, 88, 92, 94,
- 96, 100, 106, 108, 110, 112, 114, 117, 118, 126,
- 127, 134, 135, 138, 139, 142, 144, 148, 151, 155,
- 157, 160, 162, 164, 166, 168, 170, 172, 174, 176,
- 180, 185, 187, 191, 193, 197, 199, 203, 205, 207,
- 210, 214, 218, 223, 228, 232, 237, 241, 243, 247,
- 250, 254, 255, 258, 260, 264, 266, 269, 271, 274,
- 278, 280, 284, 289, 294, 300, 304, 309, 312, 316,
- 320, 325, 330, 336, 344, 351, 353, 355, 356, 361,
- 362, 368, 369, 375, 376, 383, 386, 390, 393, 397,
- 399, 402, 404, 406, 408, 410, 412, 415, 418, 422,
- 426, 431, 433, 437, 440, 444, 446, 449, 451, 453,
- 455, 458, 461, 465, 467, 469, 471, 473, 475, 477,
- 479, 481, 483, 485, 487, 489, 491, 493, 495, 497,
- 499, 501, 503, 505, 507, 509, 511, 514, 517, 520,
- 523, 525, 527, 529, 531, 533, 535, 537, 543, 551,
- 559, 565, 568, 572, 576, 581, 583, 586, 589, 591,
- 594, 598, 601, 606, 609, 612, 614, 622, 630, 637,
- 645, 652, 655, 658, 659, 661, 663, 664, 666, 668,
- 672, 675, 679, 682, 686, 689, 693, 697, 703, 709,
- 711, 715, 719, 724, 726, 729, 735, 738, 740, 742,
- 744, 746, 750, 752, 754, 756, 758, 762, 766, 770,
- 774, 780, 785, 792, 798, 803, 809, 815, 822, 826,
- 830, 832, 836, 840, 844, 848, 853, 858, 863, 868,
- 870, 873, 877, 880, 884, 888, 892, 896, 901, 907,
- 914, 920, 927, 932, 937, 939, 941, 943, 945, 948,
- 951, 953, 955, 958, 961, 963, 966, 969, 971, 974,
- 977, 979, 985, 990, 995, 1001, 1003, 1007, 1011, 1015,
- 1017, 1021, 1025, 1027, 1031, 1035, 1039, 1041, 1045, 1049,
- 1053, 1057, 1061, 1063, 1067, 1071, 1073, 1077, 1079, 1083,
- 1085, 1089, 1091, 1095, 1097, 1101, 1103, 1109, 1111, 1113,
- 1117, 1119, 1121, 1123, 1125, 1127, 1129
-};
-
-static const short yyrhs[] = { 123,
- 0, 104, 0, 105, 0, 108, 0, 103, 0, 102,
- 0, 109, 0, 113, 0, 114, 0, 82, 0, 85,
- 0, 50, 0, 115, 0, 118, 0, 119, 0, 115,
- 0, 115, 0, 113, 97, 98, 0, 119, 97, 98,
- 0, 118, 97, 98, 0, 120, 0, 121, 0, 122,
- 0, 119, 101, 122, 0, 86, 0, 0, 126, 0,
- 124, 0, 125, 0, 126, 124, 0, 126, 125, 0,
- 124, 125, 0, 126, 124, 125, 0, 127, 0, 124,
- 127, 0, 130, 0, 125, 130, 0, 75, 119, 99,
- 0, 128, 0, 129, 0, 55, 119, 99, 0, 55,
- 119, 101, 5, 99, 0, 132, 0, 162, 0, 99,
- 0, 44, 0, 131, 44, 0, 0, 131, 67, 122,
- 135, 136, 133, 138, 0, 0, 67, 122, 135, 136,
- 134, 138, 0, 0, 63, 116, 0, 0, 52, 137,
- 0, 117, 0, 137, 100, 117, 0, 95, 96, 0,
- 95, 139, 96, 0, 140, 0, 139, 140, 0, 141,
- 0, 155, 0, 157, 0, 175, 0, 142, 0, 147,
- 0, 132, 0, 162, 0, 112, 143, 99, 0, 131,
- 112, 143, 99, 0, 144, 0, 143, 100, 144, 0,
- 145, 0, 145, 92, 146, 0, 122, 0, 145, 97,
- 98, 0, 255, 0, 173, 0, 148, 154, 0, 112,
- 149, 152, 0, 59, 149, 152, 0, 131, 112, 149,
- 152, 0, 131, 59, 149, 152, 0, 122, 93, 94,
- 0, 122, 93, 150, 94, 0, 149, 97, 98, 0,
- 151, 0, 150, 100, 151, 0, 112, 145, 0, 131,
- 112, 145, 0, 0, 53, 153, 0, 116, 0, 153,
- 100, 116, 0, 175, 0, 175, 99, 0, 99, 0,
- 156, 175, 0, 156, 175, 99, 0, 44, 0, 158,
- 152, 159, 0, 131, 158, 152, 159, 0, 158, 152,
- 159, 99, 0, 131, 158, 152, 159, 99, 0, 120,
- 93, 94, 0, 120, 93, 150, 94, 0, 95, 96,
- 0, 95, 160, 96, 0, 95, 176, 96, 0, 95,
- 160, 176, 96, 0, 161, 93, 94, 99, 0, 161,
- 93, 224, 94, 99, 0, 119, 101, 65, 93, 224,
- 94, 99, 0, 119, 101, 65, 93, 94, 99, 0,
- 76, 0, 65, 0, 0, 61, 122, 163, 168, 0,
- 0, 131, 61, 122, 164, 168, 0, 0, 61, 122,
- 167, 165, 168, 0, 0, 131, 61, 122, 167, 166,
- 168, 0, 63, 117, 0, 167, 100, 117, 0, 95,
- 96, 0, 95, 169, 96, 0, 170, 0, 169, 170,
- 0, 171, 0, 172, 0, 132, 0, 162, 0, 142,
- 0, 148, 99, 0, 95, 96, 0, 95, 174, 96,
- 0, 95, 100, 96, 0, 95, 174, 100, 96, 0,
- 146, 0, 174, 100, 146, 0, 95, 96, 0, 95,
- 176, 96, 0, 177, 0, 176, 177, 0, 178, 0,
- 180, 0, 132, 0, 179, 99, 0, 112, 143, 0,
- 131, 112, 143, 0, 182, 0, 185, 0, 189, 0,
- 190, 0, 199, 0, 203, 0, 182, 0, 186, 0,
- 191, 0, 200, 0, 204, 0, 175, 0, 183, 0,
- 187, 0, 192, 0, 202, 0, 210, 0, 211, 0,
- 212, 0, 214, 0, 213, 0, 216, 0, 99, 0,
- 122, 88, 0, 184, 180, 0, 184, 181, 0, 188,
- 99, 0, 252, 0, 236, 0, 237, 0, 233, 0,
- 234, 0, 230, 0, 222, 0, 48, 93, 255, 94,
- 180, 0, 48, 93, 255, 94, 181, 56, 180, 0,
- 48, 93, 255, 94, 181, 56, 181, 0, 68, 93,
- 255, 94, 193, 0, 95, 96, 0, 95, 196, 96,
- 0, 95, 194, 96, 0, 95, 194, 196, 96, 0,
- 195, 0, 194, 195, 0, 196, 176, 0, 197, 0,
- 196, 197, 0, 62, 256, 88, 0, 47, 88, 0,
- 66, 93, 255, 94, 0, 198, 180, 0, 198, 181,
- 0, 51, 0, 201, 180, 66, 93, 255, 94, 99,
- 0, 206, 99, 255, 99, 208, 94, 180, 0, 206,
- 99, 99, 208, 94, 180, 0, 206, 99, 255, 99,
- 208, 94, 181, 0, 206, 99, 99, 208, 94, 181,
- 0, 71, 93, 0, 205, 207, 0, 0, 209, 0,
- 179, 0, 0, 209, 0, 188, 0, 209, 100, 188,
- 0, 54, 99, 0, 54, 122, 99, 0, 73, 99,
- 0, 73, 122, 99, 0, 58, 99, 0, 58, 255,
- 99, 0, 49, 255, 99, 0, 215, 93, 255, 94,
- 175, 0, 215, 93, 255, 94, 1, 0, 44, 0,
- 70, 175, 217, 0, 70, 175, 219, 0, 70, 175,
- 217, 219, 0, 218, 0, 217, 218, 0, 60, 93,
- 151, 94, 175, 0, 64, 175, 0, 221, 0, 225,
- 0, 111, 0, 76, 0, 93, 255, 94, 0, 222,
- 0, 229, 0, 230, 0, 231, 0, 119, 101, 67,
- 0, 113, 101, 67, 0, 59, 101, 67, 0, 119,
- 101, 76, 0, 72, 116, 93, 224, 94, 0, 72,
- 116, 93, 94, 0, 72, 116, 93, 224, 94, 138,
- 0, 72, 116, 93, 94, 138, 0, 223, 122, 93,
- 94, 0, 223, 122, 93, 94, 138, 0, 223, 122,
- 93, 224, 94, 0, 223, 122, 93, 224, 94, 138,
- 0, 119, 101, 72, 0, 220, 101, 72, 0, 255,
- 0, 224, 100, 255, 0, 224, 100, 1, 0, 72,
- 113, 226, 0, 72, 115, 226, 0, 72, 113, 226,
- 228, 0, 72, 115, 226, 228, 0, 72, 115, 228,
- 173, 0, 72, 113, 228, 173, 0, 227, 0, 226,
- 227, 0, 97, 255, 98, 0, 97, 98, 0, 228,
- 97, 98, 0, 220, 101, 122, 0, 65, 101, 122,
- 0, 119, 93, 94, 0, 119, 93, 224, 94, 0,
- 220, 101, 122, 93, 94, 0, 220, 101, 122, 93,
- 224, 94, 0, 65, 101, 122, 93, 94, 0, 65,
- 101, 122, 93, 224, 94, 0, 119, 97, 255, 98,
- 0, 221, 97, 255, 98, 0, 220, 0, 119, 0,
- 233, 0, 234, 0, 232, 46, 0, 232, 45, 0,
- 236, 0, 237, 0, 3, 235, 0, 4, 235, 0,
- 238, 0, 46, 235, 0, 45, 235, 0, 232, 0,
- 89, 235, 0, 90, 235, 0, 239, 0, 93, 113,
- 228, 94, 235, 0, 93, 113, 94, 235, 0, 93,
- 255, 94, 238, 0, 93, 119, 228, 94, 238, 0,
- 235, 0, 240, 5, 235, 0, 240, 6, 235, 0,
- 240, 7, 235, 0, 240, 0, 241, 3, 240, 0,
- 241, 4, 240, 0, 241, 0, 242, 8, 241, 0,
- 242, 9, 241, 0, 242, 10, 241, 0, 242, 0,
- 243, 20, 242, 0, 243, 18, 242, 0, 243, 21,
- 242, 0, 243, 19, 242, 0, 243, 57, 114, 0,
- 243, 0, 244, 16, 243, 0, 244, 17, 243, 0,
- 244, 0, 245, 11, 244, 0, 245, 0, 246, 12,
- 245, 0, 246, 0, 247, 13, 246, 0, 247, 0,
- 248, 14, 247, 0, 248, 0, 249, 15, 248, 0,
- 249, 0, 249, 87, 255, 88, 250, 0, 250, 0,
- 252, 0, 253, 254, 251, 0, 119, 0, 229, 0,
- 231, 0, 91, 0, 92, 0, 251, 0, 255, 0
-};
-
-#endif
-
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
- 181, 186, 188, 189, 190, 191, 192, 196, 198, 201,
- 207, 212, 219, 221, 224, 228, 232, 236, 238, 242,
- 249, 251, 254, 258, 265, 270, 271, 272, 273, 274,
- 275, 276, 277, 280, 282, 285, 287, 290, 295, 297,
- 300, 304, 308, 310, 311, 317, 326, 337, 344, 344,
- 347, 349, 350, 353, 354, 357, 360, 364, 367, 371,
- 373, 376, 378, 379, 380, 383, 385, 386, 387, 391,
- 394, 398, 401, 404, 406, 409, 412, 416, 418, 422,
- 426, 429, 430, 432, 439, 446, 452, 455, 457, 463,
- 479, 495, 496, 499, 502, 506, 508, 509, 513, 515,
- 518, 528, 530, 533, 535, 541, 544, 548, 550, 551,
- 552, 556, 558, 561, 563, 567, 569, 574, 578, 578,
- 581, 581, 584, 584, 587, 589, 591, 594, 597, 601,
- 603, 606, 608, 609, 610, 613, 617, 622, 624, 625,
- 626, 629, 631, 635, 637, 640, 642, 645, 647, 648,
- 651, 655, 658, 662, 664, 665, 666, 667, 668, 671,
- 673, 674, 675, 676, 679, 681, 682, 683, 684, 685,
- 686, 687, 688, 689, 690, 693, 697, 702, 706, 712,
- 716, 718, 719, 720, 721, 722, 723, 726, 730, 734,
- 738, 742, 744, 745, 746, 749, 751, 754, 759, 761,
- 764, 766, 769, 773, 777, 781, 785, 789, 791, 794,
- 796, 799, 803, 806, 807, 808, 811, 812, 815, 817,
- 820, 822, 825, 827, 830, 832, 835, 839, 841, 844,
- 849, 851, 852, 855, 857, 860, 864, 869, 871, 874,
- 876, 877, 878, 879, 880, 881, 885, 887, 889, 893,
- 897, 899, 903, 904, 908, 909, 910, 911, 914, 917,
- 920, 922, 923, 926, 928, 929, 930, 933, 934, 937,
- 939, 942, 946, 948, 951, 953, 956, 959, 961, 962,
- 963, 964, 967, 970, 973, 975, 977, 978, 981, 985,
- 989, 991, 992, 993, 994, 997, 1001, 1005, 1007, 1008,
- 1009, 1012, 1014, 1015, 1016, 1019, 1021, 1022, 1023, 1026,
- 1028, 1029, 1032, 1034, 1035, 1036, 1039, 1041, 1042, 1043,
- 1044, 1045, 1048, 1050, 1051, 1054, 1056, 1059, 1061, 1064,
- 1066, 1069, 1071, 1074, 1076, 1079, 1081, 1084, 1086, 1089,
- 1093, 1096, 1097, 1100, 1102, 1105, 1109
-};
-#endif
-
-
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = { "$","error","$undefined.","PLUS_TK",
-"MINUS_TK","MULT_TK","DIV_TK","REM_TK","LS_TK","SRS_TK","ZRS_TK","AND_TK","XOR_TK",
-"OR_TK","BOOL_AND_TK","BOOL_OR_TK","EQ_TK","NEQ_TK","GT_TK","GTE_TK","LT_TK",
-"LTE_TK","PLUS_ASSIGN_TK","MINUS_ASSIGN_TK","MULT_ASSIGN_TK","DIV_ASSIGN_TK",
-"REM_ASSIGN_TK","LS_ASSIGN_TK","SRS_ASSIGN_TK","ZRS_ASSIGN_TK","AND_ASSIGN_TK",
-"XOR_ASSIGN_TK","OR_ASSIGN_TK","PUBLIC_TK","PRIVATE_TK","PROTECTED_TK","STATIC_TK",
-"FINAL_TK","SYNCHRONIZED_TK","VOLATILE_TK","TRANSIENT_TK","NATIVE_TK","PAD_TK",
-"ABSTRACT_TK","MODIFIER_TK","DECR_TK","INCR_TK","DEFAULT_TK","IF_TK","THROW_TK",
-"BOOLEAN_TK","DO_TK","IMPLEMENTS_TK","THROWS_TK","BREAK_TK","IMPORT_TK","ELSE_TK",
-"INSTANCEOF_TK","RETURN_TK","VOID_TK","CATCH_TK","INTERFACE_TK","CASE_TK","EXTENDS_TK",
-"FINALLY_TK","SUPER_TK","WHILE_TK","CLASS_TK","SWITCH_TK","CONST_TK","TRY_TK",
-"FOR_TK","NEW_TK","CONTINUE_TK","GOTO_TK","PACKAGE_TK","THIS_TK","BYTE_TK","SHORT_TK",
-"INT_TK","LONG_TK","CHAR_TK","INTEGRAL_TK","FLOAT_TK","DOUBLE_TK","FP_TK","ID_TK",
-"REL_QM_TK","REL_CL_TK","NOT_TK","NEG_TK","ASSIGN_ANY_TK","ASSIGN_TK","OP_TK",
-"CP_TK","OCB_TK","CCB_TK","OSB_TK","CSB_TK","SC_TK","C_TK","DOT_TK","STRING_LIT_TK",
-"CHAR_LIT_TK","INT_LIT_TK","FP_LIT_TK","TRUE_TK","FALSE_TK","BOOL_LIT_TK","NULL_TK",
-"goal","literal","type","primitive_type","reference_type","class_or_interface_type",
-"class_type","interface_type","array_type","name","simple_name","qualified_name",
-"identifier","compilation_unit","import_declarations","type_declarations","package_declaration",
-"import_declaration","single_type_import_declaration","type_import_on_demand_declaration",
-"type_declaration","modifiers","class_declaration","@1","@2","super","interfaces",
-"interface_type_list","class_body","class_body_declarations","class_body_declaration",
-"class_member_declaration","field_declaration","variable_declarators","variable_declarator",
-"variable_declarator_id","variable_initializer","method_declaration","method_header",
-"method_declarator","formal_parameter_list","formal_parameter","throws","class_type_list",
-"method_body","static_initializer","static","constructor_declaration","constructor_declarator",
-"constructor_body","explicit_constructor_invocation","this_or_super","interface_declaration",
-"@3","@4","@5","@6","extends_interfaces","interface_body","interface_member_declarations",
-"interface_member_declaration","constant_declaration","abstract_method_declaration",
-"array_initializer","variable_initializers","block","block_statements","block_statement",
-"local_variable_declaration_statement","local_variable_declaration","statement",
-"statement_nsi","statement_without_trailing_substatement","empty_statement",
-"label_decl","labeled_statement","labeled_statement_nsi","expression_statement",
-"statement_expression","if_then_statement","if_then_else_statement","if_then_else_statement_nsi",
-"switch_statement","switch_block","switch_block_statement_groups","switch_block_statement_group",
-"switch_labels","switch_label","while_expression","while_statement","while_statement_nsi",
-"do_statement_begin","do_statement","for_statement","for_statement_nsi","for_header",
-"for_begin","for_init","for_update","statement_expression_list","break_statement",
-"continue_statement","return_statement","throw_statement","synchronized_statement",
-"synchronized","try_statement","catches","catch_clause","finally","primary",
-"primary_no_new_array","class_instance_creation_expression","something_dot_new",
-"argument_list","array_creation_expression","dim_exprs","dim_expr","dims","field_access",
-"method_invocation","array_access","postfix_expression","post_increment_expression",
-"post_decrement_expression","unary_expression","pre_increment_expression","pre_decrement_expression",
-"unary_expression_not_plus_minus","cast_expression","multiplicative_expression",
-"additive_expression","shift_expression","relational_expression","equality_expression",
-"and_expression","exclusive_or_expression","inclusive_or_expression","conditional_and_expression",
-"conditional_or_expression","conditional_expression","assignment_expression",
-"assignment","left_hand_side","assignment_operator","expression","constant_expression", NULL
-};
-#endif
-
-static const short yyr1[] = { 0,
- 110, 111, 111, 111, 111, 111, 111, 112, 112, 113,
- 113, 113, 114, 114, 115, 116, 117, 118, 118, 118,
- 119, 119, 120, 121, 122, 123, 123, 123, 123, 123,
- 123, 123, 123, 124, 124, 125, 125, 126, 127, 127,
- 128, 129, 130, 130, 130, 131, 131, 133, 132, 134,
- 132, 135, 135, 136, 136, 137, 137, 138, 138, 139,
- 139, 140, 140, 140, 140, 141, 141, 141, 141, 142,
- 142, 143, 143, 144, 144, 145, 145, 146, 146, 147,
- 148, 148, 148, 148, 149, 149, 149, 150, 150, 151,
- 151, 152, 152, 153, 153, 154, 154, 154, 155, 155,
- 156, 157, 157, 157, 157, 158, 158, 159, 159, 159,
- 159, 160, 160, 160, 160, 161, 161, 163, 162, 164,
- 162, 165, 162, 166, 162, 167, 167, 168, 168, 169,
- 169, 170, 170, 170, 170, 171, 172, 173, 173, 173,
- 173, 174, 174, 175, 175, 176, 176, 177, 177, 177,
- 178, 179, 179, 180, 180, 180, 180, 180, 180, 181,
- 181, 181, 181, 181, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 183, 184, 185, 186, 187,
- 188, 188, 188, 188, 188, 188, 188, 189, 190, 191,
- 192, 193, 193, 193, 193, 194, 194, 195, 196, 196,
- 197, 197, 198, 199, 200, 201, 202, 203, 203, 204,
- 204, 205, 206, 207, 207, 207, 208, 208, 209, 209,
- 210, 210, 211, 211, 212, 212, 213, 214, 214, 215,
- 216, 216, 216, 217, 217, 218, 219, 220, 220, 221,
- 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
- 222, 222, 222, 222, 222, 222, 222, 222, 223, 223,
- 224, 224, 224, 225, 225, 225, 225, 225, 225, 226,
- 226, 227, 228, 228, 229, 229, 230, 230, 230, 230,
- 230, 230, 231, 231, 232, 232, 232, 232, 233, 234,
- 235, 235, 235, 235, 235, 236, 237, 238, 238, 238,
- 238, 239, 239, 239, 239, 240, 240, 240, 240, 241,
- 241, 241, 242, 242, 242, 242, 243, 243, 243, 243,
- 243, 243, 244, 244, 244, 245, 245, 246, 246, 247,
- 247, 248, 248, 249, 249, 250, 250, 251, 251, 252,
- 253, 253, 253, 254, 254, 255, 256
-};
-
-static const short yyr2[] = { 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 3, 3, 3,
- 1, 1, 1, 3, 1, 0, 1, 1, 1, 2,
- 2, 2, 3, 1, 2, 1, 2, 3, 1, 1,
- 3, 5, 1, 1, 1, 1, 2, 0, 7, 0,
- 6, 0, 2, 0, 2, 1, 3, 2, 3, 1,
- 2, 1, 1, 1, 1, 1, 1, 1, 1, 3,
- 4, 1, 3, 1, 3, 1, 3, 1, 1, 2,
- 3, 3, 4, 4, 3, 4, 3, 1, 3, 2,
- 3, 0, 2, 1, 3, 1, 2, 1, 2, 3,
- 1, 3, 4, 4, 5, 3, 4, 2, 3, 3,
- 4, 4, 5, 7, 6, 1, 1, 0, 4, 0,
- 5, 0, 5, 0, 6, 2, 3, 2, 3, 1,
- 2, 1, 1, 1, 1, 1, 2, 2, 3, 3,
- 4, 1, 3, 2, 3, 1, 2, 1, 1, 1,
- 2, 2, 3, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
- 1, 1, 1, 1, 1, 1, 1, 5, 7, 7,
- 5, 2, 3, 3, 4, 1, 2, 2, 1, 2,
- 3, 2, 4, 2, 2, 1, 7, 7, 6, 7,
- 6, 2, 2, 0, 1, 1, 0, 1, 1, 3,
- 2, 3, 2, 3, 2, 3, 3, 5, 5, 1,
- 3, 3, 4, 1, 2, 5, 2, 1, 1, 1,
- 1, 3, 1, 1, 1, 1, 3, 3, 3, 3,
- 5, 4, 6, 5, 4, 5, 5, 6, 3, 3,
- 1, 3, 3, 3, 3, 4, 4, 4, 4, 1,
- 2, 3, 2, 3, 3, 3, 3, 4, 5, 6,
- 5, 6, 4, 4, 1, 1, 1, 1, 2, 2,
- 1, 1, 2, 2, 1, 2, 2, 1, 2, 2,
- 1, 5, 4, 4, 5, 1, 3, 3, 3, 1,
- 3, 3, 1, 3, 3, 3, 1, 3, 3, 3,
- 3, 3, 1, 3, 3, 1, 3, 1, 3, 1,
- 3, 1, 3, 1, 3, 1, 5, 1, 1, 3,
- 1, 1, 1, 1, 1, 1, 1
-};
-
-static const short yydefact[] = { 26,
- 46, 0, 0, 0, 0, 45, 1, 28, 29, 27,
- 34, 39, 40, 36, 0, 43, 44, 25, 0, 21,
- 22, 23, 118, 52, 0, 32, 35, 37, 30, 31,
- 47, 0, 0, 41, 0, 0, 0, 122, 0, 54,
- 38, 0, 33, 120, 52, 0, 24, 17, 126, 15,
- 0, 119, 0, 0, 16, 53, 0, 50, 0, 124,
- 54, 42, 12, 0, 10, 11, 128, 0, 8, 9,
- 13, 14, 15, 0, 134, 136, 0, 135, 0, 130,
- 132, 133, 127, 123, 56, 55, 0, 121, 0, 48,
- 0, 92, 76, 0, 72, 74, 92, 0, 0, 0,
- 0, 0, 137, 129, 131, 0, 0, 51, 125, 0,
- 0, 0, 0, 82, 70, 0, 0, 0, 81, 18,
- 20, 19, 92, 0, 92, 57, 46, 0, 58, 21,
- 0, 68, 0, 60, 62, 66, 67, 0, 63, 0,
- 64, 92, 69, 65, 49, 85, 0, 0, 0, 88,
- 94, 93, 87, 76, 73, 0, 0, 0, 0, 0,
- 0, 0, 241, 0, 0, 0, 0, 6, 5, 2,
- 3, 4, 7, 240, 0, 286, 75, 79, 285, 238,
- 243, 0, 239, 244, 245, 246, 298, 287, 288, 306,
- 291, 292, 295, 301, 310, 313, 317, 323, 326, 328,
- 330, 332, 334, 336, 338, 346, 339, 0, 78, 77,
- 84, 71, 83, 46, 0, 0, 206, 0, 0, 0,
- 0, 0, 0, 0, 0, 144, 176, 0, 8, 286,
- 23, 0, 150, 165, 0, 146, 148, 0, 149, 154,
- 166, 0, 155, 167, 0, 156, 157, 168, 0, 158,
- 0, 169, 159, 214, 0, 170, 171, 172, 174, 173,
- 0, 175, 243, 245, 0, 184, 185, 182, 183, 181,
- 0, 92, 59, 61, 98, 80, 96, 99, 0, 90,
- 0, 86, 0, 0, 286, 244, 246, 293, 294, 297,
- 296, 0, 0, 0, 16, 0, 299, 300, 0, 286,
- 0, 138, 0, 142, 0, 0, 0, 0, 0, 0,
- 0, 0, 290, 289, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 344, 345, 0, 0, 0,
- 221, 0, 225, 0, 0, 0, 0, 212, 223, 0,
- 0, 152, 0, 177, 0, 145, 147, 151, 230, 178,
- 180, 204, 0, 0, 216, 219, 213, 215, 0, 0,
- 106, 0, 0, 97, 100, 0, 102, 91, 89, 95,
- 249, 276, 0, 264, 270, 0, 265, 0, 0, 0,
- 0, 0, 0, 0, 242, 140, 139, 0, 248, 277,
- 0, 261, 0, 247, 259, 250, 260, 275, 0, 0,
- 307, 308, 309, 311, 312, 314, 315, 316, 319, 321,
- 318, 320, 0, 322, 324, 325, 327, 329, 331, 333,
- 335, 0, 340, 0, 227, 222, 226, 0, 0, 0,
- 0, 231, 234, 232, 224, 242, 153, 0, 0, 217,
- 0, 0, 107, 103, 117, 241, 108, 286, 0, 0,
- 0, 104, 0, 273, 0, 271, 266, 0, 269, 267,
- 268, 252, 0, 303, 0, 0, 304, 141, 143, 278,
- 0, 283, 0, 284, 255, 0, 0, 0, 203, 0,
- 0, 237, 235, 233, 0, 220, 0, 218, 217, 0,
- 105, 0, 109, 0, 0, 110, 281, 0, 272, 274,
- 254, 251, 302, 305, 263, 262, 279, 0, 256, 257,
- 337, 0, 188, 0, 154, 0, 161, 162, 0, 163,
- 164, 0, 0, 191, 0, 0, 0, 0, 229, 228,
- 0, 111, 0, 0, 282, 253, 280, 258, 0, 0,
- 179, 205, 0, 0, 0, 192, 0, 196, 0, 199,
- 0, 0, 209, 0, 0, 112, 0, 0, 189, 217,
- 0, 202, 347, 0, 194, 197, 0, 193, 198, 200,
- 236, 207, 208, 0, 0, 113, 0, 0, 217, 201,
- 195, 115, 0, 0, 0, 0, 114, 0, 211, 0,
- 190, 210, 0, 0, 0
-};
-
-static const short yydefgoto[] = { 603,
- 174, 228, 175, 70, 71, 56, 49, 72, 176, 20,
- 21, 22, 7, 8, 9, 10, 11, 12, 13, 14,
- 232, 233, 110, 87, 40, 58, 86, 108, 133, 134,
- 135, 76, 94, 95, 96, 177, 137, 77, 92, 149,
- 150, 114, 152, 276, 139, 140, 141, 142, 377, 459,
- 460, 17, 37, 59, 54, 89, 38, 52, 79, 80,
- 81, 82, 178, 305, 234, 579, 236, 237, 238, 239,
- 524, 240, 241, 242, 243, 527, 244, 245, 246, 247,
- 528, 248, 534, 557, 558, 559, 560, 249, 250, 530,
- 251, 252, 253, 531, 254, 255, 367, 497, 498, 256,
- 257, 258, 259, 260, 261, 262, 442, 443, 444, 179,
- 180, 181, 182, 401, 183, 384, 385, 386, 184, 185,
- 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 208, 338, 402, 574
-};
-
-static const short yypact[] = { 206,
--32768, -59, -59, -59, -59,-32768,-32768, 84, -10, 84,
--32768,-32768,-32768,-32768, 149,-32768,-32768,-32768, 113,-32768,
--32768,-32768, -27, 16, 155, -10,-32768,-32768, 84, -10,
--32768, -59, -59,-32768, 6, -59, -23, -13, -59, 44,
--32768, -59, -10, -27, 16, 28,-32768,-32768,-32768, 55,
- 751,-32768, -59, -23,-32768,-32768, -59,-32768, -23, -13,
- 44,-32768,-32768, -59,-32768,-32768,-32768, -59, 94,-32768,
--32768, 127, 179, 834,-32768,-32768, 66,-32768, 822,-32768,
--32768,-32768,-32768,-32768,-32768, 81, 134,-32768, -23,-32768,
- 154, -35, 154, 290,-32768, 27, -35, 166, 177, 187,
- -59, -59,-32768,-32768,-32768, -59, 485,-32768,-32768, 134,
- 207, -59, 225,-32768,-32768, -59, 1549, 238,-32768,-32768,
--32768,-32768, -35, 353, -35,-32768, 271, 2494,-32768, 293,
- 834,-32768, 579,-32768,-32768,-32768,-32768, 213,-32768, 286,
--32768, 374,-32768,-32768,-32768,-32768, -59, 68, 21,-32768,
--32768, 336,-32768,-32768,-32768, 2296, 2296, 2296, 2296, 342,
- 363, 294,-32768, 2296, 2296, 2296, 1419,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 366, 338,-32768,-32768, 368, 381,
--32768, -59,-32768, 204,-32768, 419, 474,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 443, 518, 505, 310, 508, 472,
- 479, 481, 482, 4,-32768,-32768,-32768, 436,-32768,-32768,
--32768,-32768,-32768, 405, 407, 2296,-32768, 102, 1600, 412,
- 414, 286, 440, 121, 2296,-32768,-32768, -59, 224, 354,
- 450, 568,-32768,-32768, 2560,-32768,-32768, 456,-32768,-32768,
--32768, 2956,-32768,-32768, 458,-32768,-32768,-32768, 2956,-32768,
- 2956,-32768,-32768, 3088, 465,-32768,-32768,-32768,-32768,-32768,
- 475,-32768, 215, 284, 474, 496, 517,-32768,-32768,-32768,
- 283, 374,-32768,-32768,-32768,-32768, 467, 476, 477, 480,
- -59,-32768, 173, -59, 148,-32768,-32768,-32768,-32768,-32768,
--32768, 511, -59, 486, 486, 493,-32768,-32768, 171, 369,
- 494,-32768, 483,-32768, 226, 522, 1665, 2296, 9, 100,
- 2296, 497,-32768,-32768, 2296, 2296, 2296, 2296, 2296, 2296,
- 2296, 2296, 2296, 2296, 2296, 2296, 294, 2296, 2296, 2296,
- 2296, 2296, 2296, 2296, 2296,-32768,-32768, 2296, 2296, 492,
--32768, 495,-32768, 500, 2296, 2296, 287,-32768,-32768, 503,
- 499, 504, 1716,-32768, -59,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 530, 68,-32768,-32768,-32768, 509, 1781, 2296,
--32768, 200, 477,-32768,-32768, 2626, 506, 480,-32768,-32768,
--32768, 515, 1832, 486,-32768, 362, 486, 362, 1897, 2296,
- 512, 52, 1832, 125, 3154,-32768,-32768, 1484,-32768,-32768,
- 203,-32768, 513,-32768,-32768,-32768,-32768, 520, 519, 1948,
--32768,-32768,-32768, 443, 443, 518, 518, 518, 505, 505,
- 505, 505, 94,-32768, 310, 310, 508, 472, 479, 481,
- 482, 527,-32768, 526,-32768,-32768,-32768, 528, 532, 531,
- 286, 287,-32768,-32768,-32768,-32768, 504, 534, 3113, 3113,
- 535, 536,-32768, 540, 363, 538,-32768, 411, 2692, 548,
- 2758,-32768, 2013,-32768, 523,-32768, 546, 547,-32768, 546,
--32768, 134, 245,-32768, 2296, 3154,-32768,-32768,-32768,-32768,
- 1368,-32768, 2064,-32768, 134, 260, 2296, 3022,-32768, 552,
- 173,-32768,-32768,-32768, 2296,-32768, 554, 509, 3113, 12,
--32768, 352,-32768, 2824, 2129,-32768,-32768, 270,-32768,-32768,
--32768, 134,-32768,-32768,-32768,-32768,-32768, 288,-32768, 134,
--32768, 558,-32768, 596, 600, 3022,-32768,-32768, 3022,-32768,
--32768, 560, 13,-32768, 566, 572, 2956, 573,-32768,-32768,
- 569,-32768, 574, 291,-32768,-32768,-32768,-32768, 2296, 2956,
--32768,-32768, 2180, 584, 2296,-32768, 20,-32768, 2362,-32768,
- 286, 578,-32768, 2956, 2245,-32768, 582, 589,-32768, 3113,
- 585,-32768,-32768, 602,-32768,-32768, 2428,-32768, 2890,-32768,
--32768,-32768,-32768, 593, 326,-32768, 3022, 599, 3113,-32768,
--32768,-32768, 597, 639, 3022, 604,-32768, 3022,-32768, 3022,
--32768,-32768, 701, 702,-32768
-};
-
-static const short yypgoto[] = {-32768,
--32768, -1, 209, 376, -22, -106, -20,-32768, 78, -79,
--32768, -3,-32768, 694, 30,-32768, 126,-32768,-32768, 329,
- 15, 831,-32768,-32768, 660, 645,-32768, -98,-32768, 577,
--32768, -87, -92, 591, -138, -160,-32768, -65, 96, 445,
- -278, -54,-32768,-32768,-32768,-32768,-32768, 580, 341,-32768,
--32768, -30,-32768,-32768,-32768,-32768, 673, 79,-32768, 640,
--32768,-32768, 35,-32768, -85, -124, -233,-32768, 469, -55,
- -321, -425,-32768, -424,-32768,-32768,-32768, -246,-32768,-32768,
--32768,-32768,-32768,-32768, 164, 168, -436, -418,-32768,-32768,
--32768,-32768,-32768,-32768,-32768, -296,-32768, -496, 478,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 289, 295,-32768,
--32768, 99,-32768, -363,-32768, 431, 29, -100, 973, 183,
- 1061, 230, 365, 473, 2, 557, 616, -379,-32768, 212,
- 196, 163, 222, 398, 399, 403, 406, 402,-32768, 251,
- 408, 663,-32768,-32768, 862,-32768
-};
-
-
-#define YYLAST 3263
-
-
-static const short yytable[] = { 23,
- 24, 357, 538, 235, 379, 151, 304, 366, 280, 124,
- 46, 145, 539, 48, 15, 477, 55, 112, 334, 136,
- 78, 144, 15, 15, 15, 473, 18, 130, 44, 45,
- 48, 47, 83, 1, 48, 36, 85, 26, 47, 30,
- 15, 138, 119, 15, 15, 136, 486, 144, 78, 68,
- 3, 130, 277, 130, 278, 296, 4, 15, 43, 554,
- 91, 113, 525, 526, 93, 74, 554, 138, 211, 529,
- 213, 51, 102, 588, 555, 404, 143, 68, 39, 19,
- 405, 555, 25, 48, 406, 126, 53, 279, 6, 55,
- 335, 18, 596, 74, 18, 57, 514, 91, 93, 508,
- 525, 526, 143, 525, 526, 68, 128, 529, 556, 147,
- 529, 31, 154, 50, 282, 575, 50, 63, 117, 518,
- 283, 131, 580, 118, 231, 148, 62, 1, 73, 102,
- 50, 68, 84, 27, 50, 352, 347, 88, 2, 295,
- 580, 544, 378, 154, 3, 475, 281, 131, 468, 65,
- 4, 73, 66, 18, 27, 42, 73, 288, 289, 290,
- 291, 525, 526, 97, 103, 297, 298, 109, 529, 525,
- 526, 407, 525, 526, 525, 526, 529, 380, 312, 529,
- 106, 529, 6, 50, 73, 18, 360, 18, 73, 50,
- 98, 532, 31, 362, 388, 363, 123, 125, 392, 394,
- 341, 585, 496, 366, 551, 230, 18, 552, 73, 32,
- 73, 34, 535, 35, 342, 33, 1, 373, 476, 349,
- 350, 468, 63, 99, 154, 73, 263, 357, 107, 532,
- 355, 231, 532, 285, 285, 285, 285, 479, 231, 50,
- 307, 285, 285, 300, 308, 231, 111, 231, 309, 1,
- 1, 461, 366, 41, 65, 42, 63, 66, 18, 69,
- 2, 55, 447, 120, 390, 594, 3, 391, 364, 147,
- 357, 306, 4, 599, 121, 100, 601, 154, 602, 42,
- 5, 147, 69, 467, 122, 148, 470, 69, 65, 382,
- 532, 66, 18, 453, -342, -342, 480, 148, 532, 283,
- 146, 532, 481, 532, 6, 47, 408, 128, -187, 73,
- 264, 275, 230, -187, -187, 69, 411, 412, 413, 69,
- 98, 397, 153, 366, 306, 398, 1, 323, 324, 325,
- 326, 230, 63, 263, 504, 210, 229, 28, 512, 69,
- 263, 69, 366, 63, 481, 357, 440, 263, 73, 263,
- 441, 154, 263, 520, 28, 492, 69, 265, 28, 481,
- 73, 50, 355, 545, 65, -101, 327, 66, 18, 481,
- 294, 28, 231, 511, 299, 65, 371, -186, 66, 18,
- 128, 547, -186, -186, 567, 271, 519, 481, 115, 116,
- 481, 474, 285, 285, 285, 285, 285, 285, 285, 285,
- 285, 285, 285, 285, 73, 285, 285, 285, 285, 285,
- 285, 285, 466, 546, 540, 466, 541, 264, 404, 593,
- 469, 548, 471, 405, 264, 481, 112, 406, -341, -341,
- 307, 264, 523, 264, 308, 284, 264, 18, 309, -15,
- 69, 73, 292, 229, -341, -341, 307, 315, 316, 317,
- 353, 212, 116, 458, 309, 231, 167, 231, 468, -341,
- -341, 307, 229, 293, 265, 393, 306, 285, 310, 309,
- 360, 265, 285, 362, 263, 581, 513, 311, 265, 69,
- 265, 563, 330, 265, 231, 419, 420, 421, 422, 147,
- 331, 69, 266, 332, 569, 333, -15, -230, 47, 339,
- 231, -341, -341, 307, 345, 148, 346, 353, 583, -343,
- -343, 502, 320, 321, 322, 416, 417, 418, 313, 314,
- 318, 319, 231, 328, 329, 231, 336, 337, 127, 414,
- 415, 523, 348, 231, 63, 423, 230, 354, 230, 563,
- -287, -287, 569, 64, 583, 3, 231, 263, 263, 425,
- 426, 4, 285, 285, 358, 231, 361, 263, 264, 263,
- 231, -288, -288, 369, 285, 374, 65, 370, 73, 66,
- 18, 376, 69, 231, 375, 231, 118, 381, 396, 128,
- 129, 230, 383, 231, 229, 389, 263, 395, 399, 410,
- 435, 231, 446, 436, 231, 448, 231, 263, 437, 266,
- 267, 445, 263, 116, 462, 265, 266, 463, 449, 464,
- 482, 31, 483, 266, 487, 266, 484, 63, 266, 488,
- 509, 489, 127, 491, 263, 490, 495, 263, 63, 500,
- -116, 264, 264, 499, 33, 263, 230, 64, 501, 3,
- 505, 264, 468, 264, 510, 4, 533, 537, 263, 65,
- 549, 550, 66, 18, 230, -160, 230, 263, 553, 561,
- 65, 565, 263, 66, 18, 562, 564, 229, 263, 229,
- 264, 572, 566, 128, 273, 263, 582, 263, 265, 265,
- 586, 264, 587, 589, 268, 263, 264, 263, 265, 590,
- 265, 592, 595, 263, 598, 597, 263, 600, 263, 69,
- 604, 605, 424, 29, 61, 90, 155, 267, 264, 274,
- 272, 264, 229, 454, 267, 372, 60, 265, 105, 264,
- 576, 267, 365, 267, 577, 387, 267, 427, 265, 428,
- 493, 368, 264, 265, 429, 431, 494, 521, 430, 0,
- 266, 264, 0, 269, 0, 433, 264, 0, 0, 0,
- 0, 0, 264, 0, 0, 265, 0, 0, 265, 264,
- 0, 264, 0, 0, 0, 0, 265, 229, 0, 264,
- 0, 264, 0, 0, 0, 0, 0, 264, 0, 265,
- 264, 0, 264, 0, 0, 229, 0, 229, 265, 0,
- 270, 268, 0, 265, 1, 0, 0, 0, 268, 265,
- 63, 0, 0, 0, 0, 268, 265, 268, 265, 64,
- 268, 3, 0, 266, 266, 0, 265, 4, 265, 0,
- 0, 0, 0, 266, 265, 266, 0, 265, 0, 265,
- 16, 0, 65, 0, 0, 66, 18, 0, 16, 16,
- 16, 0, 0, 0, 0, 0, 67, 0, 267, 0,
- 269, 0, 266, 0, 0, 0, 16, 269, 0, 16,
- 16, 0, 0, 266, 269, 1, 269, 0, 266, 269,
- 0, 63, 0, 16, 0, 0, 0, 31, 0, 0,
- 64, 75, 3, 63, 0, 0, 0, 0, 4, 0,
- 266, 0, 101, 266, 32, 0, 0, 270, 0, 0,
- 33, 266, 0, 65, 270, 0, 66, 18, 0, 75,
- 0, 270, 0, 270, 266, 65, 270, 104, 66, 18,
- 0, 267, 267, 266, 0, 0, 0, 0, 266, 0,
- 0, 267, 268, 267, 266, 0, 0, 132, 0, 0,
- 0, 266, 0, 266, 0, 0, 0, 0, 0, 0,
- 0, 266, 0, 266, 0, 0, 0, 0, 0, 266,
- 267, 0, 266, 132, 266, 0, 0, 0, 0, 0,
- 0, 267, 0, 0, 0, 0, 267, 0, 209, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 269, 0, 0, 0, 0, 0, 0, 267, 0,
- 0, 267, 0, 0, 0, 268, 268, 0, 0, 267,
- 0, 0, 0, 0, 0, 268, 0, 268, 0, 0,
- 0, 0, 267, 0, 0, 0, 0, 301, 209, 0,
- 0, 267, 0, 0, 0, 0, 267, 0, 270, 0,
- 0, 0, 267, 0, 268, 0, 0, 0, 0, 267,
- 0, 267, 0, 0, 0, 268, 0, 0, 0, 267,
- 268, 267, 0, 0, 269, 269, 0, 267, 0, 0,
- 267, 0, 267, 0, 269, 0, 269, 340, 0, 0,
- 344, 0, 268, 0, 0, 268, 351, 0, 0, 0,
- 0, 0, 0, 268, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 269, 0, 0, 268, 0, 0, 0,
- 0, 270, 270, 0, 269, 268, 0, 0, 0, 269,
- 268, 270, 0, 270, 0, 0, 268, 0, 286, 286,
- 286, 286, 0, 268, 0, 268, 286, 286, 0, 0,
- 0, 269, 0, 268, 269, 268, 0, 0, 0, 0,
- 270, 268, 269, 0, 268, 0, 268, 0, 0, 0,
- 0, 270, 0, 0, 0, 269, 270, 0, 0, 403,
- 0, 0, 409, 0, 269, 0, 0, 0, 0, 269,
- 0, 0, 0, 0, 0, 269, 0, 0, 270, 0,
- 0, 270, 269, 0, 269, 0, 432, 0, 0, 270,
- 434, 0, 269, 0, 269, 0, 438, 439, 0, 0,
- 269, 0, 270, 269, 403, 269, 287, 287, 287, 287,
- 0, 270, 0, 0, 287, 287, 270, 0, 0, 0,
- 451, 452, 270, 0, 0, 0, 0, 0, 0, 270,
- 0, 270, 0, 0, 465, 0, 0, 0, 0, 270,
- 0, 270, 0, 0, 403, 0, 0, 270, 0, 209,
- 270, 0, 270, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 286, 286, 286,
- 286, 286, 286, 286, 286, 286, 286, 286, 286, 0,
- 286, 286, 286, 286, 286, 286, 286, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 516, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 536, 0, 0, 0,
- 0, 0, 286, 0, 0, 0, 0, 286, 515, 0,
- 156, 157, 0, 0, 0, 287, 287, 287, 287, 287,
- 287, 287, 287, 287, 287, 287, 287, 0, 287, 287,
- 287, 287, 287, 287, 287, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 568, 0, 158, 159, 571, 0, 573, 63, 0, 0,
- 0, 156, 157, 0, 0, 0, 160, 0, 0, 0,
- 0, 0, 161, 0, 0, 0, 0, 0, 0, 162,
- 0, 0, 0, 163, 0, 0, 0, 286, 286, 65,
- 287, 0, 66, 18, 0, 287, 164, 165, 0, 286,
- 166, 0, 0, 158, 159, 0, 0, 0, 63, 168,
- 169, 170, 171, 0, 0, 172, 173, 160, 0, 0,
- 0, 0, 0, 161, 0, 0, 156, 157, 0, 0,
- 162, 0, 0, 0, 163, 0, 0, 0, 0, 0,
- 65, 0, 0, 66, 18, 0, 0, 164, 165, 0,
- 0, 166, 0, 167, 302, 0, 0, 0, 303, 0,
- 168, 169, 170, 171, 0, 0, 172, 173, 158, 159,
- 0, 0, 0, 63, 0, 287, 287, 0, 0, 0,
- 0, 0, 160, 0, 0, 0, 0, 287, 161, 0,
- 0, 156, 157, 0, 0, 162, 0, 0, 0, 163,
- 0, 0, 0, 0, 0, 65, 0, 0, 66, 18,
- 0, 0, 164, 165, 0, 0, 166, 0, 167, 478,
- 0, 0, 0, 0, 0, 168, 169, 170, 171, 0,
- 0, 172, 173, 158, 159, 0, 0, 0, 63, 0,
- 0, 0, 156, 157, 0, 0, 0, 160, 0, 0,
- 0, 0, 0, 161, 0, 0, 0, 0, 0, 0,
- 162, 0, 0, 0, 163, 0, 0, 0, 0, 0,
- 65, 0, 0, 66, 18, 0, 0, 164, 165, 0,
- 0, 166, 0, 167, 158, 159, 0, 0, 0, 63,
- 168, 169, 170, 171, 0, 0, 172, 173, 160, 0,
- 0, 0, 0, 0, 161, 0, 0, 156, 157, 0,
- 0, 162, 0, 0, 0, 163, 0, 0, 0, 0,
- 0, 65, 0, 0, 66, 18, 0, 0, 164, 165,
- 0, 0, 166, 0, 0, 0, 0, 0, 343, 0,
- 0, 168, 169, 170, 171, 0, 0, 172, 173, 158,
- 159, 0, 0, 0, 63, 0, 0, 0, 156, 157,
- 0, 0, 0, 160, 0, 0, 0, 0, 0, 161,
- 0, 0, 0, 0, 0, 0, 162, 0, 0, 0,
- 163, 0, 0, 0, 0, 0, 65, 0, 0, 66,
- 18, 0, 0, 164, 165, 0, 0, 166, 400, 0,
- 158, 159, 0, 0, 0, 63, 168, 169, 170, 171,
- 0, 0, 172, 173, 160, 0, 0, 0, 0, 0,
- 161, 0, 0, 156, 157, 0, 0, 162, 0, 0,
- 0, 163, 0, 0, 0, 0, 0, 65, 0, 0,
- 66, 18, 0, 0, 164, 165, 0, 0, 166, 0,
- 0, 0, 0, 122, 0, 0, 0, 168, 169, 170,
- 171, 0, 0, 172, 173, 158, 159, 0, 0, 0,
- 63, 0, 0, 0, 156, 157, 0, 0, 0, 160,
- 0, 0, 0, 0, 0, 161, 0, 0, 0, 0,
- 0, 0, 162, 0, 0, 0, 163, 0, 0, 0,
- 0, 0, 65, 0, 0, 66, 18, 0, 0, 164,
- 165, 0, 0, 166, 0, 0, 158, 159, 0, 450,
- 0, 63, 168, 169, 170, 171, 0, 0, 172, 173,
- 160, 0, 0, 0, 0, 0, 161, 0, 0, 156,
- 157, 0, 0, 162, 0, 0, 0, 163, 0, 0,
- 0, 0, 0, 65, 0, 0, 66, 18, 0, 0,
- 164, 165, 0, 0, 166, 0, 0, 0, 0, 464,
- 0, 0, 0, 168, 169, 170, 171, 0, 0, 172,
- 173, 158, 159, 0, 0, 0, 63, 0, 0, 0,
- 156, 157, 0, 0, 0, 160, 0, 0, 0, 0,
- 0, 161, 0, 0, 0, 0, 0, 0, 162, 0,
- 0, 0, 163, 0, 0, 0, 0, 0, 65, 0,
- 0, 66, 18, 0, 0, 164, 165, 0, 0, 166,
- 472, 0, 158, 159, 0, 0, 0, 63, 168, 169,
- 170, 171, 0, 0, 172, 173, 160, 0, 0, 0,
- 0, 0, 161, 0, 0, 156, 157, 0, 0, 162,
- 0, 0, 0, 163, 0, 0, 0, 0, 0, 65,
- 0, 0, 66, 18, 0, 0, 164, 165, 0, 0,
- 166, 485, 0, 0, 0, 0, 0, 0, 0, 168,
- 169, 170, 171, 0, 0, 172, 173, 158, 159, 0,
- 0, 0, 63, 0, 0, 0, 156, 157, 0, 0,
- 0, 160, 0, 0, 0, 0, 0, 161, 0, 0,
- 0, 0, 0, 0, 162, 0, 0, 0, 163, 0,
- 0, 0, 0, 0, 65, 0, 0, 66, 18, 0,
- 0, 164, 165, 0, 0, 166, 507, 0, 158, 159,
- 0, 0, 0, 63, 168, 169, 170, 171, 0, 0,
- 172, 173, 160, 0, 0, 0, 0, 0, 161, 0,
- 0, 156, 157, 0, 0, 162, 0, 0, 0, 163,
- 0, 0, 0, 0, 0, 65, 0, 0, 66, 18,
- 0, 0, 164, 165, 0, 0, 166, 517, 0, 0,
- 0, 0, 0, 0, 0, 168, 169, 170, 171, 0,
- 0, 172, 173, 158, 159, 0, 0, 0, 63, 0,
- 0, 0, 156, 157, 0, 0, 0, 160, 0, 0,
- 0, 0, 0, 161, 0, 0, 0, 0, 0, 0,
- 162, 0, 0, 0, 163, 0, 0, 0, 0, 0,
- 65, 0, 0, 66, 18, 0, 0, 164, 165, 0,
- 0, 166, 543, 0, 158, 159, 0, 0, 0, 63,
- 168, 169, 170, 171, 0, 0, 172, 173, 160, 0,
- 0, 0, 0, 0, 161, 0, 0, 156, 157, 0,
- 0, 162, 0, 0, 0, 163, 0, 0, 0, 0,
- 0, 65, 0, 0, 66, 18, 0, 0, 164, 165,
- 0, 0, 166, 0, 0, 0, 0, 0, 570, 0,
- 0, 168, 169, 170, 171, 0, 0, 172, 173, 158,
- 159, 0, 0, 0, 63, 0, 0, 0, 156, 157,
- 0, 0, 0, 160, 0, 0, 0, 0, 0, 161,
- 0, 0, 0, 0, 0, 0, 162, 0, 0, 0,
- 163, 0, 0, 0, 0, 0, 65, 0, 0, 66,
- 18, 0, 0, 164, 165, 0, 0, 166, 584, 0,
- 158, 159, 0, 0, 0, 63, 168, 169, 170, 171,
- 0, 0, 172, 173, 160, 0, 0, 0, 0, 0,
- 161, 0, 0, 0, 0, 0, 0, 162, 0, 0,
- 0, 163, 0, 0, 0, 0, 0, 65, 0, 0,
- 66, 18, 0, 0, 164, 165, 0, 0, 166, 0,
- 0, 0, 0, 0, 0, 0, 0, 168, 169, 170,
- 171, 0, 0, 172, 173, 214, 158, 159, 554, 215,
- 216, 63, 217, 0, 0, 218, 0, 0, 0, 219,
- 160, 0, 0, 555, 0, 0, 161, 220, 4, 221,
- 0, 222, 223, 162, 224, 0, 0, 163, 0, 0,
- 0, 0, 0, 65, 0, 0, 66, 18, 0, 0,
- 0, 0, 0, 0, 225, 0, 128, 578, 0, 0,
- 227, 0, 0, 168, 169, 170, 171, 0, 0, 172,
- 173, 214, 158, 159, 554, 215, 216, 63, 217, 0,
- 0, 218, 0, 0, 0, 219, 160, 0, 0, 555,
- 0, 0, 161, 220, 4, 221, 0, 222, 223, 162,
- 224, 0, 0, 163, 0, 0, 0, 0, 0, 65,
- 0, 0, 66, 18, 0, 0, 0, 0, 0, 0,
- 225, 0, 128, 591, 0, 0, 227, 0, 0, 168,
- 169, 170, 171, 0, 0, 172, 173, 214, 158, 159,
- 0, 215, 216, 63, 217, 0, 0, 218, 0, 0,
- 0, 219, 160, 0, 0, 0, 0, 0, 161, 220,
- 4, 221, 0, 222, 223, 162, 224, 0, 0, 163,
- 0, 0, 0, 0, 0, 65, 0, 0, 66, 18,
- 0, 0, 0, 0, 0, 0, 225, 0, 128, 226,
- 0, 0, 227, 0, 0, 168, 169, 170, 171, 0,
- 0, 172, 173, 214, 158, 159, 0, 215, 216, 63,
- 217, 0, 0, 218, 0, 0, 0, 219, 160, 0,
- 0, 0, 0, 0, 161, 220, 4, 221, 0, 222,
- 223, 162, 224, 0, 0, 163, 0, 0, 0, 0,
- 0, 65, 0, 0, 66, 18, 0, 0, 0, 0,
- 0, 0, 225, 0, 128, 356, 0, 0, 227, 0,
- 0, 168, 169, 170, 171, 0, 0, 172, 173, 214,
- 158, 159, 0, 215, 216, 63, 217, 0, 0, 218,
- 0, 0, 0, 219, 160, 0, 0, 0, 0, 0,
- 455, 220, 4, 221, 0, 222, 223, 162, 224, 0,
- 0, 456, 0, 0, 0, 0, 0, 65, 0, 0,
- 66, 18, 0, 0, 0, 0, 0, 0, 225, 0,
- 128, 457, 0, 0, 227, 0, 0, 168, 169, 170,
- 171, 0, 0, 172, 173, 214, 158, 159, 0, 215,
- 216, 63, 217, 0, 0, 218, 0, 0, 0, 219,
- 160, 0, 0, 0, 0, 0, 161, 220, 4, 221,
- 0, 222, 223, 162, 224, 0, 0, 163, 0, 0,
- 0, 0, 0, 65, 0, 0, 66, 18, 0, 0,
- 0, 0, 0, 0, 225, 0, 128, 503, 0, 0,
- 227, 0, 0, 168, 169, 170, 171, 0, 0, 172,
- 173, 214, 158, 159, 0, 215, 216, 63, 217, 0,
- 0, 218, 0, 0, 0, 219, 160, 0, 0, 0,
- 0, 0, 161, 220, 4, 221, 0, 222, 223, 162,
- 224, 0, 0, 163, 0, 0, 0, 0, 0, 65,
- 0, 0, 66, 18, 0, 0, 0, 0, 0, 0,
- 225, 0, 128, 506, 0, 0, 227, 0, 0, 168,
- 169, 170, 171, 0, 0, 172, 173, 214, 158, 159,
- 0, 215, 216, 63, 217, 0, 0, 218, 0, 0,
- 0, 219, 160, 0, 0, 0, 0, 0, 161, 220,
- 4, 221, 0, 222, 223, 162, 224, 0, 0, 163,
- 0, 0, 0, 0, 0, 65, 0, 0, 66, 18,
- 0, 0, 0, 0, 0, 0, 225, 0, 128, 542,
- 0, 0, 227, 0, 0, 168, 169, 170, 171, 0,
- 0, 172, 173, 214, 158, 159, 0, 215, 216, 63,
- 217, 0, 0, 218, 0, 0, 0, 219, 160, 0,
- 0, 0, 0, 0, 161, 220, 4, 221, 0, 222,
- 223, 162, 224, 0, 0, 163, 0, 0, 0, 0,
- 0, 65, 0, 0, 66, 18, 0, 0, 0, 0,
- 0, 0, 225, 0, 128, 0, 0, 0, 227, 0,
- 0, 168, 169, 170, 171, 0, 0, 172, 173, 359,
- 158, 159, 0, 215, 216, 63, 217, 0, 0, 218,
- 0, 0, 0, 219, 160, 0, 0, 0, 0, 0,
- 161, 220, 0, 221, 0, 222, 223, 162, 224, 0,
- 0, 163, 0, 0, 0, 0, 0, 65, 0, 0,
- 66, 18, 0, 0, 0, 0, 0, 0, 225, 0,
- 128, 0, 0, 0, 227, 0, 0, 168, 169, 170,
- 171, 0, 0, 172, 173, 359, 158, 159, 0, 522,
- 216, 63, 217, 0, 0, 218, 0, 0, 0, 219,
- 160, 0, 0, 0, 0, 0, 161, 220, 0, 221,
- 0, 222, 223, 162, 224, 0, 0, 163, 0, 0,
- 0, 0, 0, 65, 0, 0, 66, 18, 0, 0,
- 0, 0, 0, 0, 225, 0, 128, 0, 0, 0,
- 227, 0, 0, 168, 169, 170, 171, 0, 0, 172,
- 173, 1, 158, 159, 0, 0, 0, 63, 0, 0,
- 0, 0, 0, 0, 0, 0, 160, 0, 0, 0,
- 0, 0, 161, 0, 0, 0, 0, 158, 159, 162,
- 0, 0, 63, 163, 0, 0, 0, 0, 0, 65,
- 0, 160, 66, 18, 0, 0, 0, 161, 0, 0,
- 225, 0, 0, 0, 162, 0, 0, 0, 163, 168,
- 169, 170, 171, 0, 65, 172, 173, 66, 18, 0,
- 0, 0, 0, 63, 0, 225, 0, 0, 0, 0,
- 0, 0, 160, 0, 168, 169, 170, 171, 161, 0,
- 172, 173, 0, 0, 0, 162, 0, 0, 0, 163,
- 0, 0, 0, 0, 0, 65, 0, 0, 66, 18,
- 0, 0, 164, 165, 0, 0, 166, 0, 0, 0,
- 0, 0, 0, 0, 0, 168, 169, 170, 171, 0,
- 0, 172, 173
-};
-
-static const short yycheck[] = { 3,
- 4, 235, 499, 128, 283, 112, 167, 254, 147, 102,
- 5, 110, 1, 36, 0, 395, 39, 53, 15, 107,
- 51, 107, 8, 9, 10, 389, 86, 107, 32, 33,
- 53, 35, 53, 44, 57, 63, 57, 8, 42, 10,
- 26, 107, 97, 29, 30, 133, 410, 133, 79, 51,
- 61, 131, 138, 133, 140, 162, 67, 43, 29, 47,
- 64, 97, 488, 488, 68, 51, 47, 133, 123, 488,
- 125, 95, 74, 570, 62, 67, 107, 79, 63, 2,
- 72, 62, 5, 106, 76, 106, 100, 142, 99, 112,
- 87, 86, 589, 79, 86, 52, 476, 101, 102, 463,
- 526, 526, 133, 529, 529, 107, 95, 526, 96, 111,
- 529, 44, 116, 36, 94, 96, 39, 50, 92, 483,
- 100, 107, 559, 97, 128, 111, 99, 44, 51, 131,
- 53, 133, 54, 8, 57, 228, 222, 59, 55, 162,
- 577, 505, 281, 147, 61, 94, 148, 133, 97, 82,
- 67, 74, 85, 86, 29, 101, 79, 156, 157, 158,
- 159, 587, 587, 68, 99, 164, 165, 89, 587, 595,
- 595, 72, 598, 598, 600, 600, 595, 284, 182, 598,
- 100, 600, 99, 106, 107, 86, 242, 86, 111, 112,
- 97, 488, 44, 249, 295, 251, 101, 102, 299, 300,
- 99, 565, 449, 450, 526, 128, 86, 529, 131, 61,
- 133, 99, 491, 101, 218, 67, 44, 272, 94, 99,
- 224, 97, 50, 97, 228, 148, 128, 461, 95, 526,
- 232, 235, 529, 156, 157, 158, 159, 398, 242, 162,
- 93, 164, 165, 166, 97, 249, 93, 251, 101, 44,
- 44, 376, 499, 99, 82, 101, 50, 85, 86, 51,
- 55, 284, 355, 98, 94, 587, 61, 97, 254, 271,
- 504, 101, 67, 595, 98, 97, 598, 281, 600, 101,
- 75, 283, 74, 384, 98, 271, 387, 79, 82, 293,
- 587, 85, 86, 94, 91, 92, 94, 283, 595, 100,
- 94, 598, 100, 600, 99, 309, 310, 95, 94, 232,
- 128, 99, 235, 99, 100, 107, 315, 316, 317, 111,
- 97, 96, 98, 570, 101, 100, 44, 18, 19, 20,
- 21, 254, 50, 235, 459, 98, 128, 9, 94, 131,
- 242, 133, 589, 50, 100, 579, 60, 249, 271, 251,
- 64, 355, 254, 94, 26, 441, 148, 128, 30, 100,
- 283, 284, 364, 94, 82, 95, 57, 85, 86, 100,
- 162, 43, 376, 472, 166, 82, 94, 94, 85, 86,
- 95, 94, 99, 100, 94, 93, 485, 100, 99, 100,
- 100, 390, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
- 333, 334, 384, 512, 500, 387, 65, 235, 67, 94,
- 386, 520, 388, 72, 242, 100, 53, 76, 91, 92,
- 93, 249, 488, 251, 97, 100, 254, 86, 101, 86,
- 232, 364, 101, 235, 91, 92, 93, 5, 6, 7,
- 97, 99, 100, 376, 101, 459, 95, 461, 97, 91,
- 92, 93, 254, 101, 235, 97, 101, 390, 101, 101,
- 526, 242, 395, 529, 376, 561, 475, 97, 249, 271,
- 251, 537, 11, 254, 488, 323, 324, 325, 326, 491,
- 12, 283, 128, 13, 550, 14, 86, 93, 502, 93,
- 504, 91, 92, 93, 93, 491, 93, 97, 564, 91,
- 92, 101, 8, 9, 10, 320, 321, 322, 45, 46,
- 3, 4, 526, 16, 17, 529, 91, 92, 44, 318,
- 319, 587, 93, 537, 50, 327, 459, 88, 461, 595,
- 45, 46, 598, 59, 600, 61, 550, 449, 450, 328,
- 329, 67, 475, 476, 99, 559, 99, 459, 376, 461,
- 564, 45, 46, 99, 487, 99, 82, 93, 491, 85,
- 86, 95, 364, 577, 99, 579, 97, 67, 96, 95,
- 96, 504, 97, 587, 376, 93, 488, 94, 67, 93,
- 99, 595, 94, 99, 598, 66, 600, 499, 99, 235,
- 128, 99, 504, 100, 99, 376, 242, 93, 100, 98,
- 98, 44, 93, 249, 88, 251, 98, 50, 254, 94,
- 98, 94, 44, 93, 526, 94, 93, 529, 50, 94,
- 93, 449, 450, 99, 67, 537, 559, 59, 99, 61,
- 93, 459, 97, 461, 98, 67, 95, 94, 550, 82,
- 93, 56, 85, 86, 577, 56, 579, 559, 99, 94,
- 82, 93, 564, 85, 86, 94, 94, 459, 570, 461,
- 488, 88, 99, 95, 96, 577, 99, 579, 449, 450,
- 99, 499, 94, 99, 128, 587, 504, 589, 459, 88,
- 461, 99, 94, 595, 56, 99, 598, 94, 600, 491,
- 0, 0, 327, 10, 45, 61, 116, 235, 526, 133,
- 131, 529, 504, 373, 242, 271, 44, 488, 79, 537,
- 557, 249, 254, 251, 557, 295, 254, 330, 499, 331,
- 442, 254, 550, 504, 332, 334, 442, 487, 333, -1,
- 376, 559, -1, 128, -1, 338, 564, -1, -1, -1,
- -1, -1, 570, -1, -1, 526, -1, -1, 529, 577,
- -1, 579, -1, -1, -1, -1, 537, 559, -1, 587,
- -1, 589, -1, -1, -1, -1, -1, 595, -1, 550,
- 598, -1, 600, -1, -1, 577, -1, 579, 559, -1,
- 128, 235, -1, 564, 44, -1, -1, -1, 242, 570,
- 50, -1, -1, -1, -1, 249, 577, 251, 579, 59,
- 254, 61, -1, 449, 450, -1, 587, 67, 589, -1,
- -1, -1, -1, 459, 595, 461, -1, 598, -1, 600,
- 0, -1, 82, -1, -1, 85, 86, -1, 8, 9,
- 10, -1, -1, -1, -1, -1, 96, -1, 376, -1,
- 235, -1, 488, -1, -1, -1, 26, 242, -1, 29,
- 30, -1, -1, 499, 249, 44, 251, -1, 504, 254,
- -1, 50, -1, 43, -1, -1, -1, 44, -1, -1,
- 59, 51, 61, 50, -1, -1, -1, -1, 67, -1,
- 526, -1, 59, 529, 61, -1, -1, 235, -1, -1,
- 67, 537, -1, 82, 242, -1, 85, 86, -1, 79,
- -1, 249, -1, 251, 550, 82, 254, 96, 85, 86,
- -1, 449, 450, 559, -1, -1, -1, -1, 564, -1,
- -1, 459, 376, 461, 570, -1, -1, 107, -1, -1,
- -1, 577, -1, 579, -1, -1, -1, -1, -1, -1,
- -1, 587, -1, 589, -1, -1, -1, -1, -1, 595,
- 488, -1, 598, 133, 600, -1, -1, -1, -1, -1,
- -1, 499, -1, -1, -1, -1, 504, -1, 117, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 376, -1, -1, -1, -1, -1, -1, 526, -1,
- -1, 529, -1, -1, -1, 449, 450, -1, -1, 537,
- -1, -1, -1, -1, -1, 459, -1, 461, -1, -1,
- -1, -1, 550, -1, -1, -1, -1, 166, 167, -1,
- -1, 559, -1, -1, -1, -1, 564, -1, 376, -1,
- -1, -1, 570, -1, 488, -1, -1, -1, -1, 577,
- -1, 579, -1, -1, -1, 499, -1, -1, -1, 587,
- 504, 589, -1, -1, 449, 450, -1, 595, -1, -1,
- 598, -1, 600, -1, 459, -1, 461, 216, -1, -1,
- 219, -1, 526, -1, -1, 529, 225, -1, -1, -1,
- -1, -1, -1, 537, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 488, -1, -1, 550, -1, -1, -1,
- -1, 449, 450, -1, 499, 559, -1, -1, -1, 504,
- 564, 459, -1, 461, -1, -1, 570, -1, 156, 157,
- 158, 159, -1, 577, -1, 579, 164, 165, -1, -1,
- -1, 526, -1, 587, 529, 589, -1, -1, -1, -1,
- 488, 595, 537, -1, 598, -1, 600, -1, -1, -1,
- -1, 499, -1, -1, -1, 550, 504, -1, -1, 308,
- -1, -1, 311, -1, 559, -1, -1, -1, -1, 564,
- -1, -1, -1, -1, -1, 570, -1, -1, 526, -1,
- -1, 529, 577, -1, 579, -1, 335, -1, -1, 537,
- 339, -1, 587, -1, 589, -1, 345, 346, -1, -1,
- 595, -1, 550, 598, 353, 600, 156, 157, 158, 159,
- -1, 559, -1, -1, 164, 165, 564, -1, -1, -1,
- 369, 370, 570, -1, -1, -1, -1, -1, -1, 577,
- -1, 579, -1, -1, 383, -1, -1, -1, -1, 587,
- -1, 589, -1, -1, 393, -1, -1, 595, -1, 398,
- 598, -1, 600, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 324, 325, 326, -1,
- 328, 329, 330, 331, 332, 333, 334, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 481, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 495, -1, -1, -1,
- -1, -1, 390, -1, -1, -1, -1, 395, 1, -1,
- 3, 4, -1, -1, -1, 315, 316, 317, 318, 319,
- 320, 321, 322, 323, 324, 325, 326, -1, 328, 329,
- 330, 331, 332, 333, 334, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 549, -1, 45, 46, 553, -1, 555, 50, -1, -1,
- -1, 3, 4, -1, -1, -1, 59, -1, -1, -1,
- -1, -1, 65, -1, -1, -1, -1, -1, -1, 72,
- -1, -1, -1, 76, -1, -1, -1, 475, 476, 82,
- 390, -1, 85, 86, -1, 395, 89, 90, -1, 487,
- 93, -1, -1, 45, 46, -1, -1, -1, 50, 102,
- 103, 104, 105, -1, -1, 108, 109, 59, -1, -1,
- -1, -1, -1, 65, -1, -1, 3, 4, -1, -1,
- 72, -1, -1, -1, 76, -1, -1, -1, -1, -1,
- 82, -1, -1, 85, 86, -1, -1, 89, 90, -1,
- -1, 93, -1, 95, 96, -1, -1, -1, 100, -1,
- 102, 103, 104, 105, -1, -1, 108, 109, 45, 46,
- -1, -1, -1, 50, -1, 475, 476, -1, -1, -1,
- -1, -1, 59, -1, -1, -1, -1, 487, 65, -1,
- -1, 3, 4, -1, -1, 72, -1, -1, -1, 76,
- -1, -1, -1, -1, -1, 82, -1, -1, 85, 86,
- -1, -1, 89, 90, -1, -1, 93, -1, 95, 96,
- -1, -1, -1, -1, -1, 102, 103, 104, 105, -1,
- -1, 108, 109, 45, 46, -1, -1, -1, 50, -1,
- -1, -1, 3, 4, -1, -1, -1, 59, -1, -1,
- -1, -1, -1, 65, -1, -1, -1, -1, -1, -1,
- 72, -1, -1, -1, 76, -1, -1, -1, -1, -1,
- 82, -1, -1, 85, 86, -1, -1, 89, 90, -1,
- -1, 93, -1, 95, 45, 46, -1, -1, -1, 50,
- 102, 103, 104, 105, -1, -1, 108, 109, 59, -1,
- -1, -1, -1, -1, 65, -1, -1, 3, 4, -1,
- -1, 72, -1, -1, -1, 76, -1, -1, -1, -1,
- -1, 82, -1, -1, 85, 86, -1, -1, 89, 90,
- -1, -1, 93, -1, -1, -1, -1, -1, 99, -1,
- -1, 102, 103, 104, 105, -1, -1, 108, 109, 45,
- 46, -1, -1, -1, 50, -1, -1, -1, 3, 4,
- -1, -1, -1, 59, -1, -1, -1, -1, -1, 65,
- -1, -1, -1, -1, -1, -1, 72, -1, -1, -1,
- 76, -1, -1, -1, -1, -1, 82, -1, -1, 85,
- 86, -1, -1, 89, 90, -1, -1, 93, 94, -1,
- 45, 46, -1, -1, -1, 50, 102, 103, 104, 105,
- -1, -1, 108, 109, 59, -1, -1, -1, -1, -1,
- 65, -1, -1, 3, 4, -1, -1, 72, -1, -1,
- -1, 76, -1, -1, -1, -1, -1, 82, -1, -1,
- 85, 86, -1, -1, 89, 90, -1, -1, 93, -1,
- -1, -1, -1, 98, -1, -1, -1, 102, 103, 104,
- 105, -1, -1, 108, 109, 45, 46, -1, -1, -1,
- 50, -1, -1, -1, 3, 4, -1, -1, -1, 59,
- -1, -1, -1, -1, -1, 65, -1, -1, -1, -1,
- -1, -1, 72, -1, -1, -1, 76, -1, -1, -1,
- -1, -1, 82, -1, -1, 85, 86, -1, -1, 89,
- 90, -1, -1, 93, -1, -1, 45, 46, -1, 99,
- -1, 50, 102, 103, 104, 105, -1, -1, 108, 109,
- 59, -1, -1, -1, -1, -1, 65, -1, -1, 3,
- 4, -1, -1, 72, -1, -1, -1, 76, -1, -1,
- -1, -1, -1, 82, -1, -1, 85, 86, -1, -1,
- 89, 90, -1, -1, 93, -1, -1, -1, -1, 98,
- -1, -1, -1, 102, 103, 104, 105, -1, -1, 108,
- 109, 45, 46, -1, -1, -1, 50, -1, -1, -1,
- 3, 4, -1, -1, -1, 59, -1, -1, -1, -1,
- -1, 65, -1, -1, -1, -1, -1, -1, 72, -1,
- -1, -1, 76, -1, -1, -1, -1, -1, 82, -1,
- -1, 85, 86, -1, -1, 89, 90, -1, -1, 93,
- 94, -1, 45, 46, -1, -1, -1, 50, 102, 103,
- 104, 105, -1, -1, 108, 109, 59, -1, -1, -1,
- -1, -1, 65, -1, -1, 3, 4, -1, -1, 72,
- -1, -1, -1, 76, -1, -1, -1, -1, -1, 82,
- -1, -1, 85, 86, -1, -1, 89, 90, -1, -1,
- 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
- 103, 104, 105, -1, -1, 108, 109, 45, 46, -1,
- -1, -1, 50, -1, -1, -1, 3, 4, -1, -1,
- -1, 59, -1, -1, -1, -1, -1, 65, -1, -1,
- -1, -1, -1, -1, 72, -1, -1, -1, 76, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, -1,
- -1, 89, 90, -1, -1, 93, 94, -1, 45, 46,
- -1, -1, -1, 50, 102, 103, 104, 105, -1, -1,
- 108, 109, 59, -1, -1, -1, -1, -1, 65, -1,
- -1, 3, 4, -1, -1, 72, -1, -1, -1, 76,
- -1, -1, -1, -1, -1, 82, -1, -1, 85, 86,
- -1, -1, 89, 90, -1, -1, 93, 94, -1, -1,
- -1, -1, -1, -1, -1, 102, 103, 104, 105, -1,
- -1, 108, 109, 45, 46, -1, -1, -1, 50, -1,
- -1, -1, 3, 4, -1, -1, -1, 59, -1, -1,
- -1, -1, -1, 65, -1, -1, -1, -1, -1, -1,
- 72, -1, -1, -1, 76, -1, -1, -1, -1, -1,
- 82, -1, -1, 85, 86, -1, -1, 89, 90, -1,
- -1, 93, 94, -1, 45, 46, -1, -1, -1, 50,
- 102, 103, 104, 105, -1, -1, 108, 109, 59, -1,
- -1, -1, -1, -1, 65, -1, -1, 3, 4, -1,
- -1, 72, -1, -1, -1, 76, -1, -1, -1, -1,
- -1, 82, -1, -1, 85, 86, -1, -1, 89, 90,
- -1, -1, 93, -1, -1, -1, -1, -1, 99, -1,
- -1, 102, 103, 104, 105, -1, -1, 108, 109, 45,
- 46, -1, -1, -1, 50, -1, -1, -1, 3, 4,
- -1, -1, -1, 59, -1, -1, -1, -1, -1, 65,
- -1, -1, -1, -1, -1, -1, 72, -1, -1, -1,
- 76, -1, -1, -1, -1, -1, 82, -1, -1, 85,
- 86, -1, -1, 89, 90, -1, -1, 93, 94, -1,
- 45, 46, -1, -1, -1, 50, 102, 103, 104, 105,
- -1, -1, 108, 109, 59, -1, -1, -1, -1, -1,
- 65, -1, -1, -1, -1, -1, -1, 72, -1, -1,
- -1, 76, -1, -1, -1, -1, -1, 82, -1, -1,
- 85, 86, -1, -1, 89, 90, -1, -1, 93, -1,
- -1, -1, -1, -1, -1, -1, -1, 102, 103, 104,
- 105, -1, -1, 108, 109, 44, 45, 46, 47, 48,
- 49, 50, 51, -1, -1, 54, -1, -1, -1, 58,
- 59, -1, -1, 62, -1, -1, 65, 66, 67, 68,
- -1, 70, 71, 72, 73, -1, -1, 76, -1, -1,
- -1, -1, -1, 82, -1, -1, 85, 86, -1, -1,
- -1, -1, -1, -1, 93, -1, 95, 96, -1, -1,
- 99, -1, -1, 102, 103, 104, 105, -1, -1, 108,
- 109, 44, 45, 46, 47, 48, 49, 50, 51, -1,
- -1, 54, -1, -1, -1, 58, 59, -1, -1, 62,
- -1, -1, 65, 66, 67, 68, -1, 70, 71, 72,
- 73, -1, -1, 76, -1, -1, -1, -1, -1, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- 93, -1, 95, 96, -1, -1, 99, -1, -1, 102,
- 103, 104, 105, -1, -1, 108, 109, 44, 45, 46,
- -1, 48, 49, 50, 51, -1, -1, 54, -1, -1,
- -1, 58, 59, -1, -1, -1, -1, -1, 65, 66,
- 67, 68, -1, 70, 71, 72, 73, -1, -1, 76,
- -1, -1, -1, -1, -1, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, 93, -1, 95, 96,
- -1, -1, 99, -1, -1, 102, 103, 104, 105, -1,
- -1, 108, 109, 44, 45, 46, -1, 48, 49, 50,
- 51, -1, -1, 54, -1, -1, -1, 58, 59, -1,
- -1, -1, -1, -1, 65, 66, 67, 68, -1, 70,
- 71, 72, 73, -1, -1, 76, -1, -1, -1, -1,
- -1, 82, -1, -1, 85, 86, -1, -1, -1, -1,
- -1, -1, 93, -1, 95, 96, -1, -1, 99, -1,
- -1, 102, 103, 104, 105, -1, -1, 108, 109, 44,
- 45, 46, -1, 48, 49, 50, 51, -1, -1, 54,
- -1, -1, -1, 58, 59, -1, -1, -1, -1, -1,
- 65, 66, 67, 68, -1, 70, 71, 72, 73, -1,
- -1, 76, -1, -1, -1, -1, -1, 82, -1, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, 93, -1,
- 95, 96, -1, -1, 99, -1, -1, 102, 103, 104,
- 105, -1, -1, 108, 109, 44, 45, 46, -1, 48,
- 49, 50, 51, -1, -1, 54, -1, -1, -1, 58,
- 59, -1, -1, -1, -1, -1, 65, 66, 67, 68,
- -1, 70, 71, 72, 73, -1, -1, 76, -1, -1,
- -1, -1, -1, 82, -1, -1, 85, 86, -1, -1,
- -1, -1, -1, -1, 93, -1, 95, 96, -1, -1,
- 99, -1, -1, 102, 103, 104, 105, -1, -1, 108,
- 109, 44, 45, 46, -1, 48, 49, 50, 51, -1,
- -1, 54, -1, -1, -1, 58, 59, -1, -1, -1,
- -1, -1, 65, 66, 67, 68, -1, 70, 71, 72,
- 73, -1, -1, 76, -1, -1, -1, -1, -1, 82,
- -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
- 93, -1, 95, 96, -1, -1, 99, -1, -1, 102,
- 103, 104, 105, -1, -1, 108, 109, 44, 45, 46,
- -1, 48, 49, 50, 51, -1, -1, 54, -1, -1,
- -1, 58, 59, -1, -1, -1, -1, -1, 65, 66,
- 67, 68, -1, 70, 71, 72, 73, -1, -1, 76,
- -1, -1, -1, -1, -1, 82, -1, -1, 85, 86,
- -1, -1, -1, -1, -1, -1, 93, -1, 95, 96,
- -1, -1, 99, -1, -1, 102, 103, 104, 105, -1,
- -1, 108, 109, 44, 45, 46, -1, 48, 49, 50,
- 51, -1, -1, 54, -1, -1, -1, 58, 59, -1,
- -1, -1, -1, -1, 65, 66, 67, 68, -1, 70,
- 71, 72, 73, -1, -1, 76, -1, -1, -1, -1,
- -1, 82, -1, -1, 85, 86, -1, -1, -1, -1,
- -1, -1, 93, -1, 95, -1, -1, -1, 99, -1,
- -1, 102, 103, 104, 105, -1, -1, 108, 109, 44,
- 45, 46, -1, 48, 49, 50, 51, -1, -1, 54,
- -1, -1, -1, 58, 59, -1, -1, -1, -1, -1,
- 65, 66, -1, 68, -1, 70, 71, 72, 73, -1,
- -1, 76, -1, -1, -1, -1, -1, 82, -1, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, 93, -1,
- 95, -1, -1, -1, 99, -1, -1, 102, 103, 104,
- 105, -1, -1, 108, 109, 44, 45, 46, -1, 48,
- 49, 50, 51, -1, -1, 54, -1, -1, -1, 58,
- 59, -1, -1, -1, -1, -1, 65, 66, -1, 68,
- -1, 70, 71, 72, 73, -1, -1, 76, -1, -1,
- -1, -1, -1, 82, -1, -1, 85, 86, -1, -1,
- -1, -1, -1, -1, 93, -1, 95, -1, -1, -1,
- 99, -1, -1, 102, 103, 104, 105, -1, -1, 108,
- 109, 44, 45, 46, -1, -1, -1, 50, -1, -1,
- -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
- -1, -1, 65, -1, -1, -1, -1, 45, 46, 72,
- -1, -1, 50, 76, -1, -1, -1, -1, -1, 82,
- -1, 59, 85, 86, -1, -1, -1, 65, -1, -1,
- 93, -1, -1, -1, 72, -1, -1, -1, 76, 102,
- 103, 104, 105, -1, 82, 108, 109, 85, 86, -1,
- -1, -1, -1, 50, -1, 93, -1, -1, -1, -1,
- -1, -1, 59, -1, 102, 103, 104, 105, 65, -1,
- 108, 109, -1, -1, -1, 72, -1, -1, -1, 76,
- -1, -1, -1, -1, -1, 82, -1, -1, 85, 86,
- -1, -1, 89, 90, -1, -1, 93, -1, -1, -1,
- -1, -1, -1, -1, -1, 102, 103, 104, 105, -1,
- -1, 108, 109
-};
-#define YYPURE 1
-
-/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/lib/bison.simple"
-/* This file comes from bison-1.28. */
-
-/* Skeleton output parser for bison,
- Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
-
- 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 2, 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., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
-
-/* 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. */
-
-#ifndef YYSTACK_USE_ALLOCA
-#ifdef alloca
-#define YYSTACK_USE_ALLOCA
-#else /* alloca not defined */
-#ifdef __GNUC__
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#else /* not GNU C. */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-#define YYSTACK_USE_ALLOCA
-#include <alloca.h>
-#else /* not sparc */
-/* We think this test detects Watcom and Microsoft C. */
-/* This used to test MSDOS, but that is a bad idea
- since that symbol is in the user namespace. */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-#if 0 /* No need for malloc.h, which pollutes the namespace;
- instead, just don't use alloca. */
-#include <malloc.h>
-#endif
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-/* I don't know what this was needed for, but it pollutes the namespace.
- So I turned it off. rms, 2 May 1997. */
-/* #include <malloc.h> */
- #pragma alloca
-#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
-#if 0
-#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
- and on HPUX 10. Eventually we can turn this on. */
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#endif /* __hpux */
-#endif
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc */
-#endif /* not GNU C */
-#endif /* alloca not defined */
-#endif /* YYSTACK_USE_ALLOCA not defined */
-
-#ifdef YYSTACK_USE_ALLOCA
-#define YYSTACK_ALLOC alloca
-#else
-#define YYSTACK_ALLOC malloc
-#endif
-
-/* 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 goto yyacceptlab
-#define YYABORT goto yyabortlab
-#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
-#ifdef YYLEX_PARAM
-#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX yylex(&yylval, &yylloc)
-#endif
-#else /* not YYLSP_NEEDED */
-#ifdef YYLEX_PARAM
-#define YYLEX yylex(&yylval, YYLEX_PARAM)
-#else
-#define YYLEX yylex(&yylval)
-#endif
-#endif /* not YYLSP_NEEDED */
-#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
-
-/* Define __yy_memcpy. Note that the size argument
- should be passed with type unsigned int, because that is what the non-GCC
- definitions require. With GCC, __builtin_memcpy takes an arg
- of type size_t, but it can handle unsigned int. */
-
-#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
-#define __yy_memcpy(TO,FROM,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_memcpy (to, from, count)
- char *to;
- char *from;
- unsigned 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_memcpy (char *to, char *from, unsigned int count)
-{
- register char *t = to;
- register char *f = from;
- register int i = count;
-
- while (i-- > 0)
- *t++ = *f++;
-}
-
-#endif
-#endif
-
-#line 217 "/usr/lib/bison.simple"
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
- into yyparse. The argument should have type void *.
- It should actually point to an object.
- Grammar actions can access the variable by casting it
- to the proper pointer type. */
-
-#ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes. */
-#ifdef __GNUC__
-#ifdef YYPARSE_PARAM
-int yyparse (void *);
-#else
-int yyparse (void);
-#endif
-#endif
-
-int
-yyparse(YYPARSE_PARAM_ARG)
- YYPARSE_PARAM_DECL
-{
- 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;
- int yyfree_stacks = 0;
-
-#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");
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 2;
- }
- yystacksize *= 2;
- if (yystacksize > YYMAXDEPTH)
- yystacksize = YYMAXDEPTH;
-#ifndef YYSTACK_USE_ALLOCA
- yyfree_stacks = 1;
-#endif
- yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
- __yy_memcpy ((char *)yyss, (char *)yyss1,
- size * (unsigned int) sizeof (*yyssp));
- yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
- __yy_memcpy ((char *)yyvs, (char *)yyvs1,
- size * (unsigned int) sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
- yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
- __yy_memcpy ((char *)yyls, (char *)yyls1,
- size * (unsigned int) 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 10:
-#line 203 "./parse-scan.y"
-{
- /* use preset global here. FIXME */
- yyval.node = xstrdup ("int");
- ;
- break;}
-case 11:
-#line 208 "./parse-scan.y"
-{
- /* use preset global here. FIXME */
- yyval.node = xstrdup ("double");
- ;
- break;}
-case 12:
-#line 213 "./parse-scan.y"
-{
- /* use preset global here. FIXME */
- yyval.node = xstrdup ("boolean");
- ;
- break;}
-case 19:
-#line 239 "./parse-scan.y"
-{
- yyval.node = concat ("[", yyvsp[-2].node, NULL);
- ;
- break;}
-case 20:
-#line 243 "./parse-scan.y"
-{
- yyval.node = concat ("[", yyvsp[-2].node, NULL);
- ;
- break;}
-case 24:
-#line 260 "./parse-scan.y"
-{
- yyval.node = concat (yyvsp[-2].node, ".", yyvsp[0].node, NULL);
- ;
- break;}
-case 38:
-#line 292 "./parse-scan.y"
-{ package_name = yyvsp[-1].node; ;
- break;}
-case 46:
-#line 319 "./parse-scan.y"
-{
- if (yyvsp[0].value == PUBLIC_TK)
- modifier_value++;
- if (yyvsp[0].value == STATIC_TK)
- modifier_value++;
- USE_ABSORBER;
- ;
- break;}
-case 47:
-#line 327 "./parse-scan.y"
-{
- if (yyvsp[0].value == PUBLIC_TK)
- modifier_value++;
- if (yyvsp[0].value == STATIC_TK)
- modifier_value++;
- USE_ABSORBER;
- ;
- break;}
-case 48:
-#line 339 "./parse-scan.y"
-{
- report_class_declaration(yyvsp[-2].node);
- modifier_value = 0;
- ;
- break;}
-case 50:
-#line 345 "./parse-scan.y"
-{ report_class_declaration(yyvsp[-2].node); ;
- break;}
-case 56:
-#line 359 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 57:
-#line 361 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 58:
-#line 366 "./parse-scan.y"
-{ pop_class_context (); ;
- break;}
-case 59:
-#line 368 "./parse-scan.y"
-{ pop_class_context (); ;
- break;}
-case 70:
-#line 393 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 71:
-#line 395 "./parse-scan.y"
-{ modifier_value = 0; ;
- break;}
-case 76:
-#line 411 "./parse-scan.y"
-{ bracket_count = 0; USE_ABSORBER; ;
- break;}
-case 77:
-#line 413 "./parse-scan.y"
-{ ++bracket_count; ;
- break;}
-case 81:
-#line 428 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 83:
-#line 431 "./parse-scan.y"
-{ modifier_value = 0; ;
- break;}
-case 84:
-#line 433 "./parse-scan.y"
-{
- report_main_declaration (yyvsp[-1].declarator);
- modifier_value = 0;
- ;
- break;}
-case 85:
-#line 441 "./parse-scan.y"
-{
- struct method_declarator *d;
- NEW_METHOD_DECLARATOR (d, yyvsp[-2].node, NULL);
- yyval.declarator = d;
- ;
- break;}
-case 86:
-#line 447 "./parse-scan.y"
-{
- struct method_declarator *d;
- NEW_METHOD_DECLARATOR (d, yyvsp[-3].node, yyvsp[-1].node);
- yyval.declarator = d;
- ;
- break;}
-case 89:
-#line 458 "./parse-scan.y"
-{
- yyval.node = concat (yyvsp[-2].node, ",", yyvsp[0].node, NULL);
- ;
- break;}
-case 90:
-#line 465 "./parse-scan.y"
-{
- USE_ABSORBER;
- if (bracket_count)
- {
- int i;
- char *n = xmalloc (bracket_count + 1 + strlen (yyval.node));
- for (i = 0; i < bracket_count; ++i)
- n[i] = '[';
- strcpy (n + bracket_count, yyval.node);
- yyval.node = n;
- }
- else
- yyval.node = yyvsp[-1].node;
- ;
- break;}
-case 91:
-#line 480 "./parse-scan.y"
-{
- if (bracket_count)
- {
- int i;
- char *n = xmalloc (bracket_count + 1 + strlen (yyval.node));
- for (i = 0; i < bracket_count; ++i)
- n[i] = '[';
- strcpy (n + bracket_count, yyval.node);
- yyval.node = n;
- }
- else
- yyval.node = yyvsp[-1].node;
- ;
- break;}
-case 94:
-#line 501 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 95:
-#line 503 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 101:
-#line 520 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 103:
-#line 531 "./parse-scan.y"
-{ modifier_value = 0; ;
- break;}
-case 105:
-#line 536 "./parse-scan.y"
-{ modifier_value = 0; ;
- break;}
-case 106:
-#line 543 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 107:
-#line 545 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 114:
-#line 562 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 115:
-#line 564 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 118:
-#line 576 "./parse-scan.y"
-{ report_class_declaration (yyvsp[0].node); modifier_value = 0; ;
- break;}
-case 120:
-#line 579 "./parse-scan.y"
-{ report_class_declaration (yyvsp[0].node); modifier_value = 0; ;
- break;}
-case 122:
-#line 582 "./parse-scan.y"
-{ report_class_declaration (yyvsp[-1].node); modifier_value = 0; ;
- break;}
-case 124:
-#line 585 "./parse-scan.y"
-{ report_class_declaration (yyvsp[-1].node); modifier_value = 0; ;
- break;}
-case 128:
-#line 596 "./parse-scan.y"
-{ pop_class_context (); ;
- break;}
-case 129:
-#line 598 "./parse-scan.y"
-{ pop_class_context (); ;
- break;}
-case 152:
-#line 657 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 153:
-#line 659 "./parse-scan.y"
-{ modifier_value = 0; ;
- break;}
-case 177:
-#line 699 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 230:
-#line 846 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 247:
-#line 886 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 248:
-#line 888 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 250:
-#line 894 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 259:
-#line 916 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 277:
-#line 958 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 278:
-#line 960 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 283:
-#line 969 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 286:
-#line 976 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-case 341:
-#line 1095 "./parse-scan.y"
-{ USE_ABSORBER; ;
- break;}
-}
- /* the action file gets copied in in place of this dollarsign */
-#line 543 "/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;
-
- yyacceptlab:
- /* YYACCEPT comes here. */
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 0;
-
- yyabortlab:
- /* YYABORT comes here. */
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 1;
-}
-#line 1113 "./parse-scan.y"
-
-
-/* Create a new parser context */
-
-void
-java_push_parser_context ()
-{
- struct parser_ctxt *new =
- (struct parser_ctxt *) xcalloc (1, sizeof (struct parser_ctxt));
-
- new->next = ctxp;
- ctxp = new;
-}
-
-static void
-push_class_context (name)
- const char *name;
-{
- size_t name_length = strlen (name);
- inner_qualifier = xrealloc (inner_qualifier,
- inner_qualifier_length + name_length+2);
- memcpy (inner_qualifier+inner_qualifier_length, name, name_length);
- inner_qualifier_length += name_length;
- inner_qualifier [inner_qualifier_length] = '$';
- inner_qualifier [++inner_qualifier_length] = '\0';
-}
-
-static void
-pop_class_context ()
-{
- while (--inner_qualifier_length > 0
- && inner_qualifier [inner_qualifier_length-1] != '$')
- ;
- inner_qualifier = xrealloc (inner_qualifier, inner_qualifier_length+1);
- if (inner_qualifier_length == -1)
- inner_qualifier_length = 0;
- inner_qualifier [inner_qualifier_length] = '\0';
-}
-
-/* Actions defined here */
-#define INNER_QUALIFIER (inner_qualifier ? inner_qualifier : "")
-
-static void
-report_class_declaration (name)
- const char * name;
-{
- extern int flag_dump_class, flag_list_filename;
-
- if (flag_dump_class)
- {
- if (!previous_output)
- {
- if (flag_list_filename)
- fprintf (out, "%s: ", input_filename);
- previous_output = 1;
- }
-
- if (package_name)
- fprintf (out, "%s.%s%s ", package_name, INNER_QUALIFIER, name);
- else
- fprintf (out, "%s%s ", INNER_QUALIFIER, name);
- }
-
- push_class_context (name);
- current_class = name;
-}
-
-static void
-report_main_declaration (declarator)
- struct method_declarator *declarator;
-{
- extern int flag_find_main;
-
- if (flag_find_main
- && modifier_value == 2
- && !strcmp (declarator->method_name, "main")
- && declarator->args
- && declarator->args [0] == '['
- && (! strcmp (declarator->args+1, "String")
- || ! strcmp (declarator->args + 1, "java.lang.String"))
- && current_class)
- {
- if (!previous_output)
- {
- if (package_name)
- fprintf (out, "%s.%s ", package_name, current_class);
- else
- fprintf (out, "%s", current_class);
- previous_output = 1;
- }
- }
-}
-
-/* Reset global status used by the report functions. */
-
-void reset_report ()
-{
- previous_output = 0;
- current_class = package_name = NULL;
-}
-
-void
-yyerror (msg)
- const char *msg ATTRIBUTE_UNUSED;
-{
- fprintf (stderr, "%s: %d: %s\n", input_filename, lineno, msg);
- exit (1);
-}
diff --git a/gcc/objc/objc-parse.c b/gcc/objc/objc-parse.c
deleted file mode 100644
index ed1eb18..0000000
--- a/gcc/objc/objc-parse.c
+++ /dev/null
@@ -1,5102 +0,0 @@
-
-/* A Bison parser, made from objc-parse.y
- by GNU Bison version 1.28 */
-
-#define YYBISON 1 /* Identify Bison output. */
-
-#define IDENTIFIER 257
-#define TYPENAME 258
-#define SCSPEC 259
-#define TYPESPEC 260
-#define TYPE_QUAL 261
-#define CONSTANT 262
-#define STRING 263
-#define ELLIPSIS 264
-#define SIZEOF 265
-#define ENUM 266
-#define STRUCT 267
-#define UNION 268
-#define IF 269
-#define ELSE 270
-#define WHILE 271
-#define DO 272
-#define FOR 273
-#define SWITCH 274
-#define CASE 275
-#define DEFAULT 276
-#define BREAK 277
-#define CONTINUE 278
-#define RETURN 279
-#define GOTO 280
-#define ASM_KEYWORD 281
-#define TYPEOF 282
-#define ALIGNOF 283
-#define ATTRIBUTE 284
-#define EXTENSION 285
-#define LABEL 286
-#define REALPART 287
-#define IMAGPART 288
-#define VA_ARG 289
-#define PTR_VALUE 290
-#define PTR_BASE 291
-#define PTR_EXTENT 292
-#define END_OF_LINE 293
-#define ASSIGN 294
-#define OROR 295
-#define ANDAND 296
-#define EQCOMPARE 297
-#define ARITHCOMPARE 298
-#define LSHIFT 299
-#define RSHIFT 300
-#define UNARY 301
-#define PLUSPLUS 302
-#define MINUSMINUS 303
-#define HYPERUNARY 304
-#define POINTSAT 305
-#define INTERFACE 306
-#define IMPLEMENTATION 307
-#define END 308
-#define SELECTOR 309
-#define DEFS 310
-#define ENCODE 311
-#define CLASSNAME 312
-#define PUBLIC 313
-#define PRIVATE 314
-#define PROTECTED 315
-#define PROTOCOL 316
-#define OBJECTNAME 317
-#define CLASS 318
-#define ALIAS 319
-#define OBJC_STRING 320
-
-#line 34 "objc-parse.y"
-
-#include "config.h"
-#include "system.h"
-#include <setjmp.h>
-#include "tree.h"
-#include "input.h"
-#include "c-lex.h"
-#include "c-tree.h"
-#include "flags.h"
-#include "output.h"
-#include "toplev.h"
-#include "ggc.h"
-
-#ifdef MULTIBYTE_CHARS
-#include <locale.h>
-#endif
-
-#include "objc-act.h"
-
-/* Since parsers are distinct for each language, put the language string
- definition here. */
-const char * const language_string = "GNU Obj-C";
-
-/* Like YYERROR but do call yyerror. */
-#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
-
-/* Cause the `yydebug' variable to be defined. */
-#define YYDEBUG 1
-
-#line 66 "objc-parse.y"
-typedef union {long itype; tree ttype; enum tree_code code;
- const char *filename; int lineno; int ends_in_label; } YYSTYPE;
-#line 198 "objc-parse.y"
-
-/* Number of statements (loosely speaking) and compound statements
- seen so far. */
-static int stmt_count;
-static int compstmt_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 const char *if_stmt_file;
-static int if_stmt_line;
-
-/* List of types and structure classes of the current declaration. */
-static tree current_declspecs = NULL_TREE;
-static tree prefix_attributes = NULL_TREE;
-
-/* Stack of saved values of current_declspecs and prefix_attributes. */
-static tree declspec_stack;
-
-/* For __extension__, save/restore the warning flags which are
- controlled by __extension__. */
-#define SAVE_WARN_FLAGS() \
- size_int (pedantic | (warn_pointer_arith << 1))
-#define RESTORE_WARN_FLAGS(tval) \
- do { \
- int val = tree_low_cst (tval, 0); \
- pedantic = val & 1; \
- warn_pointer_arith = (val >> 1) & 1; \
- } while (0)
-
-/* Objective-C specific information */
-
-tree objc_interface_context;
-tree objc_implementation_context;
-tree objc_method_context;
-tree objc_ivar_chain;
-tree objc_ivar_context;
-enum tree_code objc_inherit_code;
-int objc_receiver_context;
-int objc_public_flag;
-
-
-/* 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 PARAMS ((FILE *, int, YYSTYPE));
-
-/* Add GC roots for variables local to this file. */
-void
-c_parse_init ()
-{
- ggc_add_tree_root (&declspec_stack, 1);
- ggc_add_tree_root (&current_declspecs, 1);
- ggc_add_tree_root (&prefix_attributes, 1);
- ggc_add_tree_root (&objc_interface_context, 1);
- ggc_add_tree_root (&objc_implementation_context, 1);
- ggc_add_tree_root (&objc_method_context, 1);
- ggc_add_tree_root (&objc_ivar_chain, 1);
- ggc_add_tree_root (&objc_ivar_context, 1);
-}
-
-#include <stdio.h>
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
-#endif
-
-
-
-#define YYFINAL 969
-#define YYFLAG -32768
-#define YYNTBASE 89
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 320 ? yytranslate[x] : 317)
-
-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, 85, 2, 2, 2, 57, 48, 2, 64,
- 81, 55, 53, 86, 54, 63, 56, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 43, 82, 2,
- 41, 2, 42, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 65, 2, 88, 47, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 87, 46, 83, 84, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 44, 45, 49, 50, 51, 52,
- 58, 59, 60, 61, 62, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80
-};
-
-#if YYDEBUG != 0
-static const short yyprhs[] = { 0,
- 0, 1, 3, 4, 7, 8, 12, 14, 16, 18,
- 24, 27, 31, 36, 41, 44, 47, 50, 53, 55,
- 56, 57, 65, 70, 71, 72, 80, 85, 86, 87,
- 94, 98, 100, 102, 104, 106, 108, 110, 112, 114,
- 116, 118, 120, 122, 123, 125, 127, 131, 133, 136,
- 139, 142, 145, 148, 153, 156, 161, 164, 167, 174,
- 176, 178, 180, 185, 186, 194, 196, 200, 204, 208,
- 212, 216, 220, 224, 228, 232, 236, 240, 244, 245,
- 250, 251, 256, 257, 258, 266, 267, 273, 277, 281,
- 283, 285, 287, 291, 295, 299, 303, 308, 313, 317,
- 321, 324, 327, 329, 331, 333, 335, 337, 339, 342,
- 344, 347, 348, 350, 353, 357, 359, 361, 364, 367,
- 372, 377, 380, 383, 387, 389, 391, 394, 397, 398,
- 399, 404, 409, 413, 417, 420, 423, 426, 429, 433,
- 434, 437, 440, 443, 446, 450, 451, 454, 457, 459,
- 461, 464, 467, 469, 471, 474, 477, 480, 484, 485,
- 488, 490, 492, 494, 497, 500, 502, 507, 512, 514,
- 516, 518, 520, 524, 526, 530, 531, 536, 537, 544,
- 548, 549, 556, 560, 561, 563, 565, 568, 575, 577,
- 581, 582, 584, 589, 596, 601, 603, 605, 607, 609,
- 611, 612, 617, 619, 620, 623, 625, 629, 633, 636,
- 637, 642, 644, 645, 650, 652, 654, 656, 659, 662,
- 663, 664, 670, 671, 672, 678, 680, 682, 686, 690,
- 695, 699, 703, 707, 709, 711, 715, 720, 724, 728,
- 732, 734, 738, 742, 746, 751, 755, 759, 761, 763,
- 766, 768, 771, 773, 776, 777, 785, 791, 794, 795,
- 803, 809, 812, 813, 822, 823, 831, 834, 835, 837,
- 838, 840, 842, 845, 846, 850, 853, 858, 862, 868,
- 872, 874, 876, 879, 881, 885, 890, 897, 903, 905,
- 909, 911, 913, 917, 920, 923, 924, 926, 928, 931,
- 932, 935, 939, 943, 946, 950, 955, 959, 962, 966,
- 969, 973, 975, 977, 980, 983, 984, 986, 989, 990,
- 991, 993, 995, 998, 1002, 1004, 1007, 1009, 1011, 1017,
- 1022, 1027, 1030, 1033, 1036, 1039, 1044, 1045, 1050, 1051,
- 1052, 1056, 1061, 1065, 1067, 1069, 1071, 1073, 1076, 1077,
- 1082, 1084, 1088, 1089, 1090, 1098, 1104, 1107, 1108, 1109,
- 1110, 1123, 1124, 1131, 1134, 1137, 1140, 1144, 1151, 1160,
- 1171, 1184, 1188, 1193, 1195, 1197, 1198, 1205, 1209, 1215,
- 1218, 1222, 1223, 1225, 1226, 1228, 1229, 1231, 1233, 1237,
- 1242, 1244, 1248, 1249, 1252, 1255, 1256, 1261, 1264, 1265,
- 1267, 1269, 1273, 1275, 1279, 1284, 1289, 1294, 1299, 1304,
- 1305, 1308, 1310, 1313, 1315, 1319, 1321, 1325, 1327, 1329,
- 1331, 1333, 1335, 1337, 1339, 1341, 1345, 1349, 1354, 1355,
- 1356, 1367, 1368, 1375, 1376, 1377, 1390, 1391, 1400, 1401,
- 1408, 1411, 1412, 1421, 1426, 1427, 1437, 1443, 1444, 1451,
- 1452, 1454, 1458, 1462, 1464, 1466, 1468, 1470, 1471, 1475,
- 1478, 1482, 1486, 1488, 1489, 1491, 1495, 1497, 1501, 1504,
- 1505, 1506, 1507, 1515, 1516, 1517, 1518, 1526, 1527, 1528,
- 1531, 1533, 1535, 1538, 1539, 1543, 1545, 1547, 1548, 1549,
- 1555, 1556, 1557, 1563, 1568, 1570, 1576, 1579, 1580, 1583,
- 1584, 1586, 1588, 1590, 1593, 1596, 1601, 1604, 1607, 1609,
- 1613, 1616, 1619, 1622, 1623, 1626, 1627, 1631, 1633, 1635,
- 1638, 1640, 1642, 1644, 1646, 1648, 1650, 1652, 1654, 1656,
- 1658, 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, 1676,
- 1678, 1680, 1682, 1684, 1686, 1688, 1695, 1699, 1705, 1708,
- 1710, 1712, 1714, 1717, 1719, 1723, 1726, 1728, 1730, 1731,
- 1732, 1739, 1741, 1743, 1745, 1748, 1751, 1753, 1758, 1763
-};
-
-static const short yyrhs[] = { -1,
- 90, 0, 0, 91, 93, 0, 0, 90, 92, 93,
- 0, 95, 0, 94, 0, 248, 0, 27, 64, 104,
- 81, 82, 0, 247, 93, 0, 127, 141, 82, 0,
- 134, 127, 141, 82, 0, 130, 127, 140, 82, 0,
- 134, 82, 0, 130, 82, 0, 1, 82, 0, 1,
- 83, 0, 82, 0, 0, 0, 130, 127, 169, 96,
- 121, 97, 203, 0, 130, 127, 169, 1, 0, 0,
- 0, 134, 127, 172, 98, 121, 99, 203, 0, 134,
- 127, 172, 1, 0, 0, 0, 127, 172, 100, 121,
- 101, 203, 0, 127, 172, 1, 0, 3, 0, 4,
- 0, 77, 0, 72, 0, 48, 0, 54, 0, 53,
- 0, 59, 0, 60, 0, 84, 0, 85, 0, 106,
- 0, 0, 106, 0, 112, 0, 106, 86, 112, 0,
- 118, 0, 55, 110, 0, 247, 110, 0, 103, 110,
- 0, 45, 102, 0, 108, 107, 0, 108, 64, 190,
- 81, 0, 109, 107, 0, 109, 64, 190, 81, 0,
- 33, 110, 0, 34, 110, 0, 35, 64, 112, 86,
- 190, 81, 0, 11, 0, 29, 0, 107, 0, 64,
- 190, 81, 110, 0, 0, 64, 190, 81, 87, 111,
- 155, 83, 0, 110, 0, 112, 53, 112, 0, 112,
- 54, 112, 0, 112, 55, 112, 0, 112, 56, 112,
- 0, 112, 57, 112, 0, 112, 51, 112, 0, 112,
- 52, 112, 0, 112, 50, 112, 0, 112, 49, 112,
- 0, 112, 48, 112, 0, 112, 46, 112, 0, 112,
- 47, 112, 0, 0, 112, 45, 113, 112, 0, 0,
- 112, 44, 114, 112, 0, 0, 0, 112, 42, 115,
- 104, 43, 116, 112, 0, 0, 112, 42, 117, 43,
- 112, 0, 112, 41, 112, 0, 112, 40, 112, 0,
- 3, 0, 8, 0, 119, 0, 64, 104, 81, 0,
- 64, 1, 81, 0, 206, 205, 81, 0, 206, 1,
- 81, 0, 118, 64, 105, 81, 0, 118, 65, 104,
- 88, 0, 118, 63, 102, 0, 118, 62, 102, 0,
- 118, 59, 0, 118, 60, 0, 308, 0, 314, 0,
- 315, 0, 316, 0, 120, 0, 9, 0, 119, 9,
- 0, 80, 0, 120, 80, 0, 0, 123, 0, 123,
- 10, 0, 212, 213, 124, 0, 122, 0, 198, 0,
- 123, 122, 0, 122, 198, 0, 132, 127, 140, 82,
- 0, 135, 127, 141, 82, 0, 132, 82, 0, 135,
- 82, 0, 212, 213, 129, 0, 125, 0, 198, 0,
- 126, 125, 0, 125, 198, 0, 0, 0, 130, 127,
- 140, 82, 0, 134, 127, 141, 82, 0, 130, 127,
- 163, 0, 134, 127, 166, 0, 130, 82, 0, 134,
- 82, 0, 247, 129, 0, 138, 131, 0, 134, 138,
- 131, 0, 0, 131, 139, 0, 131, 5, 0, 131,
- 148, 0, 138, 133, 0, 135, 138, 133, 0, 0,
- 133, 139, 0, 133, 5, 0, 135, 0, 148, 0,
- 134, 135, 0, 134, 148, 0, 7, 0, 5, 0,
- 135, 7, 0, 135, 5, 0, 138, 137, 0, 192,
- 138, 137, 0, 0, 137, 139, 0, 6, 0, 176,
- 0, 4, 0, 72, 264, 0, 77, 264, 0, 265,
- 0, 28, 64, 104, 81, 0, 28, 64, 190, 81,
- 0, 6, 0, 7, 0, 176, 0, 143, 0, 140,
- 86, 143, 0, 145, 0, 141, 86, 143, 0, 0,
- 27, 64, 119, 81, 0, 0, 169, 142, 147, 41,
- 144, 153, 0, 169, 142, 147, 0, 0, 172, 142,
- 147, 41, 146, 153, 0, 172, 142, 147, 0, 0,
- 148, 0, 149, 0, 148, 149, 0, 30, 64, 64,
- 150, 81, 81, 0, 151, 0, 150, 86, 151, 0,
- 0, 152, 0, 152, 64, 3, 81, 0, 152, 64,
- 3, 86, 106, 81, 0, 152, 64, 105, 81, 0,
- 102, 0, 5, 0, 6, 0, 7, 0, 112, 0,
- 0, 87, 154, 155, 83, 0, 1, 0, 0, 156,
- 181, 0, 157, 0, 156, 86, 157, 0, 161, 41,
- 159, 0, 162, 159, 0, 0, 102, 43, 158, 159,
- 0, 159, 0, 0, 87, 160, 155, 83, 0, 112,
- 0, 1, 0, 162, 0, 161, 162, 0, 63, 102,
- 0, 0, 0, 169, 164, 121, 165, 207, 0, 0,
- 0, 172, 167, 121, 168, 207, 0, 170, 0, 172,
- 0, 64, 170, 81, 0, 170, 64, 242, 0, 170,
- 65, 104, 88, 0, 170, 65, 88, 0, 55, 193,
- 170, 0, 148, 128, 170, 0, 4, 0, 77, 0,
- 171, 64, 242, 0, 171, 65, 104, 88, 0, 171,
- 65, 88, 0, 55, 193, 171, 0, 148, 128, 171,
- 0, 4, 0, 172, 64, 242, 0, 64, 172, 81,
- 0, 55, 193, 172, 0, 172, 65, 104, 88, 0,
- 172, 65, 88, 0, 148, 128, 172, 0, 3, 0,
- 13, 0, 13, 148, 0, 14, 0, 14, 148, 0,
- 12, 0, 12, 148, 0, 0, 173, 102, 87, 177,
- 183, 83, 147, 0, 173, 87, 183, 83, 147, 0,
- 173, 102, 0, 0, 174, 102, 87, 178, 183, 83,
- 147, 0, 174, 87, 183, 83, 147, 0, 174, 102,
- 0, 0, 175, 102, 87, 179, 188, 182, 83, 147,
- 0, 0, 175, 87, 180, 188, 182, 83, 147, 0,
- 175, 102, 0, 0, 86, 0, 0, 86, 0, 184,
- 0, 184, 185, 0, 0, 184, 185, 82, 0, 184,
- 82, 0, 70, 64, 72, 81, 0, 136, 127, 186,
- 0, 136, 127, 212, 213, 147, 0, 192, 127, 186,
- 0, 192, 0, 1, 0, 247, 185, 0, 187, 0,
- 186, 86, 187, 0, 212, 213, 169, 147, 0, 212,
- 213, 169, 43, 112, 147, 0, 212, 213, 43, 112,
- 147, 0, 189, 0, 188, 86, 189, 0, 1, 0,
- 102, 0, 102, 41, 112, 0, 136, 191, 0, 192,
- 191, 0, 0, 194, 0, 7, 0, 192, 7, 0,
- 0, 193, 7, 0, 64, 194, 81, 0, 55, 193,
- 194, 0, 55, 193, 0, 194, 64, 235, 0, 194,
- 65, 104, 88, 0, 194, 65, 88, 0, 64, 235,
- 0, 65, 104, 88, 0, 65, 88, 0, 148, 128,
- 194, 0, 196, 0, 215, 0, 196, 215, 0, 196,
- 198, 0, 0, 195, 0, 1, 82, 0, 0, 0,
- 201, 0, 202, 0, 201, 202, 0, 32, 246, 82,
- 0, 207, 0, 1, 207, 0, 87, 0, 83, 0,
- 199, 200, 126, 197, 83, 0, 199, 200, 1, 83,
- 0, 199, 200, 195, 83, 0, 64, 87, 0, 204,
- 205, 0, 209, 214, 0, 209, 1, 0, 15, 64,
- 104, 81, 0, 0, 18, 211, 214, 17, 0, 0,
- 0, 212, 213, 217, 0, 212, 213, 228, 214, 0,
- 212, 213, 216, 0, 217, 0, 228, 0, 207, 0,
- 225, 0, 104, 82, 0, 0, 208, 16, 218, 214,
- 0, 208, 0, 208, 16, 1, 0, 0, 0, 17,
- 219, 64, 104, 81, 220, 214, 0, 210, 64, 104,
- 81, 82, 0, 210, 1, 0, 0, 0, 0, 19,
- 64, 230, 82, 221, 230, 82, 222, 230, 81, 223,
- 214, 0, 0, 20, 64, 104, 81, 224, 214, 0,
- 23, 82, 0, 24, 82, 0, 25, 82, 0, 25,
- 104, 82, 0, 27, 229, 64, 104, 81, 82, 0,
- 27, 229, 64, 104, 43, 231, 81, 82, 0, 27,
- 229, 64, 104, 43, 231, 43, 231, 81, 82, 0,
- 27, 229, 64, 104, 43, 231, 43, 231, 43, 234,
- 81, 82, 0, 26, 102, 82, 0, 26, 55, 104,
- 82, 0, 82, 0, 226, 0, 0, 19, 64, 118,
- 81, 227, 214, 0, 21, 112, 43, 0, 21, 112,
- 10, 112, 43, 0, 22, 43, 0, 102, 43, 147,
- 0, 0, 7, 0, 0, 104, 0, 0, 232, 0,
- 233, 0, 232, 86, 233, 0, 9, 64, 104, 81,
- 0, 119, 0, 234, 86, 119, 0, 0, 236, 237,
- 0, 239, 81, 0, 0, 240, 82, 238, 237, 0,
- 1, 81, 0, 0, 10, 0, 240, 0, 240, 86,
- 10, 0, 241, 0, 240, 86, 241, 0, 130, 127,
- 171, 147, 0, 130, 127, 172, 147, 0, 130, 127,
- 191, 147, 0, 134, 127, 172, 147, 0, 134, 127,
- 191, 147, 0, 0, 243, 244, 0, 237, 0, 245,
- 81, 0, 3, 0, 245, 86, 3, 0, 102, 0,
- 246, 86, 102, 0, 31, 0, 252, 0, 250, 0,
- 251, 0, 262, 0, 272, 0, 68, 0, 102, 0,
- 249, 86, 102, 0, 78, 249, 82, 0, 79, 102,
- 102, 82, 0, 0, 0, 66, 102, 264, 87, 253,
- 266, 83, 254, 279, 68, 0, 0, 66, 102, 264,
- 255, 279, 68, 0, 0, 0, 66, 102, 43, 102,
- 264, 87, 256, 266, 83, 257, 279, 68, 0, 0,
- 66, 102, 43, 102, 264, 258, 279, 68, 0, 0,
- 67, 102, 87, 259, 266, 83, 0, 67, 102, 0,
- 0, 67, 102, 43, 102, 87, 260, 266, 83, 0,
- 67, 102, 43, 102, 0, 0, 66, 102, 64, 102,
- 81, 264, 261, 279, 68, 0, 67, 102, 64, 102,
- 81, 0, 0, 76, 102, 264, 263, 279, 68, 0,
- 0, 265, 0, 50, 249, 50, 0, 266, 267, 268,
- 0, 268, 0, 74, 0, 75, 0, 73, 0, 0,
- 268, 269, 82, 0, 268, 82, 0, 136, 127, 270,
- 0, 192, 127, 270, 0, 1, 0, 0, 271, 0,
- 270, 86, 271, 0, 169, 0, 169, 43, 112, 0,
- 43, 112, 0, 0, 0, 0, 53, 273, 289, 274,
- 290, 275, 203, 0, 0, 0, 0, 54, 276, 289,
- 277, 290, 278, 203, 0, 0, 0, 280, 281, 0,
- 284, 0, 94, 0, 281, 284, 0, 0, 281, 282,
- 94, 0, 82, 0, 1, 0, 0, 0, 53, 285,
- 289, 286, 283, 0, 0, 0, 54, 287, 289, 288,
- 283, 0, 64, 190, 81, 298, 0, 298, 0, 64,
- 190, 81, 299, 296, 0, 299, 296, 0, 0, 82,
- 291, 0, 0, 292, 0, 293, 0, 198, 0, 292,
- 293, 0, 293, 198, 0, 130, 127, 294, 82, 0,
- 130, 82, 0, 134, 82, 0, 295, 0, 294, 86,
- 295, 0, 171, 147, 0, 172, 147, 0, 191, 147,
- 0, 0, 86, 10, 0, 0, 86, 297, 239, 0,
- 300, 0, 302, 0, 299, 302, 0, 3, 0, 4,
- 0, 77, 0, 301, 0, 12, 0, 13, 0, 14,
- 0, 15, 0, 16, 0, 17, 0, 18, 0, 19,
- 0, 20, 0, 21, 0, 22, 0, 23, 0, 24,
- 0, 25, 0, 26, 0, 27, 0, 11, 0, 28,
- 0, 29, 0, 6, 0, 7, 0, 300, 43, 64,
- 190, 81, 102, 0, 300, 43, 102, 0, 43, 64,
- 190, 81, 102, 0, 43, 102, 0, 300, 0, 304,
- 0, 306, 0, 304, 306, 0, 106, 0, 300, 43,
- 305, 0, 43, 305, 0, 104, 0, 72, 0, 0,
- 0, 65, 309, 307, 310, 303, 88, 0, 300, 0,
- 312, 0, 313, 0, 312, 313, 0, 300, 43, 0,
- 43, 0, 69, 64, 311, 81, 0, 76, 64, 102,
- 81, 0, 71, 64, 190, 81, 0
-};
-
-#endif
-
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
- 261, 266, 280, 282, 282, 283, 285, 287, 288, 289,
- 297, 301, 311, 315, 319, 321, 323, 324, 325, 330,
- 337, 339, 343, 347, 353, 355, 359, 363, 369, 371,
- 375, 381, 383, 384, 385, 388, 390, 392, 394, 396,
- 398, 400, 404, 408, 411, 414, 417, 421, 423, 426,
- 429, 433, 461, 467, 470, 473, 476, 478, 480, 484,
- 488, 492, 494, 497, 501, 528, 530, 532, 534, 536,
- 538, 540, 542, 544, 546, 548, 550, 552, 554, 558,
- 560, 564, 566, 569, 573, 575, 582, 585, 593, 604,
- 611, 612, 614, 620, 622, 645, 654, 656, 658, 670,
- 684, 686, 688, 690, 692, 694, 696, 701, 703, 710,
- 712, 716, 718, 719, 729, 734, 736, 737, 738, 745,
- 750, 754, 757, 765, 770, 772, 773, 774, 781, 791,
- 795, 800, 804, 808, 812, 814, 816, 825, 828, 832,
- 834, 836, 841, 845, 848, 852, 855, 857, 869, 872,
- 874, 876, 880, 884, 886, 889, 902, 905, 909, 911,
- 919, 920, 921, 925, 927, 932, 934, 936, 942, 943,
- 944, 947, 949, 952, 954, 957, 960, 966, 973, 975,
- 982, 989, 992, 999, 1002, 1006, 1009, 1013, 1018, 1021,
- 1025, 1028, 1030, 1032, 1034, 1041, 1043, 1044, 1045, 1050,
- 1052, 1054, 1056, 1061, 1065, 1068, 1070, 1075, 1077, 1078,
- 1081, 1081, 1084, 1087, 1089, 1091, 1094, 1096, 1099, 1107,
- 1121, 1129, 1133, 1147, 1155, 1162, 1164, 1169, 1172, 1177,
- 1179, 1181, 1188, 1190, 1191, 1199, 1205, 1207, 1209, 1216,
- 1218, 1224, 1230, 1232, 1234, 1236, 1243, 1245, 1248, 1251,
- 1255, 1258, 1262, 1265, 1269, 1274, 1276, 1280, 1282, 1284,
- 1286, 1290, 1292, 1294, 1297, 1299, 1302, 1306, 1308, 1311,
- 1313, 1318, 1321, 1326, 1328, 1330, 1334, 1358, 1364, 1377,
- 1382, 1387, 1389, 1394, 1396, 1400, 1404, 1408, 1418, 1420,
- 1425, 1430, 1433, 1437, 1440, 1444, 1447, 1450, 1453, 1457,
- 1460, 1464, 1468, 1470, 1472, 1474, 1476, 1478, 1480, 1482,
- 1486, 1494, 1502, 1504, 1506, 1510, 1512, 1515, 1518, 1530,
- 1532, 1537, 1539, 1542, 1556, 1559, 1562, 1564, 1566, 1570,
- 1574, 1580, 1598, 1603, 1608, 1611, 1625, 1634, 1638, 1642,
- 1646, 1652, 1656, 1661, 1664, 1669, 1672, 1673, 1689, 1694,
- 1697, 1709, 1711, 1721, 1731, 1732, 1739, 1741, 1753, 1757,
- 1771, 1777, 1783, 1784, 1788, 1792, 1796, 1800, 1811, 1818,
- 1825, 1832, 1843, 1849, 1852, 1857, 1880, 1910, 1916, 1922,
- 1928, 1942, 1946, 1950, 1953, 1958, 1960, 1963, 1965, 1969,
- 1974, 1977, 1983, 1988, 1993, 1995, 2004, 2005, 2011, 2013,
- 2023, 2025, 2029, 2032, 2038, 2047, 2055, 2063, 2072, 2085,
- 2090, 2095, 2097, 2106, 2109, 2114, 2117, 2121, 2130, 2132,
- 2133, 2134, 2135, 2136, 2150, 2153, 2157, 2163, 2169, 2176,
- 2181, 2187, 2194, 2200, 2206, 2211, 2217, 2224, 2230, 2236,
- 2242, 2250, 2256, 2262, 2270, 2277, 2283, 2292, 2299, 2307,
- 2312, 2315, 2325, 2327, 2330, 2332, 2333, 2336, 2341, 2342,
- 2359, 2365, 2370, 2374, 2377, 2378, 2381, 2389, 2395, 2404,
- 2414, 2421, 2425, 2430, 2439, 2446, 2450, 2460, 2462, 2463,
- 2465, 2467, 2468, 2469, 2470, 2472, 2474, 2477, 2485, 2492,
- 2492, 2499, 2505, 2507, 2513, 2518, 2523, 2532, 2534, 2540,
- 2542, 2545, 2547, 2548, 2549, 2552, 2557, 2559, 2563, 2566,
- 2573, 2579, 2584, 2591, 2596, 2601, 2606, 2613, 2617, 2620,
- 2626, 2628, 2629, 2630, 2633, 2635, 2636, 2637, 2638, 2639,
- 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649,
- 2650, 2651, 2652, 2653, 2653, 2656, 2662, 2667, 2672, 2678,
- 2680, 2683, 2685, 2692, 2704, 2709, 2715, 2717, 2723, 2727,
- 2728, 2734, 2736, 2739, 2741, 2747, 2752, 2758, 2765, 2774
-};
-#endif
-
-
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = { "$","error","$undefined.","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","ATTRIBUTE",
-"EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG","PTR_VALUE","PTR_BASE","PTR_EXTENT",
-"END_OF_LINE","ASSIGN","'='","'?'","':'","OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE",
-"ARITHCOMPARE","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS",
-"MINUSMINUS","HYPERUNARY","POINTSAT","'.'","'('","'['","INTERFACE","IMPLEMENTATION",
-"END","SELECTOR","DEFS","ENCODE","CLASSNAME","PUBLIC","PRIVATE","PROTECTED",
-"PROTOCOL","OBJECTNAME","CLASS","ALIAS","OBJC_STRING","')'","';'","'}'","'~'",
-"'!'","','","'{'","']'","program","extdefs","@1","@2","extdef","datadef","fndef",
-"@3","@4","@5","@6","@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist",
-"unary_expr","sizeof","alignof","cast_expr","@9","expr_no_commas","@10","@11",
-"@12","@13","@14","primary","string","objc_string","old_style_parm_decls","lineno_datadecl",
-"datadecls","datadecl","lineno_decl","decls","setspecs","setattrs","decl","typed_declspecs",
-"reserved_declspecs","typed_declspecs_no_prefix_attr","reserved_declspecs_no_prefix_attr",
-"declmods","declmods_no_prefix_attr","typed_typespecs","reserved_typespecquals",
-"typespec","typespecqual_reserved","initdecls","notype_initdecls","maybeasm",
-"initdcl","@15","notype_initdcl","@16","maybe_attribute","attributes","attribute",
-"attribute_list","attrib","any_word","init","@17","initlist_maybe_comma","initlist1",
-"initelt","@18","initval","@19","designator_list","designator","nested_function",
-"@20","@21","notype_nested_function","@22","@23","declarator","after_type_declarator",
-"parm_declarator","notype_declarator","struct_head","union_head","enum_head",
-"structsp","@24","@25","@26","@27","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","lineno_stmt_or_labels","xstmts","errstmt","pushlevel","maybe_label_decls",
-"label_decls","label_decl","compstmt_or_error","compstmt_start","compstmt_nostart",
-"compstmt_primary_start","compstmt","simple_if","if_prefix","do_stmt_start",
-"@28","save_filename","save_lineno","lineno_labeled_stmt","lineno_stmt_or_label",
-"stmt_or_label","stmt","@29","@30","@31","@32","@33","@34","@35","all_iter_stmt",
-"all_iter_stmt_simple","@36","label","maybe_type_qual","xexpr","asm_operands",
-"nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","@37","parmlist_1",
-"@38","parmlist_2","parms","parm","parmlist_or_identifiers","@39","parmlist_or_identifiers_1",
-"identifiers","identifiers_or_typenames","extension","objcdef","identifier_list",
-"classdecl","aliasdecl","classdef","@40","@41","@42","@43","@44","@45","@46",
-"@47","@48","protocoldef","@49","protocolrefs","non_empty_protocolrefs","ivar_decl_list",
-"visibility_spec","ivar_decls","ivar_decl","ivars","ivar_declarator","methoddef",
-"@50","@51","@52","@53","@54","@55","methodprotolist","@56","methodprotolist2",
-"@57","semi_or_error","methodproto","@58","@59","@60","@61","methoddecl","optarglist",
-"myxdecls","mydecls","mydecl","myparms","myparm","optparmlist","@62","unaryselector",
-"keywordselector","selector","reservedwords","keyworddecl","messageargs","keywordarglist",
-"keywordexpr","keywordarg","receiver","objcmessageexpr","@63","@64","selectorarg",
-"keywordnamelist","keywordname","objcselectorexpr","objcprotocolexpr","objcencodeexpr", NULL
-};
-#endif
-
-static const short yyr1[] = { 0,
- 89, 89, 91, 90, 92, 90, 93, 93, 93, 93,
- 93, 94, 94, 94, 94, 94, 94, 94, 94, 96,
- 97, 95, 95, 98, 99, 95, 95, 100, 101, 95,
- 95, 102, 102, 102, 102, 103, 103, 103, 103, 103,
- 103, 103, 104, 105, 105, 106, 106, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 107, 107, 107, 108,
- 109, 110, 110, 111, 110, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 112, 112, 113, 112,
- 114, 112, 115, 116, 112, 117, 112, 112, 112, 118,
- 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 119, 119, 120,
- 120, 121, 121, 121, 122, 123, 123, 123, 123, 124,
- 124, 124, 124, 125, 126, 126, 126, 126, 127, 128,
- 129, 129, 129, 129, 129, 129, 129, 130, 130, 131,
- 131, 131, 131, 132, 132, 133, 133, 133, 134, 134,
- 134, 134, 135, 135, 135, 135, 136, 136, 137, 137,
- 138, 138, 138, 138, 138, 138, 138, 138, 139, 139,
- 139, 140, 140, 141, 141, 142, 142, 144, 143, 143,
- 146, 145, 145, 147, 147, 148, 148, 149, 150, 150,
- 151, 151, 151, 151, 151, 152, 152, 152, 152, 153,
- 154, 153, 153, 155, 155, 156, 156, 157, 157, 158,
- 157, 157, 160, 159, 159, 159, 161, 161, 162, 164,
- 165, 163, 167, 168, 166, 169, 169, 170, 170, 170,
- 170, 170, 170, 170, 170, 171, 171, 171, 171, 171,
- 171, 172, 172, 172, 172, 172, 172, 172, 173, 173,
- 174, 174, 175, 175, 177, 176, 176, 176, 178, 176,
- 176, 176, 179, 176, 180, 176, 176, 181, 181, 182,
- 182, 183, 183, 184, 184, 184, 184, 185, 185, 185,
- 185, 185, 185, 186, 186, 187, 187, 187, 188, 188,
- 188, 189, 189, 190, 190, 191, 191, 192, 192, 193,
- 193, 194, 194, 194, 194, 194, 194, 194, 194, 194,
- 194, 195, 196, 196, 196, 197, 197, 198, 199, 200,
- 200, 201, 201, 202, 203, 203, 204, 205, 205, 205,
- 205, 206, 207, 208, 208, 209, 211, 210, 212, 213,
- 214, 214, 215, 216, 216, 217, 217, 217, 218, 217,
- 217, 217, 219, 220, 217, 217, 217, 221, 222, 223,
- 217, 224, 217, 217, 217, 217, 217, 217, 217, 217,
- 217, 217, 217, 217, 225, 227, 226, 228, 228, 228,
- 228, 229, 229, 230, 230, 231, 231, 232, 232, 233,
- 234, 234, 236, 235, 237, 238, 237, 237, 239, 239,
- 239, 239, 240, 240, 241, 241, 241, 241, 241, 243,
- 242, 244, 244, 245, 245, 246, 246, 247, 248, 248,
- 248, 248, 248, 248, 249, 249, 250, 251, 253, 254,
- 252, 255, 252, 256, 257, 252, 258, 252, 259, 252,
- 252, 260, 252, 252, 261, 252, 252, 263, 262, 264,
- 264, 265, 266, 266, 267, 267, 267, 268, 268, 268,
- 269, 269, 269, 270, 270, 270, 271, 271, 271, 273,
- 274, 275, 272, 276, 277, 278, 272, 279, 280, 279,
- 281, 281, 281, 282, 281, 283, 283, 285, 286, 284,
- 287, 288, 284, 289, 289, 289, 289, 290, 290, 291,
- 291, 292, 292, 292, 292, 293, 293, 293, 294, 294,
- 295, 295, 295, 296, 296, 297, 296, 298, 299, 299,
- 300, 300, 300, 300, 301, 301, 301, 301, 301, 301,
- 301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
- 301, 301, 301, 301, 301, 302, 302, 302, 302, 303,
- 303, 304, 304, 305, 306, 306, 307, 307, 309, 310,
- 308, 311, 311, 312, 312, 313, 313, 314, 315, 316
-};
-
-static const short yyr2[] = { 0,
- 0, 1, 0, 2, 0, 3, 1, 1, 1, 5,
- 2, 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, 1, 1, 0, 1, 1, 3, 1, 2, 2,
- 2, 2, 2, 4, 2, 4, 2, 2, 6, 1,
- 1, 1, 4, 0, 7, 1, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 0, 4,
- 0, 4, 0, 0, 7, 0, 5, 3, 3, 1,
- 1, 1, 3, 3, 3, 3, 4, 4, 3, 3,
- 2, 2, 1, 1, 1, 1, 1, 1, 2, 1,
- 2, 0, 1, 2, 3, 1, 1, 2, 2, 4,
- 4, 2, 2, 3, 1, 1, 2, 2, 0, 0,
- 4, 4, 3, 3, 2, 2, 2, 2, 3, 0,
- 2, 2, 2, 2, 3, 0, 2, 2, 1, 1,
- 2, 2, 1, 1, 2, 2, 2, 3, 0, 2,
- 1, 1, 1, 2, 2, 1, 4, 4, 1, 1,
- 1, 1, 3, 1, 3, 0, 4, 0, 6, 3,
- 0, 6, 3, 0, 1, 1, 2, 6, 1, 3,
- 0, 1, 4, 6, 4, 1, 1, 1, 1, 1,
- 0, 4, 1, 0, 2, 1, 3, 3, 2, 0,
- 4, 1, 0, 4, 1, 1, 1, 2, 2, 0,
- 0, 5, 0, 0, 5, 1, 1, 3, 3, 4,
- 3, 3, 3, 1, 1, 3, 4, 3, 3, 3,
- 1, 3, 3, 3, 4, 3, 3, 1, 1, 2,
- 1, 2, 1, 2, 0, 7, 5, 2, 0, 7,
- 5, 2, 0, 8, 0, 7, 2, 0, 1, 0,
- 1, 1, 2, 0, 3, 2, 4, 3, 5, 3,
- 1, 1, 2, 1, 3, 4, 6, 5, 1, 3,
- 1, 1, 3, 2, 2, 0, 1, 1, 2, 0,
- 2, 3, 3, 2, 3, 4, 3, 2, 3, 2,
- 3, 1, 1, 2, 2, 0, 1, 2, 0, 0,
- 1, 1, 2, 3, 1, 2, 1, 1, 5, 4,
- 4, 2, 2, 2, 2, 4, 0, 4, 0, 0,
- 3, 4, 3, 1, 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, 1, 0, 6, 3, 5, 2,
- 3, 0, 1, 0, 1, 0, 1, 1, 3, 4,
- 1, 3, 0, 2, 2, 0, 4, 2, 0, 1,
- 1, 3, 1, 3, 4, 4, 4, 4, 4, 0,
- 2, 1, 2, 1, 3, 1, 3, 1, 1, 1,
- 1, 1, 1, 1, 1, 3, 3, 4, 0, 0,
- 10, 0, 6, 0, 0, 12, 0, 8, 0, 6,
- 2, 0, 8, 4, 0, 9, 5, 0, 6, 0,
- 1, 3, 3, 1, 1, 1, 1, 0, 3, 2,
- 3, 3, 1, 0, 1, 3, 1, 3, 2, 0,
- 0, 0, 7, 0, 0, 0, 7, 0, 0, 2,
- 1, 1, 2, 0, 3, 1, 1, 0, 0, 5,
- 0, 0, 5, 4, 1, 5, 2, 0, 2, 0,
- 1, 1, 1, 2, 2, 4, 2, 2, 1, 3,
- 2, 2, 2, 0, 2, 0, 3, 1, 1, 2,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 6, 3, 5, 2, 1,
- 1, 1, 2, 1, 3, 2, 1, 1, 0, 0,
- 6, 1, 1, 1, 2, 2, 1, 4, 4, 4
-};
-
-static const short yydefact[] = { 3,
- 5, 0, 0, 0, 163, 154, 161, 153, 253, 249,
- 251, 0, 0, 0, 418, 0, 470, 474, 0, 0,
- 424, 450, 0, 450, 0, 0, 19, 4, 8, 7,
- 0, 129, 129, 149, 140, 150, 186, 0, 0, 0,
- 162, 0, 9, 420, 421, 419, 422, 166, 423, 6,
- 17, 18, 254, 250, 252, 0, 0, 0, 32, 33,
- 35, 34, 425, 0, 0, 0, 450, 441, 164, 451,
- 450, 165, 0, 0, 248, 300, 0, 0, 174, 130,
- 0, 16, 0, 15, 0, 151, 140, 152, 156, 155,
- 138, 187, 274, 258, 274, 262, 265, 267, 11, 90,
- 91, 108, 60, 61, 0, 0, 0, 0, 36, 38,
- 37, 0, 39, 40, 0, 559, 0, 0, 0, 110,
- 41, 42, 0, 0, 43, 62, 0, 0, 66, 46,
- 48, 92, 107, 0, 0, 103, 104, 105, 106, 298,
- 0, 296, 159, 0, 296, 191, 452, 0, 521, 522,
- 544, 545, 541, 525, 526, 527, 528, 529, 530, 531,
- 532, 533, 534, 535, 536, 537, 538, 539, 540, 542,
- 543, 0, 0, 523, 471, 495, 514, 518, 524, 519,
- 475, 0, 0, 432, 0, 0, 439, 448, 427, 0,
- 0, 0, 12, 0, 0, 31, 0, 410, 0, 0,
- 184, 234, 300, 0, 235, 0, 172, 130, 0, 226,
- 227, 0, 0, 139, 142, 169, 170, 141, 143, 171,
- 0, 0, 0, 255, 0, 259, 0, 263, 57, 58,
- 0, 52, 49, 0, 332, 0, 0, 0, 0, 0,
- 0, 51, 0, 0, 0, 53, 0, 55, 0, 0,
- 83, 81, 79, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 101, 102, 0, 0, 44,
- 0, 109, 111, 0, 328, 320, 0, 50, 167, 300,
- 393, 0, 130, 294, 297, 157, 168, 299, 159, 295,
- 197, 198, 199, 196, 0, 189, 192, 426, 0, 549,
- 0, 498, 516, 497, 0, 520, 0, 498, 450, 0,
- 429, 479, 444, 0, 458, 479, 428, 301, 244, 243,
- 175, 176, 247, 0, 242, 0, 246, 0, 0, 29,
- 0, 339, 117, 340, 183, 185, 0, 0, 14, 0,
- 0, 23, 0, 184, 410, 0, 13, 27, 0, 0,
- 184, 282, 276, 129, 273, 129, 0, 274, 184, 274,
- 291, 292, 270, 289, 0, 0, 94, 93, 0, 558,
- 557, 560, 567, 562, 0, 563, 564, 0, 0, 10,
- 47, 0, 0, 89, 88, 0, 0, 0, 0, 77,
- 78, 76, 75, 74, 72, 73, 67, 68, 69, 70,
- 71, 100, 99, 0, 45, 0, 96, 0, 0, 321,
- 322, 95, 304, 0, 308, 0, 310, 0, 0, 393,
- 0, 160, 158, 0, 191, 44, 0, 0, 0, 472,
- 515, 399, 0, 547, 476, 437, 450, 458, 0, 0,
- 442, 447, 0, 0, 0, 0, 0, 414, 400, 129,
- 129, 412, 0, 401, 403, 411, 0, 245, 318, 0,
- 119, 114, 118, 0, 181, 232, 228, 173, 233, 21,
- 180, 229, 231, 0, 25, 0, 257, 339, 275, 339,
- 283, 0, 261, 0, 0, 271, 0, 270, 0, 64,
- 63, 0, 566, 568, 0, 565, 570, 569, 54, 56,
- 0, 0, 82, 80, 97, 98, 416, 0, 0, 0,
- 339, 0, 0, 126, 340, 313, 323, 303, 302, 394,
- 309, 311, 305, 307, 0, 188, 190, 90, 0, 0,
- 494, 514, 129, 0, 503, 499, 501, 0, 0, 517,
- 401, 0, 0, 434, 479, 445, 0, 433, 488, 491,
- 482, 0, 129, 129, 484, 481, 458, 457, 455, 456,
- 440, 458, 463, 460, 129, 129, 0, 449, 177, 398,
- 296, 296, 395, 396, 0, 413, 0, 0, 327, 30,
- 319, 325, 115, 129, 129, 146, 0, 0, 178, 230,
- 0, 277, 278, 284, 340, 280, 340, 184, 184, 293,
- 290, 184, 0, 0, 0, 0, 550, 0, 551, 552,
- 84, 87, 324, 0, 330, 128, 127, 317, 0, 331,
- 315, 340, 314, 0, 306, 193, 0, 195, 548, 496,
- 507, 296, 508, 504, 505, 473, 0, 477, 458, 0,
- 479, 430, 0, 0, 176, 0, 0, 0, 483, 0,
- 0, 464, 464, 459, 241, 300, 393, 130, 184, 184,
- 184, 300, 130, 184, 184, 0, 402, 404, 415, 326,
- 333, 122, 0, 123, 0, 146, 144, 203, 201, 200,
- 182, 22, 0, 26, 339, 184, 0, 256, 260, 266,
- 184, 59, 216, 90, 0, 213, 0, 215, 0, 268,
- 206, 212, 0, 0, 554, 556, 0, 561, 0, 553,
- 0, 417, 329, 0, 163, 0, 353, 337, 0, 0,
- 0, 0, 0, 0, 0, 0, 382, 450, 450, 374,
- 0, 0, 124, 129, 129, 346, 351, 0, 0, 343,
- 344, 347, 375, 345, 0, 0, 184, 184, 184, 0,
- 509, 546, 0, 438, 0, 479, 489, 492, 485, 443,
- 0, 467, 461, 465, 462, 304, 0, 410, 0, 405,
- 406, 407, 304, 0, 408, 409, 397, 0, 0, 145,
- 148, 147, 0, 179, 285, 0, 279, 130, 184, 264,
- 219, 0, 210, 65, 0, 205, 0, 218, 209, 555,
- 85, 0, 0, 339, 384, 0, 0, 380, 364, 365,
- 366, 0, 0, 0, 383, 0, 184, 348, 135, 0,
- 136, 0, 0, 335, 340, 334, 357, 0, 137, 194,
- 511, 512, 513, 506, 296, 435, 446, 0, 0, 0,
- 469, 0, 0, 239, 240, 236, 238, 0, 120, 121,
- 0, 184, 0, 286, 0, 0, 207, 208, 0, 0,
- 0, 385, 48, 0, 0, 0, 378, 367, 0, 372,
- 0, 381, 0, 133, 220, 0, 134, 223, 352, 339,
- 0, 0, 510, 479, 431, 487, 486, 490, 493, 468,
- 466, 237, 202, 288, 184, 214, 211, 336, 0, 338,
- 376, 358, 362, 0, 373, 0, 131, 0, 132, 0,
- 350, 341, 339, 0, 0, 287, 354, 339, 384, 339,
- 379, 386, 0, 221, 224, 342, 356, 436, 339, 377,
- 0, 363, 0, 0, 387, 388, 368, 0, 0, 355,
- 359, 0, 386, 0, 0, 222, 225, 384, 0, 0,
- 369, 389, 0, 390, 0, 0, 360, 391, 0, 370,
- 339, 0, 0, 361, 371, 392, 0, 0, 0
-};
-
-static const short yydefgoto[] = { 967,
- 1, 2, 3, 28, 29, 30, 343, 588, 349, 591,
- 200, 460, 697, 123, 236, 404, 125, 126, 127, 128,
- 129, 605, 130, 389, 388, 386, 711, 387, 131, 132,
- 133, 330, 331, 332, 583, 510, 511, 31, 341, 733,
- 450, 91, 584, 677, 451, 34, 142, 286, 35, 218,
- 206, 78, 201, 207, 683, 79, 587, 335, 336, 37,
- 295, 296, 297, 681, 783, 699, 700, 701, 856, 702,
- 792, 703, 704, 874, 908, 938, 877, 910, 939, 322,
- 210, 747, 211, 38, 39, 40, 41, 358, 360, 365,
- 227, 796, 487, 222, 223, 355, 593, 594, 363, 364,
- 144, 749, 145, 191, 285, 512, 513, 619, 333, 276,
- 409, 410, 411, 580, 581, 277, 134, 582, 737, 738,
- 739, 804, 825, 464, 826, 516, 740, 741, 880, 803,
- 929, 919, 948, 961, 920, 742, 743, 918, 744, 816,
- 864, 934, 935, 936, 959, 415, 416, 452, 666, 453,
- 454, 455, 325, 326, 456, 457, 508, 135, 43, 64,
- 44, 45, 46, 438, 756, 312, 639, 884, 545, 315,
- 557, 641, 47, 316, 69, 48, 443, 562, 444, 567,
- 763, 764, 49, 65, 302, 539, 66, 308, 543, 439,
- 440, 555, 648, 888, 556, 643, 839, 644, 840, 175,
- 430, 536, 537, 538, 750, 751, 304, 432, 176, 177,
- 178, 179, 180, 608, 609, 706, 610, 372, 136, 238,
- 492, 375, 376, 377, 137, 138, 139
-};
-
-static const short yypact[] = { 102,
- 124, 3399, 3399, 214,-32768,-32768,-32768,-32768, 70, 70,
- 70, 114, 145, 206,-32768, 152,-32768,-32768, 152, 152,
--32768, 94, 152, 94, 152, 152,-32768,-32768,-32768,-32768,
- 189, 197, 1269, 271,-32768, 70,-32768, 135, 230, 306,
--32768, 3399,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 70, 70, 70, 3083, 2906, 223,-32768,-32768,
--32768,-32768,-32768, 61, 3667, 3667, 131, 50,-32768,-32768,
- 94,-32768, 252, 152,-32768,-32768, 189, 293,-32768, 70,
- 2040,-32768, 479,-32768, 189, 271,-32768, 70,-32768,-32768,
- 910,-32768, 224, 219, 224, 229,-32768, 242,-32768,-32768,
--32768,-32768,-32768,-32768, 3083, 3083, 313, 152,-32768,-32768,
--32768, 3083,-32768,-32768, 1620,-32768, 322, 332, 346,-32768,
--32768,-32768, 3083, 254, 330,-32768, 3142, 3201,-32768, 3961,
- 523, 335, 347, 985, 3083,-32768,-32768,-32768,-32768,-32768,
- 349, 434,-32768, 360, 3794, 343,-32768, 152,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, 368, 3874,-32768,-32768,-32768, 2795, 415,-32768,-32768,
--32768, 152, 152, 362, 152, 152,-32768,-32768,-32768, 386,
- 503, 292,-32768, 479, 189,-32768, 402,-32768, 2224, 255,
- 70,-32768,-32768, 479,-32768, 337,-32768, 70, 2143, 406,
- 475, 418, 2059, 910,-32768,-32768,-32768,-32768, 70,-32768,
- 416, 408, 1966,-32768, 420,-32768, 119,-32768,-32768,-32768,
- 3083,-32768,-32768, 424,-32768, 451, 472, 2965, 3700, 3874,
- 152,-32768, 477, 3083, 1620,-32768, 1620,-32768, 3083, 3083,
- 514,-32768,-32768, 3083, 3083, 3083, 3083, 3083, 3083, 3083,
- 3083, 3083, 3083, 3083, 3083,-32768,-32768, 152, 152, 3083,
- 3083,-32768,-32768, 483,-32768, 539, 496,-32768,-32768,-32768,
- 434, 2288, 70,-32768, 486, 666,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 222,-32768, 525,-32768, 3874,-32768,
- 513, 519, 593,-32768, 415,-32768, 443, 519, 94, 527,
--32768, 543, 537, 544,-32768, 543,-32768,-32768, 475,-32768,
--32768, 600, 475, 626,-32768, 103,-32768, 573, 603,-32768,
- 793, 80,-32768,-32768, 646, 70, 384, 325,-32768, 479,
- 479,-32768, 255, 70,-32768, 2352,-32768,-32768, 255, 617,
- 70,-32768,-32768,-32768, 611, 354, 3600, 224, 70, 224,
--32768, 662, 620,-32768, 119, 1283,-32768,-32768, 2710,-32768,
--32768,-32768,-32768, 664, 630, 3700,-32768, 633, 654,-32768,
- 3961, 655, 657, 3961, 3961, 3083, 665, 3083, 3083, 1588,
- 1391, 672, 1068, 1257, 688, 688, 627, 627,-32768,-32768,
--32768,-32768,-32768, 667, 330, 663,-32768, 152, 1185, 539,
--32768,-32768, 388, 448,-32768, 3553,-32768, 670, 434,-32768,
- 2416,-32768, 666, 671, 343, 3260, 673, 3735, 2162,-32768,
--32768, 3371, 3874,-32768,-32768, 668, 94,-32768, 685, 3479,
--32768,-32768, 487, 3342, 691, 79, 680,-32768,-32768,-32768,
- 3824,-32768, 682, 436,-32768,-32768, 273,-32768,-32768, 77,
--32768,-32768,-32768, 3863,-32768, 406,-32768,-32768, 406,-32768,
- 723,-32768,-32768, 677,-32768, 686,-32768,-32768,-32768,-32768,
--32768, 683,-32768, 690, 3083, 152, 694, 620, 3874,-32768,
--32768, 3768,-32768,-32768, 664,-32768,-32768,-32768,-32768,-32768,
- 735, 3083, 1125, 1238,-32768,-32768,-32768, 437, 509, 1082,
- 697, 699, 1341,-32768,-32768,-32768,-32768, 486,-32768,-32768,
--32768, 486,-32768,-32768, 696,-32768,-32768, 283, 705, 152,
--32768, 2795, 706, 2174,-32768,-32768, 3824, 2193, 77,-32768,
- 701, 709, 77,-32768, 543,-32768, 555,-32768,-32768,-32768,
--32768, 189, 197, 1269, 258,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768, 3891, 710,-32768,-32768,-32768,
- 227, 298,-32768,-32768, 3813,-32768, 790, 708,-32768,-32768,
- 713,-32768,-32768, 730, 3583,-32768, 873, 77,-32768,-32768,
- 77,-32768, 733,-32768,-32768, 733,-32768, 70, 70, 3961,
--32768, 70, 737, 741, 1705, 3083, 773, 740, 3768,-32768,
--32768, 1673,-32768, 152,-32768,-32768,-32768,-32768, 746,-32768,
--32768,-32768,-32768, 2566,-32768,-32768, 3083,-32768,-32768,-32768,
--32768, 227,-32768,-32768,-32768,-32768, 152,-32768,-32768, 755,
- 543,-32768, 3667, 3667, 98, 479, 189, 3498,-32768, 577,
- 3359, 447, 447,-32768,-32768,-32768, 298, 70, 259, 370,
- 70,-32768, 70, 370, 70, 3553,-32768,-32768,-32768,-32768,
--32768,-32768, 479,-32768, 189,-32768, 1143,-32768,-32768, 3961,
--32768,-32768, 873,-32768,-32768, 471, 471,-32768,-32768,-32768,
- 70,-32768,-32768, 788, 152,-32768, 791, 3961, 752, 750,
--32768,-32768, 87, 1875, 330,-32768, 3083,-32768, 773,-32768,
- 3083,-32768,-32768, 2651, 795, 775,-32768,-32768, 777, 778,
- 3083, 801, 765, 780, 3024, 243, 861, 76, 200,-32768,
- 826, 789,-32768, 796, 3572,-32768, 856, 1450, 95,-32768,
--32768,-32768,-32768,-32768, 2823, 336, 259, 370, 70, 490,
--32768,-32768, 581,-32768, 805, 543,-32768,-32768,-32768,-32768,
- 3083, 832, 797,-32768, 797, 602, 227,-32768, 2480,-32768,
--32768,-32768, 640, 298,-32768,-32768,-32768, 536, 554, 1143,
--32768,-32768, 1705,-32768,-32768, 3083,-32768, 122, 75,-32768,
--32768, 1705,-32768,-32768, 1790,-32768, 1955,-32768,-32768,-32768,
- 1673, 3083, 813,-32768, 3083, 3083, 921,-32768,-32768,-32768,
--32768, 803, 3083, 806,-32768, 825, 70,-32768,-32768, 479,
--32768, 189, 1535,-32768,-32768,-32768,-32768, 3083,-32768,-32768,
--32768,-32768,-32768,-32768, 227,-32768,-32768, 822, 83, 83,
- 3961, 3083, 447, 610, 610,-32768,-32768, 807,-32768,-32768,
- 808, 3925, 3083,-32768, 810, 1955,-32768,-32768, 816, 3083,
- 877,-32768, 482, 817, 819, 3083,-32768,-32768, 821,-32768,
- 3083,-32768, 560,-32768, 236, 562,-32768, 744,-32768,-32768,
- 2651, 820,-32768, 543,-32768,-32768,-32768,-32768,-32768, 3961,
--32768,-32768,-32768,-32768, 3925,-32768,-32768,-32768, 824,-32768,
--32768,-32768,-32768, 3943,-32768, 160,-32768, 255,-32768, 255,
--32768,-32768,-32768, 827, 830,-32768,-32768,-32768, 3083,-32768,
--32768, 901, 829,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
- 831,-32768, 848, 168, 828,-32768,-32768, 708, 708,-32768,
--32768, 3083, 901, 837, 901,-32768,-32768, 3083, 839, 171,
--32768,-32768, 849,-32768, 626, 847,-32768, 335, 373,-32768,
--32768, 852, 626,-32768,-32768, 335, 935, 939,-32768
-};
-
-static const short yypgoto[] = {-32768,
--32768,-32768,-32768, 100, -375,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, -14,-32768, -56, 515, -226, 280,-32768,-32768,
- -74,-32768, 596,-32768,-32768,-32768,-32768,-32768, 140, -310,
--32768, -313, 614,-32768,-32768, 439,-32768, 248, -46, 202,
- 15, 864,-32768, 272, 38, -26, -172, 698, 492, -244,
- -602, -82, -181, -120,-32768,-32768,-32768, -262, 44, -32,
--32768, 529,-32768, 269,-32768, -638,-32768, 164,-32768, -631,
--32768,-32768, 276,-32768,-32768,-32768,-32768,-32768,-32768, -73,
- -109, -502, 2,-32768,-32768,-32768, -78,-32768,-32768,-32768,
--32768,-32768, 467, -27,-32768, 623, 521, 310, 656, 538,
- -24, -75, -159, -168, -236, 511,-32768,-32768, -239,-32768,
--32768,-32768, 613, -22,-32768, 444,-32768, -526,-32768,-32768,
--32768,-32768, -192, -449, -719, 516,-32768, 146,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 147,-32768,
- -818, 88,-32768, 89,-32768, 612,-32768, -353,-32768, 604,
- 605, 466, -306,-32768,-32768,-32768,-32768, 17,-32768, 1017,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, -9, 5, -355,-32768, 481,-32768,
- 394, 205,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -300,
--32768,-32768,-32768, 211, 497,-32768,-32768,-32768,-32768, -23,
- 745,-32768,-32768, 518,-32768, 225, 531,-32768, 631, 636,
- -140,-32768, -127,-32768,-32768, 359, 462,-32768,-32768,-32768,
--32768,-32768,-32768, 700,-32768,-32768,-32768
-};
-
-
-#define YYLAST 4018
-
-
-static const short yytable[] = { 124,
- 141, 63, 212, 92, 67, 68, 86, 334, 71, 209,
- 63, 74, 220, 446, 72, 445, 32, 32, 42, 42,
- 92, 92, 92, 94, 96, 98, 70, 344, 70, 470,
- 229, 230, 81, 195, 337, 475, 305, 233, 472, 33,
- 33, 422, 181, 405, 414, 36, 36, 92, 242, 306,
- 354, 670, 53, 54, 55, 92, 32, 184, 42, 190,
- 278, 188, 520, 356, 551, 624, 284, 225, 659, 290,
- 778, 70, 799, 321, 80, 70, 88, 578, 192, 33,
- -113, 471, 547, 886, 861, 36, 213, 272, 477, 462,
- 237, 461, 185, 232, 338, 827, 483, 736, 374, 14,
- 931, -1, 50, 447, 14, 448, 5, 6, 7, 8,
- 147, 413, 449, 186, 9, 10, 11, 853, -35, 361,
- 80, 59, 60, -2, 197, 16, 208, 797, 80, 953,
- 13, 294, 14, 298, 219, 220, 187, 59, 60, 334,
- 344, 99, 328, 16, 851, 686, 148, 687, 301, 695,
- 334, 14, 16, 855, 59, 60, 334, 300, 828, 569,
- 911, 198, 199, 579, 887, 858, -113, 309, 310, 514,
- 313, 314, 714, 182, 22, 92, 518, 56, 422, 24,
- 16, 371, 522, -399, 354, 283, 92, 736, 283, 535,
- 61, 75, 319, 926, 183, 62, 323, 356, 930, 405,
- 932, 650, 922, -185, -185, 192, 61, 220, 57, 940,
- 943, 62, 362, 955, 406, 378, 515, 873, 14, 468,
- 382, 93, 383, 61, 897, 418, 379, 466, 62, 75,
- 655, 469, 59, 60, 80, 495, 419, 208, 80, 357,
- 923, 964, -34, 76, 640, 59, 60, 208, 944, 16,
- 92, 956, 77, 402, 403, 329, 14, 219, -339, -339,
- -339, -339, 197, 844, 845, -176, -339, -339, -339, 58,
- 616, 565, 759, 621, 427, 89, -176, 90, 82, 83,
- 85, 656, -339, 753, 566, 595, 146, 597, 14, 474,
- 657, 282, 434, 221, 491, 51, 52, 813, 635, 436,
- 75, 61, 424, 92, -339, 224, 62, 425, 59, 60,
- 549, 550, 777, 70, 61, 226, 95, -176, 515, 62,
- 622, -176, 768, 769, 283, -480, -339, 14, 228, 501,
- 482, -339, 484, 189, 243, 688, 689, 148, 319, 690,
- 755, -112, 323, 272, 220, 59, 60, 291, 292, 293,
- 362, 607, 662, 576, 736, 198, 199, 5, 577, 7,
- 288, 657, 282, 626, 525, 9, 10, 11, 627, 36,
- 59, 60, 320, 357, 193, 881, 231, 61, 194, 705,
- 208, 13, 62, 208, 208, 239, 75, 202, 345, 346,
- 318, 305, 97, 507, 318, 240, 770, 771, 772, 14,
- 746, 775, 776, 16, 306, 467, 246, 248, 542, 241,
- 294, 946, 947, 14, 61, 244, 830, 14, 339, 62,
- 414, 244, 340, 787, 86, 22, 273, 546, 790, 279,
- 24, 299, 782, 198, 199, -281, -281, 585, 203, 61,
- 287, 70, 280, 533, 62, 59, 60, 204, 311, 75,
- 202, 281, 282, 962, 553, 838, 283, 307, 963, 36,
- 205, 846, 283, 14, 604, 324, 534, 317, 709, 345,
- 346, 362, 36, 75, 202, 36, 14, 554, 565, 350,
- 705, 75, 202, 36, 831, 832, 833, 766, 280, 761,
- 351, 566, 597, 773, 88, 661, 665, 281, 282, 347,
- 14, 203, 359, 194, 367, 75, 433, 86, 14, 318,
- 204, 420, 421, 786, 61, 629, 636, 574, 613, 62,
- 638, 575, 614, 205, 87, 203, 854, 86, 519, 518,
- 522, 368, 14, 203, 204, 782, 518, 522, 198, 199,
- 266, 267, 204, 268, 269, 270, 271, 205, 143, 420,
- 421, 533, 369, 645, 872, 205, -86, 76, 380, 558,
- 559, 560, 901, 407, 212, 682, 77, 732, 684, 561,
- 408, 834, 660, 664, 534, 835, 412, 88, 762, 762,
- 36, 266, 267, 915, 268, 269, 270, 271, 426, 894,
- 459, 615, 779, 428, 924, 80, 925, 88, 220, 712,
- 429, 478, 431, 480, 75, 655, 143, 437, 318, 731,
- -478, 767, 789, 789, 658, 663, 774, 849, 36, 757,
- 758, 340, 752, 441, 442, 92, 197, 558, 559, 560,
- 92, 14, 916, 748, 102, 850, 289, 642, 734, 194,
- 745, 907, 75, 909, 958, 340, 318, 194, 645, 558,
- 559, 560, 966, 558, 559, 560, 656, 732, 192, 760,
- 458, 735, 553, 836, 143, 657, 282, 36, 812, 14,
- 278, 216, 217, 768, 769, 658, 645, 9, 10, 11,
- 791, 263, 264, 265, 459, 554, 465, 552, 476, 208,
- 80, 36, 479, 344, 662, 208, 208, 571, 572, 731,
- 663, 220, 485, 657, 282, 486, 493, 502, 86, 36,
- 494, 814, 848, 497, 143, 334, 208, 334, 80, 72,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 788,
- 208, 143, 70, 70, 498, 499, 143, 500, 143, 876,
- 261, 262, 263, 264, 265, 859, 875, 505, 862, 865,
- 506, 526, 548, 530, 544, 92, 869, 521, 568, 734,
- 570, 745, 573, 589, 590, 598, 592, 319, 323, 762,
- 197, 882, 599, -176, 319, 323, 602, 611, 88, -316,
- 632, 620, 735, 625, -176, 628, 575, 631, 36, 637,
- 143, 654, 669, 329, 579, 275, -116, -116, -116, -116,
- 646, 647, -116, 899, -116, -116, -116, 198, 199, 658,
- 658, 672, 652, 653, 906, 707, 663, 663, 685, 691,
- -116, 692, 754, 878, 732, -176, 366, 708, 713, -176,
- -32, 673, 675, 793, 794, 795, 748, -33, 802, 381,
- 805, 806, -116, 808, 384, 385, 809, 289, 143, 390,
- 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 810, 862, 208, -116, 80, 731, 815, 817, -116,
- 818, 823, 837, 678, 842, 100, 860, 819, 658, -116,
- 101, 102, 843, 103, 868, 949, 208, 870, 871, 885,
- 893, 862, 896, 900, 892, 552, 898, 928, 902, 903,
- 914, 104, 905, 15, 917, 105, 106, 107, 927, 933,
- 937, 942, 941, 945, 215, 216, 217, 108, 951, 954,
- 109, 9, 10, 11, 143, 110, 111, 112, 960, 957,
- 866, 113, 114, 965, 968, 143, 115, 116, 969, 14,
- 529, 117, 87, 118, 863, 463, 829, 780, 119, 617,
- 214, 784, 120, 527, 603, 586, 121, 122, 857, 679,
- 249, 250, 251, 867, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 798, 481,
- 143, 820, 822, 503, 504, 274, 423, -319, -319, -319,
- -319, -319, -319, -319, 785, -319, -319, -319, -319, -319,
- 596, -319, -319, -319, -319, -319, -319, -319, -319, -319,
- -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
- 488, 618, 517, 601, 671, 87, 912, 913, 623, -319,
- 950, 523, -319, 952, -319, 540, 541, -319, -319, -319,
- 668, 73, 651, -319, -319, 87, 765, 891, -319, -319,
- 889, 649, 435, -319, 634, -319, -319, 289, 531, 883,
- -319, -319, 630, 532, -319, 800, -319, 275, -319, -319,
- 710, -319, 0, 0, 0, 496, 676, 0, 0, 0,
- 600, 0, 329, 0, -125, -125, -125, -125, -125, -125,
- -125, 0, -125, -125, -125, -125, -125, 612, -125, -125,
- -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
- -125, -125, -125, 0, -125, -125, -125, 258, 259, 260,
- 261, 262, 263, 264, 265, 0, -125, 0, 0, -125,
- 0, -125, 0, 0, -125, -125, -125, 0, 0, 0,
- -125, -125, 143, 0, 0, -125, -125, 781, 216, 217,
- -125, 0, -125, -125, 9, 10, 11, -125, -125, 0,
- 0, -125, 0, -125, -125, -125, -125, 0, -125, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
- 264, 265, 680, 0, 0, 509, 0, -339, -339, -339,
- -339, -339, -339, -339, 0, -339, -339, -339, -339, -339,
- 698, -339, -339, -339, -339, -339, -339, -339, -339, -339,
- -339, -339, -339, -339, -339, -339, 0, -339, -339, -339,
- 0, 0, 0, 0, 0, 0, 87, 0, 0, -339,
- 0, 0, -339, 0, -339, 0, 0, -339, -339, -339,
- 0, 0, 0, -339, -339, 0, 0, 0, -339, -339,
- 0, 0, 0, -339, 0, -339, -339, 0, 0, 0,
- -339, -339, 0, 0, -339, 0, -339, 0, -339, -339,
- 0, -339, 5, 6, 7, 8, 0, 0, 680, 0,
- 9, 10, 11, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 0, 13, 0, 14, 698,
- 0, 0, 0, 0, 0, 0, 801, 259, 260, 261,
- 262, 263, 264, 265, 0, 0, 807, 0, 16, 0,
- 0, 0, 249, 250, 251, 0, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- 22, 329, 0, -339, -339, 24, 0, 0, -339, -339,
- 84, -339, 0, 0, 0, -339, 841, -339, -339, -339,
- -339, -339, -339, -339, -339, -339, -339, -339, 489, -339,
- 0, -339, 0, -339, -339, -339, 0, 0, 698, 0,
- 0, 852, 0, 0, 0, -339, 0, 698, -339, 0,
- 698, 0, 698, -339, -339, -339, 0, 0, 0, -339,
- -339, 0, 0, 0, -339, -339, 0, 0, 0, -339,
- 0, -339, -339, 0, 0, 0, -339, -339, 0, 0,
- -339, 0, -339, -312, -339, -339, 0, -339, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 890, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 895, 0,
- 824, 698, -339, -339, 0, 0, 0, -339, -339, 0,
- -339, 904, 0, 0, -339, 0, -339, -339, -339, -339,
- -339, -339, -339, -339, -339, -339, -339, 0, -339, 0,
- -339, 0, -339, -339, -339, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, -339, 0, 0, -339, 0, 0,
- 0, 0, -339, -339, -339, 0, 0, 0, -339, -339,
- 0, 0, 0, -339, -339, 0, 0, 0, -339, 0,
- -339, -339, 0, 0, 0, -339, -339, 0, 0, -339,
- 0, -339, 0, -339, -339, 879, -339, -349, -349, 0,
- 0, 0, -349, -349, 0, -349, 0, 0, 0, -349,
- 0, -349, -349, -349, -349, -349, -349, -349, -349, -349,
- -349, -349, 0, -349, 0, -349, 0, -349, -349, -349,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, -349,
- 0, 0, -349, 0, 0, 0, 0, -349, -349, -349,
- 0, 0, 0, -349, -349, 0, 0, 0, -349, -349,
- 0, 0, 0, -349, 0, -349, -349, 0, 0, 0,
- -349, -349, 0, 0, -349, 0, -349, 0, -349, -349,
- 234, -349, 100, 5, 0, 7, 140, 101, 102, 0,
- 103, 9, 10, 11, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 0, 0, 13, 104, 0,
- 15, 0, 105, 106, 107, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 108, 0, 0, 109, 0, 16,
- 0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
- 0, 0, 0, 115, 116, 0, 0, 0, 117, 0,
- 118, 22, 0, 0, 0, 119, 24, 0, 0, 120,
- 0, 0, 0, 121, 122, 693, 235, 694, 60, 0,
- 0, 0, 101, 102, 251, 103, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- 0, 0, 0, 104, 0, 15, 0, 105, 106, 107,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
- 0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
- 0, 0, 0, 113, 114, 0, 0, 695, 115, 116,
- 0, 0, 0, 117, 0, 118, 61, 0, 0, 0,
- 119, 62, 0, 0, 120, 0, 0, -204, 121, 122,
- 693, 696, 694, 60, 0, 0, 0, 101, 102, 0,
- 103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
- 15, 0, 105, 106, 107, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
- 0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
- 0, 0, 695, 115, 116, 0, 0, 0, 117, 0,
- 118, 61, 0, 0, 0, 119, 62, 0, 0, 120,
- 0, 0, -269, 121, 122, 693, 696, 100, 0, 0,
- 0, 0, 101, 102, 0, 103, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 104, 0, 15, 0, 105, 106, 107,
- 0, 0, 0, 0, 0, -217, 0, 0, 0, 108,
- 0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
- 0, 0, 0, 113, 114, 0, 0, -217, 115, 116,
- 0, 0, 0, 117, 0, 118, 0, 0, 0, 0,
- 119, 0, 0, 0, 120, 693, 0, 100, 121, 122,
- 0, 696, 101, 102, 0, 103, 352, 0, 0, 5,
- 0, 7, 140, 0, 0, 0, 0, 9, 10, 11,
- 0, 0, 0, 104, 0, 15, 0, 105, 106, 107,
- 0, 0, 0, 13, 0, 0, 15, 0, 0, 108,
- 0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
- 0, 0, 0, 113, 114, 16, 0, 0, 115, 116,
- 0, 0, 0, 117, 0, 118, 0, 0, 0, 0,
- 119, 0, 0, 0, 120, 0, 0, 22, 121, 122,
- 196, 696, 24, -28, -28, -28, -28, 353, -272, 0,
- 0, -28, -28, -28, 0, 0, 0, 0, 0, 348,
- 0, 0, -24, -24, -24, -24, 197, -28, 0, -176,
- -24, -24, -24, 0, 0, 0, 0, 0, 0, 0,
- -176, 0, 0, 0, 0, 197, -24, 0, -176, -28,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, -176,
- 0, 0, 0, 198, 199, 0, 0, 0, -24, 0,
- 0, -28, 0, 0, 0, 0, -28, 0, 0, 0,
- 0, -176, 198, 199, 0, -176, -28, 0, 0, 0,
- -24, 0, 0, 0, 0, -24, 0, 0, 0, 0,
- -176, 0, 0, 342, -176, -24, -20, -20, -20, -20,
- 0, 0, 0, 0, -20, -20, -20, 0, 0, 0,
- 0, 0, 329, 0, 0, 5, 6, 7, 8, 197,
- -20, 0, -176, 9, 10, 11, 0, 5, 6, 7,
- 8, 0, 0, -176, 0, 9, 10, 11, 0, 13,
- 0, 14, -20, 329, 0, 0, -502, -502, -502, -502,
- 0, 13, 0, 14, -502, -502, -502, 0, 0, 0,
- 0, 16, 0, 0, -20, 0, 0, 0, 0, -20,
- -502, 0, -502, 16, -176, 0, 100, 0, -176, -20,
- 0, 101, 102, 22, 103, 0, 0, 0, 24, 0,
- 0, 0, -502, 0, 0, 22, 0, 0, -500, 0,
- 24, 0, 104, 0, 15, 633, 105, 106, 107, 0,
- 0, 0, 0, 0, -502, 0, 0, 0, 108, -502,
- 0, 109, 0, 0, 0, 0, 110, 111, 112, -502,
- 0, 0, 113, 114, 0, 0, 0, 115, 116, 0,
- 100, 0, 117, 0, 118, 101, 102, 0, 103, 119,
- 0, 0, 0, 120, 0, 0, 0, 121, 122, 0,
- 0, 327, 0, 0, 0, 0, 104, 0, 15, 0,
- 105, 106, 107, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 108, 0, 0, 109, 0, 0, 0, 0,
- 110, 111, 112, 0, 0, 0, 113, 114, 0, 0,
- 0, 115, 116, 0, 100, 0, 117, 0, 118, 101,
- 102, 0, 103, 119, 0, 0, 0, 120, 0, 0,
- 0, 121, 122, 0, 0, 417, 0, 0, 0, 0,
- 104, 0, 15, 0, 105, 106, 107, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 108, 0, 0, 109,
- 0, 0, 0, 0, 110, 111, 112, 0, 0, 0,
- 113, 114, 0, 0, 0, 115, 116, 0, 100, 0,
- 117, 0, 118, 101, 102, 0, 103, 119, 0, 0,
- 0, 120, 0, 0, 0, 121, 122, 0, 0, 473,
- 0, 0, 0, 0, 104, 0, 15, 0, 105, 106,
- 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 108, 0, 0, 109, 0, 0, 0, 0, 110, 111,
- 112, 0, 0, 0, 113, 114, 0, 0, 0, 115,
- 116, 0, 100, 0, 117, 0, 118, 101, 102, 0,
- 103, 119, 0, 0, 0, 120, 0, 0, 0, 121,
- 122, 0, 0, 524, 0, 0, 0, 0, 104, 0,
- 15, 0, 105, 106, 107, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
- 0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
- 0, 0, 0, 115, 116, 0, 0, 0, 117, 0,
- 118, 0, 0, 0, 0, 119, 0, 0, 0, 120,
- 0, 0, 0, 121, 122, 0, 0, 847, 694, 715,
- 6, 7, 8, 101, 102, 0, 103, 9, 10, 11,
- 716, 0, 717, 718, 719, 720, 721, 722, 723, 724,
- 725, 726, 727, 13, 104, 14, 15, 0, 105, 106,
- 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 108, 0, 0, 109, 0, 16, 0, 0, 110, 111,
- 112, 0, 0, 0, 113, 114, 0, 0, 0, 115,
- 116, 0, 0, 0, 117, 0, 118, 728, 0, 0,
- 0, 119, 729, 0, 0, 120, 0, 730, 0, 121,
- 122, 0, 579, 694, 60, 0, 0, 0, 101, 102,
- 0, 103, 0, 0, 0, 716, 0, 717, 718, 719,
- 720, 721, 722, 723, 724, 725, 726, 727, 0, 104,
- 0, 15, 0, 105, 106, 107, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 108, 0, 0, 109, 0,
- 0, 0, 0, 110, 111, 112, 0, 0, 0, 113,
- 114, 0, 100, 0, 115, 116, 0, 101, 102, 117,
- 103, 118, 61, 0, 0, 0, 119, 62, 0, 0,
- 120, 0, 730, 0, 121, 122, 0, 579, 104, 0,
- 15, 0, 105, 106, 107, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
- 0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
- 0, 0, 0, 115, 116, 0, 0, 0, 117, 0,
- 118, 0, 0, 0, 0, 119, 0, 0, 0, 120,
- 0, 0, 0, 121, 122, 0, 490, 149, 150, 0,
- 151, 152, 0, 0, 0, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 0, 100, 5, 6, 7, 8,
- 101, 102, 0, 103, 9, 10, 11, 172, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13, 104, 14, 15, 0, 105, 106, 107, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 108, 0, 0,
- 109, 174, 16, 0, 0, 110, 111, 112, 0, 0,
- 303, 113, 114, 0, 0, 0, 115, 116, 0, 0,
- 0, 117, 0, 118, 22, 0, 0, 0, 119, 24,
- 0, 0, 120, 0, 0, 0, 121, 122, 100, 5,
- 0, 7, 140, 101, 102, 0, 103, 9, 10, 11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 13, 104, 0, 15, 0, 105, 106,
- 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 108, 0, 0, 109, 0, 16, 0, 0, 110, 111,
- 112, 0, 0, 0, 113, 114, 0, 100, 0, 115,
- 116, 0, 101, 102, 117, 103, 118, 22, 0, 0,
- 0, 119, 24, 0, 0, 120, 0, 0, 0, 121,
- 122, 0, 0, 104, 0, 15, 0, 105, 106, 107,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
- 0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
- 0, 0, 0, 113, 114, 0, 100, 0, 115, 116,
- 0, 101, 102, 117, 103, 118, 370, 0, 0, 0,
- 119, 0, 0, 0, 120, 0, 0, 0, 121, 122,
- 0, 0, 104, 0, 15, 0, 105, 106, 107, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 108, 0,
- 0, 109, 0, 0, 0, 0, 110, 111, 112, 0,
- 0, 0, 113, 114, 0, 100, 0, 115, 116, 0,
- 101, 102, 117, 103, 118, 0, 0, 0, 0, 119,
- 0, 0, 0, 120, 0, 811, 0, 121, 122, 0,
- 0, 104, 0, 15, 0, 105, 106, 107, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 108, 0, 0,
- 109, 0, 0, 0, 0, 110, 111, 112, 0, 0,
- 0, 113, 114, 0, 100, 0, 115, 116, 0, 101,
- 102, 117, 103, 118, 0, 0, 0, 0, 119, 0,
- 0, 0, 120, 0, 0, 0, 121, 122, 0, 0,
- 104, 0, 15, 0, 105, 106, 107, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 108, 0, 0, 109,
- 0, 0, 0, 0, 110, 111, 112, 0, 0, 0,
- 113, 114, 0, 100, 0, 245, 116, 0, 101, 102,
- 117, 103, 118, 0, 0, 0, 0, 119, 0, 0,
- 0, 120, 0, 0, 0, 121, 122, 0, 0, 104,
- 0, 15, 0, 105, 106, 107, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 108, 0, 0, 109, 0,
- 0, 0, 0, 110, 111, 112, 0, 0, 0, 113,
- 114, 0, 528, 0, 247, 116, 0, 101, 102, 117,
- 103, 118, 0, 0, 0, 0, 119, 0, 0, 0,
- 120, 0, 0, 0, 121, 122, 0, 0, 104, 0,
- 15, 0, 105, 106, 107, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
- 0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
- 0, 0, 0, 115, 116, 0, 0, 0, 117, 0,
- 118, 0, 0, 0, 0, 119, 0, 0, 0, 120,
- 0, 0, 563, 121, 122, 5, 0, 7, 140, 0,
- 0, 0, 0, 9, 10, 11, 0, 0, 0, 563,
- 0, 0, 5, 0, 7, 140, 0, 0, 0, 13,
- 9, 10, 11, 0, 5, 6, 7, 8, 0, 0,
- 449, 0, 9, 10, 11, 0, 13, 0, 0, 0,
- 0, 16, 0, 0, 0, 0, 0, 0, 13, 4,
- 14, -129, 5, 6, 7, 8, 0, 0, 16, 0,
- 9, 10, 11, 22, -454, -454, -454, 0, 24, 0,
- 16, 0, 0, 564, -454, 12, 13, 0, 14, 15,
- 22, -453, -453, -453, 0, 24, 0, 0, 0, 0,
- 564, -453, 22, 0, 0, 0, 0, 24, 16, 0,
- 0, 17, 18, -129, 0, 0, 0, 0, 0, 0,
- 0, 0, -129, 0, 19, 20, 21, 0, 0, 0,
- 22, 0, 0, 0, 23, 24, 25, 26, 0, 4,
- 27, -129, 5, 6, 7, 8, 0, 0, 0, 0,
- 9, 10, 11, 0, 0, 0, 0, 0, 4, 0,
- -129, 5, 6, 7, 8, 0, 13, 0, 14, 9,
- 10, 11, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 13, 0, 14, 16, 0,
- 0, 549, 550, -129, 0, 0, 0, 0, 0, 0,
- 0, 0, -129, 0, 0, 0, 0, 16, 0, 0,
- 22, 0, -129, 447, 0, 24, 5, 6, 7, 8,
- 27, -129, 449, 0, 9, 10, 11, 0, 0, 22,
- 0, 0, 0, 0, 24, 5, 6, 7, 8, 27,
- 13, 0, 14, 9, 10, 11, 5, 89, 7, 90,
- 0, 0, 0, 0, 9, 10, 11, 0, 0, 13,
- 352, 14, 16, 5, 0, 7, 140, 0, 0, 0,
- 13, 9, 10, 11, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 0, 22, 0, 0, 13, 0, 24,
- 15, 0, 16, -399, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 22, 0, 0, 0, 0, 24, 16,
- 0, 0, 0, 821, 22, 0, 0, 0, 0, 24,
- 0, 0, 0, 0, 674, 0, 0, 0, 0, 149,
- 150, 22, 151, 152, 0, 0, 24, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
- 166, 167, 168, 169, 170, 171, 0, 0, 0, 0,
- 0, 0, 149, 150, 0, 151, 152, 0, 0, 172,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 0,
- 173, 0, 0, 0, 0, 0, 0, 149, 150, 0,
- 151, 152, 373, 174, 0, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 0, 0, 0, 0, 0, 0,
- 149, 150, 0, 151, 152, 0, 174, 172, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 5, 0, 7,
- 288, 0, 0, 0, 0, 9, 10, 11, 0, 0,
- 606, 174, 0, 0, 0, 0, 5, 6, 7, 8,
- 0, 13, 667, 14, 9, 10, 11, 5, 6, 7,
- 8, 0, 0, 0, 0, 9, 10, 11, 0, 0,
- 13, 0, 14, 16, 174, 0, 0, 0, 280, 0,
- 0, 13, 0, 14, 0, 0, 0, 281, 282, 0,
- 0, 0, 16, 0, 0, 22, 5, 6, 7, 8,
- 24, 0, 0, 16, 9, 10, 11, 5, 0, 7,
- 140, 0, 0, 0, 22, 9, 10, 11, 0, 24,
- 13, 0, 0, 0, 5, 22, 7, 288, 0, 0,
- 24, 13, 9, 10, 11, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 0, 0, 0, 0, 13, 0,
- 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 22, 0, 0, 0, 0, 24,
- 16, 0, 0, 0, 0, 22, 0, 0, 0, 0,
- 24, 0, 0, 0, 14, 0, 0, 0, 0, 0,
- 0, 0, 22, 0, 249, 250, 251, 24, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
- 264, 265, 249, 250, 251, 921, 252, 253, 254, 255,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- 249, 250, 251, 0, 252, 253, 254, 255, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265
-};
-
-static const short yycheck[] = { 56,
- 57, 16, 85, 36, 19, 20, 33, 200, 23, 83,
- 25, 26, 91, 324, 24, 316, 2, 3, 2, 3,
- 53, 54, 55, 38, 39, 40, 22, 209, 24, 343,
- 105, 106, 31, 80, 203, 349, 177, 112, 345, 2,
- 3, 286, 66, 270, 281, 2, 3, 80, 123, 177,
- 223, 578, 9, 10, 11, 88, 42, 67, 42, 74,
- 135, 71, 416, 223, 440, 515, 142, 95, 571, 145,
- 673, 67, 704, 194, 31, 71, 33, 1, 77, 42,
- 1, 344, 438, 1, 804, 42, 85, 9, 351, 10,
- 115, 331, 43, 108, 204, 1, 359, 624, 239, 30,
- 919, 0, 3, 1, 30, 3, 4, 5, 6, 7,
- 50, 280, 10, 64, 12, 13, 14, 43, 43, 1,
- 77, 3, 4, 0, 27, 50, 83, 41, 85, 948,
- 28, 146, 30, 148, 91, 214, 87, 3, 4, 332,
- 322, 42, 199, 50, 783, 595, 86, 597, 173, 63,
- 343, 30, 50, 792, 3, 4, 349, 172, 64, 81,
- 880, 64, 65, 87, 82, 797, 87, 182, 183, 409,
- 185, 186, 622, 43, 72, 208, 413, 64, 423, 77,
- 50, 238, 419, 81, 357, 142, 219, 714, 145, 429,
- 72, 3, 191, 913, 64, 77, 195, 357, 918, 426,
- 920, 557, 43, 82, 83, 204, 72, 286, 64, 929,
- 43, 77, 227, 43, 271, 240, 409, 820, 30, 340,
- 245, 87, 247, 72, 856, 282, 241, 337, 77, 3,
- 4, 341, 3, 4, 191, 376, 283, 194, 195, 223,
- 81, 961, 43, 55, 545, 3, 4, 204, 81, 50,
- 283, 81, 64, 268, 269, 1, 30, 214, 4, 5,
- 6, 7, 27, 766, 767, 30, 12, 13, 14, 64,
- 510, 444, 648, 513, 299, 5, 41, 7, 82, 32,
- 33, 55, 28, 639, 444, 478, 64, 480, 30, 346,
- 64, 65, 307, 70, 369, 82, 83, 55, 538, 309,
- 3, 72, 81, 336, 50, 87, 77, 86, 3, 4,
- 53, 54, 666, 309, 72, 87, 87, 82, 511, 77,
- 513, 86, 64, 65, 281, 68, 72, 30, 87, 386,
- 358, 77, 360, 82, 81, 598, 599, 86, 337, 602,
- 641, 87, 341, 9, 423, 3, 4, 5, 6, 7,
- 365, 492, 55, 81, 881, 64, 65, 4, 86, 6,
- 7, 64, 65, 81, 421, 12, 13, 14, 86, 326,
- 3, 4, 81, 357, 82, 825, 64, 72, 86, 606,
- 337, 28, 77, 340, 341, 64, 3, 4, 64, 65,
- 7, 532, 87, 408, 7, 64, 659, 660, 661, 30,
- 627, 664, 665, 50, 532, 81, 127, 128, 433, 64,
- 425, 938, 939, 30, 72, 86, 81, 30, 82, 77,
- 657, 86, 86, 686, 451, 72, 80, 437, 691, 81,
- 77, 64, 677, 64, 65, 82, 83, 464, 55, 72,
- 81, 437, 55, 429, 77, 3, 4, 64, 87, 3,
- 4, 64, 65, 81, 440, 756, 413, 43, 86, 416,
- 77, 768, 419, 30, 489, 64, 429, 82, 609, 64,
- 65, 486, 429, 3, 4, 432, 30, 440, 651, 64,
- 707, 3, 4, 440, 747, 748, 749, 656, 55, 43,
- 83, 651, 685, 662, 451, 571, 572, 64, 65, 82,
- 30, 55, 83, 86, 81, 3, 64, 534, 30, 7,
- 64, 64, 65, 43, 72, 530, 539, 82, 82, 77,
- 543, 86, 86, 77, 33, 55, 789, 554, 81, 766,
- 767, 81, 30, 55, 64, 780, 773, 774, 64, 65,
- 59, 60, 64, 62, 63, 64, 65, 77, 57, 64,
- 65, 537, 81, 552, 817, 77, 43, 55, 82, 73,
- 74, 75, 81, 81, 647, 588, 64, 624, 591, 83,
- 32, 82, 571, 572, 537, 86, 81, 534, 652, 653,
- 537, 59, 60, 884, 62, 63, 64, 65, 64, 852,
- 82, 83, 675, 81, 908, 552, 910, 554, 677, 614,
- 82, 354, 10, 356, 3, 4, 115, 81, 7, 624,
- 68, 658, 686, 687, 571, 572, 663, 82, 575, 643,
- 644, 86, 637, 87, 81, 658, 27, 73, 74, 75,
- 663, 30, 895, 632, 9, 82, 145, 83, 624, 86,
- 624, 82, 3, 82, 955, 86, 7, 86, 647, 73,
- 74, 75, 963, 73, 74, 75, 55, 714, 657, 83,
- 88, 624, 648, 83, 173, 64, 65, 624, 725, 30,
- 745, 6, 7, 64, 65, 632, 675, 12, 13, 14,
- 695, 55, 56, 57, 82, 648, 41, 440, 72, 646,
- 647, 648, 82, 875, 55, 652, 653, 450, 451, 714,
- 657, 780, 41, 64, 65, 86, 43, 43, 735, 666,
- 81, 726, 769, 81, 223, 908, 673, 910, 675, 729,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 686,
- 687, 240, 728, 729, 81, 81, 245, 81, 247, 822,
- 53, 54, 55, 56, 57, 802, 820, 81, 805, 806,
- 88, 81, 68, 81, 87, 788, 813, 88, 68, 745,
- 81, 745, 81, 41, 88, 83, 81, 766, 767, 843,
- 27, 828, 83, 30, 773, 774, 83, 43, 735, 83,
- 533, 83, 745, 88, 41, 81, 86, 82, 745, 81,
- 299, 82, 3, 1, 87, 83, 4, 5, 6, 7,
- 553, 554, 10, 860, 12, 13, 14, 64, 65, 766,
- 767, 82, 565, 566, 871, 43, 773, 774, 86, 83,
- 28, 81, 68, 822, 881, 82, 231, 88, 83, 86,
- 43, 584, 585, 43, 83, 86, 835, 43, 64, 244,
- 64, 64, 50, 43, 249, 250, 82, 356, 357, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 82, 919, 820, 72, 822, 881, 7, 43, 77,
- 82, 16, 68, 1, 43, 3, 64, 82, 835, 87,
- 8, 9, 86, 11, 82, 942, 843, 82, 64, 68,
- 83, 948, 83, 17, 88, 648, 81, 68, 82, 81,
- 81, 29, 82, 31, 81, 33, 34, 35, 82, 9,
- 82, 64, 82, 86, 5, 6, 7, 45, 82, 81,
- 48, 12, 13, 14, 433, 53, 54, 55, 82, 81,
- 10, 59, 60, 82, 0, 444, 64, 65, 0, 30,
- 426, 69, 451, 71, 805, 332, 745, 676, 76, 511,
- 87, 683, 80, 425, 488, 464, 84, 85, 795, 87,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 703, 357,
- 489, 734, 735, 388, 389, 1, 289, 3, 4, 5,
- 6, 7, 8, 9, 685, 11, 12, 13, 14, 15,
- 480, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 365, 511, 410, 486, 581, 534, 881, 881, 513, 45,
- 943, 420, 48, 945, 50, 432, 432, 53, 54, 55,
- 575, 25, 562, 59, 60, 554, 653, 843, 64, 65,
- 840, 555, 308, 69, 537, 71, 72, 566, 428, 835,
- 76, 77, 532, 428, 80, 707, 82, 83, 84, 85,
- 609, 87, -1, -1, -1, 376, 585, -1, -1, -1,
- 485, -1, 1, -1, 3, 4, 5, 6, 7, 8,
- 9, -1, 11, 12, 13, 14, 15, 502, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, -1, 33, 34, 35, 50, 51, 52,
- 53, 54, 55, 56, 57, -1, 45, -1, -1, 48,
- -1, 50, -1, -1, 53, 54, 55, -1, -1, -1,
- 59, 60, 651, -1, -1, 64, 65, 5, 6, 7,
- 69, -1, 71, 72, 12, 13, 14, 76, 77, -1,
- -1, 80, -1, 82, 83, 84, 85, -1, 87, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 587, -1, -1, 1, -1, 3, 4, 5,
- 6, 7, 8, 9, -1, 11, 12, 13, 14, 15,
- 605, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, -1, 33, 34, 35,
- -1, -1, -1, -1, -1, -1, 735, -1, -1, 45,
- -1, -1, 48, -1, 50, -1, -1, 53, 54, 55,
- -1, -1, -1, 59, 60, -1, -1, -1, 64, 65,
- -1, -1, -1, 69, -1, 71, 72, -1, -1, -1,
- 76, 77, -1, -1, 80, -1, 82, -1, 84, 85,
- -1, 87, 4, 5, 6, 7, -1, -1, 683, -1,
- 12, 13, 14, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, -1, 28, -1, 30, 704,
- -1, -1, -1, -1, -1, -1, 711, 51, 52, 53,
- 54, 55, 56, 57, -1, -1, 721, -1, 50, -1,
- -1, -1, 40, 41, 42, -1, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 72, 1, -1, 3, 4, 77, -1, -1, 8, 9,
- 82, 11, -1, -1, -1, 15, 761, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 86, 29,
- -1, 31, -1, 33, 34, 35, -1, -1, 783, -1,
- -1, 786, -1, -1, -1, 45, -1, 792, 48, -1,
- 795, -1, 797, 53, 54, 55, -1, -1, -1, 59,
- 60, -1, -1, -1, 64, 65, -1, -1, -1, 69,
- -1, 71, 72, -1, -1, -1, 76, 77, -1, -1,
- 80, -1, 82, 83, 84, 85, -1, 87, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 842, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 853, -1,
- 1, 856, 3, 4, -1, -1, -1, 8, 9, -1,
- 11, 866, -1, -1, 15, -1, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, -1, 29, -1,
- 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 45, -1, -1, 48, -1, -1,
- -1, -1, 53, 54, 55, -1, -1, -1, 59, 60,
- -1, -1, -1, 64, 65, -1, -1, -1, 69, -1,
- 71, 72, -1, -1, -1, 76, 77, -1, -1, 80,
- -1, 82, -1, 84, 85, 1, 87, 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, 31, -1, 33, 34, 35,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 45,
- -1, -1, 48, -1, -1, -1, -1, 53, 54, 55,
- -1, -1, -1, 59, 60, -1, -1, -1, 64, 65,
- -1, -1, -1, 69, -1, 71, 72, -1, -1, -1,
- 76, 77, -1, -1, 80, -1, 82, -1, 84, 85,
- 1, 87, 3, 4, -1, 6, 7, 8, 9, -1,
- 11, 12, 13, 14, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, -1, -1, 28, 29, -1,
- 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 45, -1, -1, 48, -1, 50,
- -1, -1, 53, 54, 55, -1, -1, -1, 59, 60,
- -1, -1, -1, 64, 65, -1, -1, -1, 69, -1,
- 71, 72, -1, -1, -1, 76, 77, -1, -1, 80,
- -1, -1, -1, 84, 85, 1, 87, 3, 4, -1,
- -1, -1, 8, 9, 42, 11, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- -1, -1, -1, 29, -1, 31, -1, 33, 34, 35,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 45,
- -1, -1, 48, -1, -1, -1, -1, 53, 54, 55,
- -1, -1, -1, 59, 60, -1, -1, 63, 64, 65,
- -1, -1, -1, 69, -1, 71, 72, -1, -1, -1,
- 76, 77, -1, -1, 80, -1, -1, 83, 84, 85,
- 1, 87, 3, 4, -1, -1, -1, 8, 9, -1,
- 11, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 29, -1,
- 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 45, -1, -1, 48, -1, -1,
- -1, -1, 53, 54, 55, -1, -1, -1, 59, 60,
- -1, -1, 63, 64, 65, -1, -1, -1, 69, -1,
- 71, 72, -1, -1, -1, 76, 77, -1, -1, 80,
- -1, -1, 83, 84, 85, 1, 87, 3, -1, -1,
- -1, -1, 8, 9, -1, 11, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 29, -1, 31, -1, 33, 34, 35,
- -1, -1, -1, -1, -1, 41, -1, -1, -1, 45,
- -1, -1, 48, -1, -1, -1, -1, 53, 54, 55,
- -1, -1, -1, 59, 60, -1, -1, 63, 64, 65,
- -1, -1, -1, 69, -1, 71, -1, -1, -1, -1,
- 76, -1, -1, -1, 80, 1, -1, 3, 84, 85,
- -1, 87, 8, 9, -1, 11, 1, -1, -1, 4,
- -1, 6, 7, -1, -1, -1, -1, 12, 13, 14,
- -1, -1, -1, 29, -1, 31, -1, 33, 34, 35,
- -1, -1, -1, 28, -1, -1, 31, -1, -1, 45,
- -1, -1, 48, -1, -1, -1, -1, 53, 54, 55,
- -1, -1, -1, 59, 60, 50, -1, -1, 64, 65,
- -1, -1, -1, 69, -1, 71, -1, -1, -1, -1,
- 76, -1, -1, -1, 80, -1, -1, 72, 84, 85,
- 1, 87, 77, 4, 5, 6, 7, 82, 83, -1,
- -1, 12, 13, 14, -1, -1, -1, -1, -1, 1,
- -1, -1, 4, 5, 6, 7, 27, 28, -1, 30,
- 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
- 41, -1, -1, -1, -1, 27, 28, -1, 30, 50,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
- -1, -1, -1, 64, 65, -1, -1, -1, 50, -1,
- -1, 72, -1, -1, -1, -1, 77, -1, -1, -1,
- -1, 82, 64, 65, -1, 86, 87, -1, -1, -1,
- 72, -1, -1, -1, -1, 77, -1, -1, -1, -1,
- 82, -1, -1, 1, 86, 87, 4, 5, 6, 7,
- -1, -1, -1, -1, 12, 13, 14, -1, -1, -1,
- -1, -1, 1, -1, -1, 4, 5, 6, 7, 27,
- 28, -1, 30, 12, 13, 14, -1, 4, 5, 6,
- 7, -1, -1, 41, -1, 12, 13, 14, -1, 28,
- -1, 30, 50, 1, -1, -1, 4, 5, 6, 7,
- -1, 28, -1, 30, 12, 13, 14, -1, -1, -1,
- -1, 50, -1, -1, 72, -1, -1, -1, -1, 77,
- 28, -1, 30, 50, 82, -1, 3, -1, 86, 87,
- -1, 8, 9, 72, 11, -1, -1, -1, 77, -1,
- -1, -1, 50, -1, -1, 72, -1, -1, 87, -1,
- 77, -1, 29, -1, 31, 82, 33, 34, 35, -1,
- -1, -1, -1, -1, 72, -1, -1, -1, 45, 77,
- -1, 48, -1, -1, -1, -1, 53, 54, 55, 87,
- -1, -1, 59, 60, -1, -1, -1, 64, 65, -1,
- 3, -1, 69, -1, 71, 8, 9, -1, 11, 76,
- -1, -1, -1, 80, -1, -1, -1, 84, 85, -1,
- -1, 88, -1, -1, -1, -1, 29, -1, 31, -1,
- 33, 34, 35, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 45, -1, -1, 48, -1, -1, -1, -1,
- 53, 54, 55, -1, -1, -1, 59, 60, -1, -1,
- -1, 64, 65, -1, 3, -1, 69, -1, 71, 8,
- 9, -1, 11, 76, -1, -1, -1, 80, -1, -1,
- -1, 84, 85, -1, -1, 88, -1, -1, -1, -1,
- 29, -1, 31, -1, 33, 34, 35, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 45, -1, -1, 48,
- -1, -1, -1, -1, 53, 54, 55, -1, -1, -1,
- 59, 60, -1, -1, -1, 64, 65, -1, 3, -1,
- 69, -1, 71, 8, 9, -1, 11, 76, -1, -1,
- -1, 80, -1, -1, -1, 84, 85, -1, -1, 88,
- -1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
- 35, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 45, -1, -1, 48, -1, -1, -1, -1, 53, 54,
- 55, -1, -1, -1, 59, 60, -1, -1, -1, 64,
- 65, -1, 3, -1, 69, -1, 71, 8, 9, -1,
- 11, 76, -1, -1, -1, 80, -1, -1, -1, 84,
- 85, -1, -1, 88, -1, -1, -1, -1, 29, -1,
- 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 45, -1, -1, 48, -1, -1,
- -1, -1, 53, 54, 55, -1, -1, -1, 59, 60,
- -1, -1, -1, 64, 65, -1, -1, -1, 69, -1,
- 71, -1, -1, -1, -1, 76, -1, -1, -1, 80,
- -1, -1, -1, 84, 85, -1, -1, 88, 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, 30, 31, -1, 33, 34,
- 35, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 45, -1, -1, 48, -1, 50, -1, -1, 53, 54,
- 55, -1, -1, -1, 59, 60, -1, -1, -1, 64,
- 65, -1, -1, -1, 69, -1, 71, 72, -1, -1,
- -1, 76, 77, -1, -1, 80, -1, 82, -1, 84,
- 85, -1, 87, 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, 31, -1, 33, 34, 35, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 45, -1, -1, 48, -1,
- -1, -1, -1, 53, 54, 55, -1, -1, -1, 59,
- 60, -1, 3, -1, 64, 65, -1, 8, 9, 69,
- 11, 71, 72, -1, -1, -1, 76, 77, -1, -1,
- 80, -1, 82, -1, 84, 85, -1, 87, 29, -1,
- 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 45, -1, -1, 48, -1, -1,
- -1, -1, 53, 54, 55, -1, -1, -1, 59, 60,
- -1, -1, -1, 64, 65, -1, -1, -1, 69, -1,
- 71, -1, -1, -1, -1, 76, -1, -1, -1, 80,
- -1, -1, -1, 84, 85, -1, 87, 3, 4, -1,
- 6, 7, -1, -1, -1, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, -1, 3, 4, 5, 6, 7,
- 8, 9, -1, 11, 12, 13, 14, 43, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, 30, 31, -1, 33, 34, 35, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 45, -1, -1,
- 48, 77, 50, -1, -1, 53, 54, 55, -1, -1,
- 86, 59, 60, -1, -1, -1, 64, 65, -1, -1,
- -1, 69, -1, 71, 72, -1, -1, -1, 76, 77,
- -1, -1, 80, -1, -1, -1, 84, 85, 3, 4,
- -1, 6, 7, 8, 9, -1, 11, 12, 13, 14,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 28, 29, -1, 31, -1, 33, 34,
- 35, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 45, -1, -1, 48, -1, 50, -1, -1, 53, 54,
- 55, -1, -1, -1, 59, 60, -1, 3, -1, 64,
- 65, -1, 8, 9, 69, 11, 71, 72, -1, -1,
- -1, 76, 77, -1, -1, 80, -1, -1, -1, 84,
- 85, -1, -1, 29, -1, 31, -1, 33, 34, 35,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 45,
- -1, -1, 48, -1, -1, -1, -1, 53, 54, 55,
- -1, -1, -1, 59, 60, -1, 3, -1, 64, 65,
- -1, 8, 9, 69, 11, 71, 72, -1, -1, -1,
- 76, -1, -1, -1, 80, -1, -1, -1, 84, 85,
- -1, -1, 29, -1, 31, -1, 33, 34, 35, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
- -1, 48, -1, -1, -1, -1, 53, 54, 55, -1,
- -1, -1, 59, 60, -1, 3, -1, 64, 65, -1,
- 8, 9, 69, 11, 71, -1, -1, -1, -1, 76,
- -1, -1, -1, 80, -1, 82, -1, 84, 85, -1,
- -1, 29, -1, 31, -1, 33, 34, 35, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 45, -1, -1,
- 48, -1, -1, -1, -1, 53, 54, 55, -1, -1,
- -1, 59, 60, -1, 3, -1, 64, 65, -1, 8,
- 9, 69, 11, 71, -1, -1, -1, -1, 76, -1,
- -1, -1, 80, -1, -1, -1, 84, 85, -1, -1,
- 29, -1, 31, -1, 33, 34, 35, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 45, -1, -1, 48,
- -1, -1, -1, -1, 53, 54, 55, -1, -1, -1,
- 59, 60, -1, 3, -1, 64, 65, -1, 8, 9,
- 69, 11, 71, -1, -1, -1, -1, 76, -1, -1,
- -1, 80, -1, -1, -1, 84, 85, -1, -1, 29,
- -1, 31, -1, 33, 34, 35, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 45, -1, -1, 48, -1,
- -1, -1, -1, 53, 54, 55, -1, -1, -1, 59,
- 60, -1, 3, -1, 64, 65, -1, 8, 9, 69,
- 11, 71, -1, -1, -1, -1, 76, -1, -1, -1,
- 80, -1, -1, -1, 84, 85, -1, -1, 29, -1,
- 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 45, -1, -1, 48, -1, -1,
- -1, -1, 53, 54, 55, -1, -1, -1, 59, 60,
- -1, -1, -1, 64, 65, -1, -1, -1, 69, -1,
- 71, -1, -1, -1, -1, 76, -1, -1, -1, 80,
- -1, -1, 1, 84, 85, 4, -1, 6, 7, -1,
- -1, -1, -1, 12, 13, 14, -1, -1, -1, 1,
- -1, -1, 4, -1, 6, 7, -1, -1, -1, 28,
- 12, 13, 14, -1, 4, 5, 6, 7, -1, -1,
- 10, -1, 12, 13, 14, -1, 28, -1, -1, -1,
- -1, 50, -1, -1, -1, -1, -1, -1, 28, 1,
- 30, 3, 4, 5, 6, 7, -1, -1, 50, -1,
- 12, 13, 14, 72, 73, 74, 75, -1, 77, -1,
- 50, -1, -1, 82, 83, 27, 28, -1, 30, 31,
- 72, 73, 74, 75, -1, 77, -1, -1, -1, -1,
- 82, 83, 72, -1, -1, -1, -1, 77, 50, -1,
- -1, 53, 54, 55, -1, -1, -1, -1, -1, -1,
- -1, -1, 64, -1, 66, 67, 68, -1, -1, -1,
- 72, -1, -1, -1, 76, 77, 78, 79, -1, 1,
- 82, 3, 4, 5, 6, 7, -1, -1, -1, -1,
- 12, 13, 14, -1, -1, -1, -1, -1, 1, -1,
- 3, 4, 5, 6, 7, -1, 28, -1, 30, 12,
- 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 28, -1, 30, 50, -1,
- -1, 53, 54, 55, -1, -1, -1, -1, -1, -1,
- -1, -1, 64, -1, -1, -1, -1, 50, -1, -1,
- 72, -1, 55, 1, -1, 77, 4, 5, 6, 7,
- 82, 64, 10, -1, 12, 13, 14, -1, -1, 72,
- -1, -1, -1, -1, 77, 4, 5, 6, 7, 82,
- 28, -1, 30, 12, 13, 14, 4, 5, 6, 7,
- -1, -1, -1, -1, 12, 13, 14, -1, -1, 28,
- 1, 30, 50, 4, -1, 6, 7, -1, -1, -1,
- 28, 12, 13, 14, -1, -1, -1, -1, -1, -1,
- -1, 50, -1, -1, 72, -1, -1, 28, -1, 77,
- 31, -1, 50, 81, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 72, -1, -1, -1, -1, 77, 50,
- -1, -1, -1, 82, 72, -1, -1, -1, -1, 77,
- -1, -1, -1, -1, 82, -1, -1, -1, -1, 3,
- 4, 72, 6, 7, -1, -1, 77, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
- -1, -1, 3, 4, -1, 6, 7, -1, -1, 43,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
- 64, -1, -1, -1, -1, -1, -1, 3, 4, -1,
- 6, 7, 43, 77, -1, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, -1, -1, -1, -1, -1, -1,
- 3, 4, -1, 6, 7, -1, 77, 43, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 4, -1, 6,
- 7, -1, -1, -1, -1, 12, 13, 14, -1, -1,
- 43, 77, -1, -1, -1, -1, 4, 5, 6, 7,
- -1, 28, 10, 30, 12, 13, 14, 4, 5, 6,
- 7, -1, -1, -1, -1, 12, 13, 14, -1, -1,
- 28, -1, 30, 50, 77, -1, -1, -1, 55, -1,
- -1, 28, -1, 30, -1, -1, -1, 64, 65, -1,
- -1, -1, 50, -1, -1, 72, 4, 5, 6, 7,
- 77, -1, -1, 50, 12, 13, 14, 4, -1, 6,
- 7, -1, -1, -1, 72, 12, 13, 14, -1, 77,
- 28, -1, -1, -1, 4, 72, 6, 7, -1, -1,
- 77, 28, 12, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, 50, -1, -1, -1, -1, -1, 28, -1,
- -1, -1, -1, 50, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 72, -1, -1, -1, -1, 77,
- 50, -1, -1, -1, -1, 72, -1, -1, -1, -1,
- 77, -1, -1, -1, 30, -1, -1, -1, -1, -1,
- -1, -1, 72, -1, 40, 41, 42, 77, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 40, 41, 42, -1, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57
-};
-/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/share/misc/bison.simple"
-/* This file comes from bison-1.28. */
-
-/* Skeleton output parser for bison,
- Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
-
- 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 2, 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., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
-
-/* 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. */
-
-#ifndef YYSTACK_USE_ALLOCA
-#ifdef alloca
-#define YYSTACK_USE_ALLOCA
-#else /* alloca not defined */
-#ifdef __GNUC__
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#else /* not GNU C. */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-#define YYSTACK_USE_ALLOCA
-#include <alloca.h>
-#else /* not sparc */
-/* We think this test detects Watcom and Microsoft C. */
-/* This used to test MSDOS, but that is a bad idea
- since that symbol is in the user namespace. */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-#if 0 /* No need for malloc.h, which pollutes the namespace;
- instead, just don't use alloca. */
-#include <malloc.h>
-#endif
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-/* I don't know what this was needed for, but it pollutes the namespace.
- So I turned it off. rms, 2 May 1997. */
-/* #include <malloc.h> */
- #pragma alloca
-#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
-#if 0
-#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
- and on HPUX 10. Eventually we can turn this on. */
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#endif /* __hpux */
-#endif
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc */
-#endif /* not GNU C */
-#endif /* alloca not defined */
-#endif /* YYSTACK_USE_ALLOCA not defined */
-
-#ifdef YYSTACK_USE_ALLOCA
-#define YYSTACK_ALLOC alloca
-#else
-#define YYSTACK_ALLOC malloc
-#endif
-
-/* 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 goto yyacceptlab
-#define YYABORT goto yyabortlab
-#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
-#ifdef YYLEX_PARAM
-#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX yylex(&yylval, &yylloc)
-#endif
-#else /* not YYLSP_NEEDED */
-#ifdef YYLEX_PARAM
-#define YYLEX yylex(&yylval, YYLEX_PARAM)
-#else
-#define YYLEX yylex(&yylval)
-#endif
-#endif /* not YYLSP_NEEDED */
-#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
-
-/* Define __yy_memcpy. Note that the size argument
- should be passed with type unsigned int, because that is what the non-GCC
- definitions require. With GCC, __builtin_memcpy takes an arg
- of type size_t, but it can handle unsigned int. */
-
-#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
-#define __yy_memcpy(TO,FROM,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_memcpy (to, from, count)
- char *to;
- char *from;
- unsigned 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_memcpy (char *to, char *from, unsigned int count)
-{
- register char *t = to;
- register char *f = from;
- register int i = count;
-
- while (i-- > 0)
- *t++ = *f++;
-}
-
-#endif
-#endif
-
-#line 217 "/usr/share/misc/bison.simple"
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
- into yyparse. The argument should have type void *.
- It should actually point to an object.
- Grammar actions can access the variable by casting it
- to the proper pointer type. */
-
-#ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes. */
-#ifdef __GNUC__
-#ifdef YYPARSE_PARAM
-int yyparse (void *);
-#else
-int yyparse (void);
-#endif
-#endif
-
-int
-yyparse(YYPARSE_PARAM_ARG)
- YYPARSE_PARAM_DECL
-{
- 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;
- int yyfree_stacks = 0;
-
-#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");
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 2;
- }
- yystacksize *= 2;
- if (yystacksize > YYMAXDEPTH)
- yystacksize = YYMAXDEPTH;
-#ifndef YYSTACK_USE_ALLOCA
- yyfree_stacks = 1;
-#endif
- yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
- __yy_memcpy ((char *)yyss, (char *)yyss1,
- size * (unsigned int) sizeof (*yyssp));
- yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
- __yy_memcpy ((char *)yyvs, (char *)yyvs1,
- size * (unsigned int) sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
- yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
- __yy_memcpy ((char *)yyls, (char *)yyls1,
- size * (unsigned int) 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 262 "objc-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids an empty source file");
- finish_file ();
- ;
- break;}
-case 2:
-#line 267 "objc-parse.y"
-{
- /* In case there were missing closebraces,
- get us back to the global binding level. */
- while (! global_bindings_p ())
- poplevel (0, 0, 0);
- finish_file ();
- ;
- break;}
-case 3:
-#line 281 "objc-parse.y"
-{yyval.ttype = NULL_TREE; ;
- break;}
-case 5:
-#line 282 "objc-parse.y"
-{yyval.ttype = NULL_TREE; ;
- break;}
-case 10:
-#line 290 "objc-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 11:
-#line 298 "objc-parse.y"
-{ RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
- break;}
-case 12:
-#line 303 "objc-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");
-
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 13:
-#line 312 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 14:
-#line 316 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 15:
-#line 320 "objc-parse.y"
-{ pedwarn ("empty declaration"); ;
- break;}
-case 16:
-#line 322 "objc-parse.y"
-{ shadow_tag (yyvsp[-1].ttype); ;
- break;}
-case 19:
-#line 326 "objc-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
- break;}
-case 20:
-#line 332 "objc-parse.y"
-{ if (! start_function (current_declspecs, yyvsp[0].ttype,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); ;
- break;}
-case 21:
-#line 337 "objc-parse.y"
-{ store_parm_decls (); ;
- break;}
-case 22:
-#line 339 "objc-parse.y"
-{ finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 23:
-#line 344 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 24:
-#line 348 "objc-parse.y"
-{ if (! start_function (current_declspecs, yyvsp[0].ttype,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); ;
- break;}
-case 25:
-#line 353 "objc-parse.y"
-{ store_parm_decls (); ;
- break;}
-case 26:
-#line 355 "objc-parse.y"
-{ finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 27:
-#line 360 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 28:
-#line 364 "objc-parse.y"
-{ if (! start_function (NULL_TREE, yyvsp[0].ttype,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); ;
- break;}
-case 29:
-#line 369 "objc-parse.y"
-{ store_parm_decls (); ;
- break;}
-case 30:
-#line 371 "objc-parse.y"
-{ finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 31:
-#line 376 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 36:
-#line 389 "objc-parse.y"
-{ yyval.code = ADDR_EXPR; ;
- break;}
-case 37:
-#line 391 "objc-parse.y"
-{ yyval.code = NEGATE_EXPR; ;
- break;}
-case 38:
-#line 393 "objc-parse.y"
-{ yyval.code = CONVERT_EXPR; ;
- break;}
-case 39:
-#line 395 "objc-parse.y"
-{ yyval.code = PREINCREMENT_EXPR; ;
- break;}
-case 40:
-#line 397 "objc-parse.y"
-{ yyval.code = PREDECREMENT_EXPR; ;
- break;}
-case 41:
-#line 399 "objc-parse.y"
-{ yyval.code = BIT_NOT_EXPR; ;
- break;}
-case 42:
-#line 401 "objc-parse.y"
-{ yyval.code = TRUTH_NOT_EXPR; ;
- break;}
-case 43:
-#line 405 "objc-parse.y"
-{ yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
- break;}
-case 44:
-#line 410 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 46:
-#line 416 "objc-parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 47:
-#line 418 "objc-parse.y"
-{ chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 49:
-#line 424 "objc-parse.y"
-{ yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
- break;}
-case 50:
-#line 427 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
- break;}
-case 51:
-#line 430 "objc-parse.y"
-{ yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
- overflow_warning (yyval.ttype); ;
- break;}
-case 52:
-#line 434 "objc-parse.y"
-{ tree label = lookup_label (yyvsp[0].ttype);
- if (pedantic)
- pedwarn ("ANSI C forbids `&&'");
- if (label == 0)
- yyval.ttype = null_pointer_node;
- else
- {
- TREE_USED (label) = 1;
- yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
- TREE_CONSTANT (yyval.ttype) = 1;
- }
- ;
- break;}
-case 53:
-#line 462 "objc-parse.y"
-{ skip_evaluation--;
- if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
- && DECL_C_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 54:
-#line 468 "objc-parse.y"
-{ skip_evaluation--;
- yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
- break;}
-case 55:
-#line 471 "objc-parse.y"
-{ skip_evaluation--;
- yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
- break;}
-case 56:
-#line 474 "objc-parse.y"
-{ skip_evaluation--;
- yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
- break;}
-case 57:
-#line 477 "objc-parse.y"
-{ yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
- break;}
-case 58:
-#line 479 "objc-parse.y"
-{ yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
- break;}
-case 59:
-#line 481 "objc-parse.y"
-{ yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
- break;}
-case 60:
-#line 485 "objc-parse.y"
-{ skip_evaluation++; ;
- break;}
-case 61:
-#line 489 "objc-parse.y"
-{ skip_evaluation++; ;
- break;}
-case 63:
-#line 495 "objc-parse.y"
-{ tree type = groktypename (yyvsp[-2].ttype);
- yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
- break;}
-case 64:
-#line 498 "objc-parse.y"
-{ start_init (NULL_TREE, NULL, 0);
- yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
- really_start_incremental_init (yyvsp[-2].ttype); ;
- break;}
-case 65:
-#line 502 "objc-parse.y"
-{ const char *name;
- tree result = pop_init_level (0);
- tree type = yyvsp[-5].ttype;
- finish_init ();
-
- if (pedantic && ! flag_isoc99)
- 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 = result;
- if (TREE_CODE (type) == ARRAY_TYPE && !COMPLETE_TYPE_P (type))
- {
- int failure = complete_array_type (type, yyval.ttype, 1);
- if (failure)
- abort ();
- }
- ;
- break;}
-case 67:
-#line 531 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 68:
-#line 533 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 69:
-#line 535 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 70:
-#line 537 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 71:
-#line 539 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 72:
-#line 541 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 73:
-#line 543 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 74:
-#line 545 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 75:
-#line 547 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 76:
-#line 549 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 77:
-#line 551 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 78:
-#line 553 "objc-parse.y"
-{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 79:
-#line 555 "objc-parse.y"
-{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
- skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
- break;}
-case 80:
-#line 558 "objc-parse.y"
-{ skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
- yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
- break;}
-case 81:
-#line 561 "objc-parse.y"
-{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
- skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
- break;}
-case 82:
-#line 564 "objc-parse.y"
-{ skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
- yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
- break;}
-case 83:
-#line 567 "objc-parse.y"
-{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
- skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
- break;}
-case 84:
-#line 570 "objc-parse.y"
-{ skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
- - (yyvsp[-4].ttype == boolean_false_node)); ;
- break;}
-case 85:
-#line 573 "objc-parse.y"
-{ skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
- yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
- break;}
-case 86:
-#line 576 "objc-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
- /* Make sure first operand is calculated only once. */
- yyvsp[0].ttype = save_expr (yyvsp[-1].ttype);
- yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype));
- skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
- break;}
-case 87:
-#line 583 "objc-parse.y"
-{ skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
- yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
- break;}
-case 88:
-#line 586 "objc-parse.y"
-{ char class;
- yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
- class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
- if (class == 'e' || class == '1'
- || class == '2' || class == '<')
- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR);
- ;
- break;}
-case 89:
-#line 594 "objc-parse.y"
-{ char class;
- yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
- /* This inhibits warnings in truthvalue_conversion. */
- class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
- if (class == 'e' || class == '1'
- || class == '2' || class == '<')
- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK);
- ;
- break;}
-case 90:
-#line 606 "objc-parse.y"
-{
- if (yychar == YYEMPTY)
- yychar = YYLEX;
- yyval.ttype = build_external_ref (yyvsp[0].ttype, yychar == '(');
- ;
- break;}
-case 92:
-#line 613 "objc-parse.y"
-{ yyval.ttype = combine_strings (yyvsp[0].ttype); ;
- break;}
-case 93:
-#line 615 "objc-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 94:
-#line 621 "objc-parse.y"
-{ yyval.ttype = error_mark_node; ;
- break;}
-case 95:
-#line 623 "objc-parse.y"
-{ tree rtl_exp;
- if (pedantic)
- pedwarn ("ANSI C forbids braced-groups within expressions");
- pop_iterator_stack ();
- 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;
-
- if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
- {
- /* 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);
- }
- else
- yyval.ttype = yyvsp[-1].ttype;
- ;
- break;}
-case 96:
-#line 646 "objc-parse.y"
-{
- /* Make sure we call expand_end_stmt_expr. Otherwise
- we are likely to lose sequences and crash later. */
- pop_iterator_stack ();
- pop_label_level ();
- expand_end_stmt_expr (yyvsp[-2].ttype);
- yyval.ttype = error_mark_node;
- ;
- break;}
-case 97:
-#line 655 "objc-parse.y"
-{ yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 98:
-#line 657 "objc-parse.y"
-{ yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 99:
-#line 659 "objc-parse.y"
-{
- if (doing_objc_thang)
- {
- if (is_public (yyvsp[-2].ttype, yyvsp[0].ttype))
- yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
- else
- yyval.ttype = error_mark_node;
- }
- else
- yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 100:
-#line 671 "objc-parse.y"
-{
- tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
-
- if (doing_objc_thang)
- {
- if (is_public (expr, yyvsp[0].ttype))
- yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
- else
- yyval.ttype = error_mark_node;
- }
- else
- yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
- ;
- break;}
-case 101:
-#line 685 "objc-parse.y"
-{ yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
- break;}
-case 102:
-#line 687 "objc-parse.y"
-{ yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
- break;}
-case 103:
-#line 689 "objc-parse.y"
-{ yyval.ttype = build_message_expr (yyvsp[0].ttype); ;
- break;}
-case 104:
-#line 691 "objc-parse.y"
-{ yyval.ttype = build_selector_expr (yyvsp[0].ttype); ;
- break;}
-case 105:
-#line 693 "objc-parse.y"
-{ yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ;
- break;}
-case 106:
-#line 695 "objc-parse.y"
-{ yyval.ttype = build_encode_expr (yyvsp[0].ttype); ;
- break;}
-case 107:
-#line 697 "objc-parse.y"
-{ yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ;
- break;}
-case 109:
-#line 704 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 111:
-#line 713 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 114:
-#line 721 "objc-parse.y"
-{ c_mark_varargs ();
- if (pedantic)
- pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
- break;}
-case 115:
-#line 731 "objc-parse.y"
-{ ;
- break;}
-case 120:
-#line 747 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 121:
-#line 751 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 122:
-#line 755 "objc-parse.y"
-{ shadow_tag_warned (yyvsp[-1].ttype, 1);
- pedwarn ("empty declaration"); ;
- break;}
-case 123:
-#line 758 "objc-parse.y"
-{ pedwarn ("empty declaration"); ;
- break;}
-case 124:
-#line 767 "objc-parse.y"
-{ ;
- break;}
-case 129:
-#line 782 "objc-parse.y"
-{ pending_xref_error ();
- declspec_stack = tree_cons (prefix_attributes,
- current_declspecs,
- declspec_stack);
- split_specs_attrs (yyvsp[0].ttype,
- &current_declspecs, &prefix_attributes); ;
- break;}
-case 130:
-#line 792 "objc-parse.y"
-{ prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
- break;}
-case 131:
-#line 797 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 132:
-#line 801 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 133:
-#line 805 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 134:
-#line 809 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 135:
-#line 813 "objc-parse.y"
-{ shadow_tag (yyvsp[-1].ttype); ;
- break;}
-case 136:
-#line 815 "objc-parse.y"
-{ pedwarn ("empty declaration"); ;
- break;}
-case 137:
-#line 817 "objc-parse.y"
-{ RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
- break;}
-case 138:
-#line 827 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 139:
-#line 829 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
- break;}
-case 140:
-#line 833 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 141:
-#line 835 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 142:
-#line 837 "objc-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 143:
-#line 842 "objc-parse.y"
-{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 144:
-#line 847 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 145:
-#line 849 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
- break;}
-case 146:
-#line 854 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 147:
-#line 856 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 148:
-#line 858 "objc-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 149:
-#line 871 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 150:
-#line 873 "objc-parse.y"
-{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
- break;}
-case 151:
-#line 875 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 152:
-#line 877 "objc-parse.y"
-{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 153:
-#line 882 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
- TREE_STATIC (yyval.ttype) = 1; ;
- break;}
-case 154:
-#line 885 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 155:
-#line 887 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;
- break;}
-case 156:
-#line 890 "objc-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 157:
-#line 904 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 158:
-#line 906 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
- break;}
-case 159:
-#line 910 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 160:
-#line 912 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 163:
-#line 922 "objc-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 164:
-#line 926 "objc-parse.y"
-{ yyval.ttype = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 165:
-#line 928 "objc-parse.y"
-{ yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
- break;}
-case 166:
-#line 933 "objc-parse.y"
-{ yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
- break;}
-case 167:
-#line 935 "objc-parse.y"
-{ yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
- break;}
-case 168:
-#line 937 "objc-parse.y"
-{ yyval.ttype = groktypename (yyvsp[-1].ttype); ;
- break;}
-case 176:
-#line 959 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 177:
-#line 961 "objc-parse.y"
-{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
- yyval.ttype = yyvsp[-1].ttype;
- ;
- break;}
-case 178:
-#line 968 "objc-parse.y"
-{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
- yyvsp[-1].ttype, prefix_attributes);
- start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
- break;}
-case 179:
-#line 973 "objc-parse.y"
-{ finish_init ();
- finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
- break;}
-case 180:
-#line 976 "objc-parse.y"
-{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
- yyvsp[0].ttype, prefix_attributes);
- finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
- ;
- break;}
-case 181:
-#line 984 "objc-parse.y"
-{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
- yyvsp[-1].ttype, prefix_attributes);
- start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
- break;}
-case 182:
-#line 989 "objc-parse.y"
-{ finish_init ();
- decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
- finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
- break;}
-case 183:
-#line 993 "objc-parse.y"
-{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
- yyvsp[0].ttype, prefix_attributes);
- finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 184:
-#line 1001 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 185:
-#line 1003 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 186:
-#line 1008 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 187:
-#line 1010 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 188:
-#line 1015 "objc-parse.y"
-{ yyval.ttype = yyvsp[-2].ttype; ;
- break;}
-case 189:
-#line 1020 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 190:
-#line 1022 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 191:
-#line 1027 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 192:
-#line 1029 "objc-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 193:
-#line 1031 "objc-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
- break;}
-case 194:
-#line 1033 "objc-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
- break;}
-case 195:
-#line 1035 "objc-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 201:
-#line 1053 "objc-parse.y"
-{ really_start_incremental_init (NULL_TREE); ;
- break;}
-case 202:
-#line 1055 "objc-parse.y"
-{ yyval.ttype = pop_init_level (0); ;
- break;}
-case 203:
-#line 1057 "objc-parse.y"
-{ yyval.ttype = error_mark_node; ;
- break;}
-case 204:
-#line 1063 "objc-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids empty initializer braces"); ;
- break;}
-case 210:
-#line 1079 "objc-parse.y"
-{ set_init_label (yyvsp[-1].ttype); ;
- break;}
-case 213:
-#line 1086 "objc-parse.y"
-{ push_init_level (0); ;
- break;}
-case 214:
-#line 1088 "objc-parse.y"
-{ process_init_element (pop_init_level (0)); ;
- break;}
-case 215:
-#line 1090 "objc-parse.y"
-{ process_init_element (yyvsp[0].ttype); ;
- break;}
-case 219:
-#line 1101 "objc-parse.y"
-{ set_init_label (yyvsp[0].ttype); ;
- break;}
-case 220:
-#line 1109 "objc-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, yyvsp[0].ttype,
- prefix_attributes, NULL_TREE))
- {
- pop_function_context ();
- YYERROR1;
- }
- reinit_parse_for_function (); ;
- break;}
-case 221:
-#line 1121 "objc-parse.y"
-{ store_parm_decls (); ;
- break;}
-case 222:
-#line 1129 "objc-parse.y"
-{ finish_function (1);
- pop_function_context (); ;
- break;}
-case 223:
-#line 1135 "objc-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, yyvsp[0].ttype,
- prefix_attributes, NULL_TREE))
- {
- pop_function_context ();
- YYERROR1;
- }
- reinit_parse_for_function (); ;
- break;}
-case 224:
-#line 1147 "objc-parse.y"
-{ store_parm_decls (); ;
- break;}
-case 225:
-#line 1155 "objc-parse.y"
-{ finish_function (1);
- pop_function_context (); ;
- break;}
-case 228:
-#line 1171 "objc-parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 229:
-#line 1173 "objc-parse.y"
-{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 230:
-#line 1178 "objc-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 231:
-#line 1180 "objc-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 232:
-#line 1182 "objc-parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 233:
-#line 1189 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 236:
-#line 1201 "objc-parse.y"
-{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 237:
-#line 1206 "objc-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 238:
-#line 1208 "objc-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 239:
-#line 1210 "objc-parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 240:
-#line 1217 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 242:
-#line 1226 "objc-parse.y"
-{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 243:
-#line 1231 "objc-parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 244:
-#line 1233 "objc-parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 245:
-#line 1235 "objc-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 246:
-#line 1237 "objc-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 247:
-#line 1244 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 249:
-#line 1250 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 250:
-#line 1252 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 251:
-#line 1257 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 252:
-#line 1259 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 253:
-#line 1264 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 254:
-#line 1266 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 255:
-#line 1271 "objc-parse.y"
-{ yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
- /* Start scope of tag before parsing components. */
- ;
- break;}
-case 256:
-#line 1275 "objc-parse.y"
-{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
- break;}
-case 257:
-#line 1277 "objc-parse.y"
-{ yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
- yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
- ;
- break;}
-case 258:
-#line 1281 "objc-parse.y"
-{ yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
- break;}
-case 259:
-#line 1283 "objc-parse.y"
-{ yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
- break;}
-case 260:
-#line 1285 "objc-parse.y"
-{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
- break;}
-case 261:
-#line 1287 "objc-parse.y"
-{ yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
- yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
- ;
- break;}
-case 262:
-#line 1291 "objc-parse.y"
-{ yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
- break;}
-case 263:
-#line 1293 "objc-parse.y"
-{ yyval.ttype = start_enum (yyvsp[-1].ttype); ;
- break;}
-case 264:
-#line 1295 "objc-parse.y"
-{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
- chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;
- break;}
-case 265:
-#line 1298 "objc-parse.y"
-{ yyval.ttype = start_enum (NULL_TREE); ;
- break;}
-case 266:
-#line 1300 "objc-parse.y"
-{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
- chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
- break;}
-case 267:
-#line 1303 "objc-parse.y"
-{ yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
- break;}
-case 271:
-#line 1314 "objc-parse.y"
-{ if (pedantic && ! flag_isoc99)
- pedwarn ("comma at end of enumerator list"); ;
- break;}
-case 272:
-#line 1320 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 273:
-#line 1322 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
- pedwarn ("no semicolon at end of struct or union"); ;
- break;}
-case 274:
-#line 1327 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 275:
-#line 1329 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
- break;}
-case 276:
-#line 1331 "objc-parse.y"
-{ if (pedantic)
- pedwarn ("extra semicolon in struct or union specified"); ;
- break;}
-case 277:
-#line 1335 "objc-parse.y"
-{
- tree interface = lookup_interface (yyvsp[-1].ttype);
-
- if (interface)
- yyval.ttype = get_class_ivars (interface);
- else
- {
- error ("Cannot find interface declaration for `%s'",
- IDENTIFIER_POINTER (yyvsp[-1].ttype));
- yyval.ttype = NULL_TREE;
- }
- ;
- break;}
-case 278:
-#line 1360 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 279:
-#line 1365 "objc-parse.y"
-{
- /* Support for unnamed structs or unions as members of
- structs or unions (which is [a] useful and [b] supports
- MS P-SDK). */
- if (pedantic)
- pedwarn ("ANSI C doesn't support unnamed structs/unions");
-
- yyval.ttype = grokfield(yyvsp[-2].filename, yyvsp[-1].lineno, NULL, current_declspecs, NULL_TREE);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- ;
- break;}
-case 280:
-#line 1378 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 281:
-#line 1383 "objc-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids member declarations with no members");
- shadow_tag(yyvsp[0].ttype);
- yyval.ttype = NULL_TREE; ;
- break;}
-case 282:
-#line 1388 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 283:
-#line 1390 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
- break;}
-case 285:
-#line 1397 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 286:
-#line 1402 "objc-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, prefix_attributes); ;
- break;}
-case 287:
-#line 1406 "objc-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, prefix_attributes); ;
- break;}
-case 288:
-#line 1409 "objc-parse.y"
-{ yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
- decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
- break;}
-case 290:
-#line 1421 "objc-parse.y"
-{ if (yyvsp[-2].ttype == error_mark_node)
- yyval.ttype = yyvsp[-2].ttype;
- else
- yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
- break;}
-case 291:
-#line 1426 "objc-parse.y"
-{ yyval.ttype = error_mark_node; ;
- break;}
-case 292:
-#line 1432 "objc-parse.y"
-{ yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 293:
-#line 1434 "objc-parse.y"
-{ yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 294:
-#line 1439 "objc-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 295:
-#line 1441 "objc-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 296:
-#line 1446 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 298:
-#line 1452 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 299:
-#line 1454 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 300:
-#line 1459 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 301:
-#line 1461 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
-case 302:
-#line 1466 "objc-parse.y"
-{ yyval.ttype = yyvsp[-1].ttype; ;
- break;}
-case 303:
-#line 1469 "objc-parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
-case 304:
-#line 1471 "objc-parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 305:
-#line 1473 "objc-parse.y"
-{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 306:
-#line 1475 "objc-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 307:
-#line 1477 "objc-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
-case 308:
-#line 1479 "objc-parse.y"
-{ yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
-case 309:
-#line 1481 "objc-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
-case 310:
-#line 1483 "objc-parse.y"
-{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
- break;}
-case 311:
-#line 1487 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 312:
-#line 1496 "objc-parse.y"
-{
- if (pedantic && yyvsp[0].ends_in_label)
- pedwarn ("ANSI C forbids label at end of compound statement");
- ;
- break;}
-case 314:
-#line 1505 "objc-parse.y"
-{ yyval.ends_in_label = yyvsp[0].ends_in_label; ;
- break;}
-case 315:
-#line 1507 "objc-parse.y"
-{ yyval.ends_in_label = 0; ;
- break;}
-case 319:
-#line 1519 "objc-parse.y"
-{ emit_line_note (input_filename, lineno);
- pushlevel (0);
- clear_last_expr ();
- expand_start_bindings (0);
- if (objc_method_context)
- add_objc_decls ();
- ;
- break;}
-case 321:
-#line 1533 "objc-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids label declarations"); ;
- break;}
-case 324:
-#line 1544 "objc-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 325:
-#line 1558 "objc-parse.y"
-{;
- break;}
-case 327:
-#line 1562 "objc-parse.y"
-{ compstmt_count++; ;
- break;}
-case 328:
-#line 1565 "objc-parse.y"
-{ yyval.ttype = convert (void_type_node, integer_zero_node); ;
- break;}
-case 329:
-#line 1567 "objc-parse.y"
-{ emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), 1, 0);
- yyval.ttype = poplevel (1, 1, 0); ;
- break;}
-case 330:
-#line 1571 "objc-parse.y"
-{ emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), kept_level_p (), 0);
- yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
- break;}
-case 331:
-#line 1575 "objc-parse.y"
-{ emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), kept_level_p (), 0);
- yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
- break;}
-case 332:
-#line 1582 "objc-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_iterator_stack ();
- push_label_level ();
- yyval.ttype = expand_start_stmt_expr ();
- compstmt_count++;
- ;
- break;}
-case 333:
-#line 1599 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 336:
-#line 1613 "objc-parse.y"
-{ emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
- c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0,
- compstmt_count);
- yyval.itype = stmt_count;
- if_stmt_file = yyvsp[-5].filename;
- if_stmt_line = yyvsp[-4].lineno;
- position_after_white_space (); ;
- break;}
-case 337:
-#line 1627 "objc-parse.y"
-{ stmt_count++;
- compstmt_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 338:
-#line 1635 "objc-parse.y"
-{ expand_loop_continue_here (); ;
- break;}
-case 339:
-#line 1639 "objc-parse.y"
-{ yyval.filename = input_filename; ;
- break;}
-case 340:
-#line 1643 "objc-parse.y"
-{ yyval.lineno = lineno; ;
- break;}
-case 341:
-#line 1648 "objc-parse.y"
-{ ;
- break;}
-case 342:
-#line 1653 "objc-parse.y"
-{ ;
- break;}
-case 343:
-#line 1658 "objc-parse.y"
-{ yyval.ends_in_label = yyvsp[0].ends_in_label; ;
- break;}
-case 344:
-#line 1663 "objc-parse.y"
-{ yyval.ends_in_label = 0; ;
- break;}
-case 345:
-#line 1665 "objc-parse.y"
-{ yyval.ends_in_label = 1; ;
- break;}
-case 346:
-#line 1671 "objc-parse.y"
-{ stmt_count++; ;
- break;}
-case 348:
-#line 1674 "objc-parse.y"
-{ stmt_count++;
- emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
-/* It appears that this should not be done--that a non-lvalue array
- shouldn't get an error if the value isn't used.
- Section 3.2.2.1 says that an array lvalue gets converted to a pointer
- if it appears as a top-level expression,
- but says nothing about non-lvalue arrays. */
-#if 0
- /* Call default_conversion to get an error
- on referring to a register array if pedantic. */
- if (TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == ARRAY_TYPE
- || TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == FUNCTION_TYPE)
- yyvsp[-1].ttype = default_conversion (yyvsp[-1].ttype);
-#endif
- iterator_expand (yyvsp[-1].ttype); ;
- break;}
-case 349:
-#line 1690 "objc-parse.y"
-{ c_expand_start_else ();
- yyvsp[-1].itype = stmt_count;
- position_after_white_space (); ;
- break;}
-case 350:
-#line 1694 "objc-parse.y"
-{ c_expand_end_cond ();
- if (extra_warnings && stmt_count == yyvsp[-3].itype)
- warning ("empty body in an else-statement"); ;
- break;}
-case 351:
-#line 1698 "objc-parse.y"
-{ c_expand_end_cond ();
- /* This warning is here instead of in simple_if, because we
- do not want a warning if an empty if is followed by an
- else statement. Increment stmt_count so we don't
- give a second error if this is a nested `if'. */
- 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 352:
-#line 1710 "objc-parse.y"
-{ c_expand_end_cond (); ;
- break;}
-case 353:
-#line 1712 "objc-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 354:
-#line 1722 "objc-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 355:
-#line 1731 "objc-parse.y"
-{ expand_end_loop (); ;
- break;}
-case 356:
-#line 1734 "objc-parse.y"
-{ emit_line_note (input_filename, lineno);
- expand_exit_loop_if_false (NULL_PTR,
- truthvalue_conversion (yyvsp[-2].ttype));
- expand_end_loop (); ;
- break;}
-case 357:
-#line 1740 "objc-parse.y"
-{ expand_end_loop (); ;
- break;}
-case 358:
-#line 1743 "objc-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 359:
-#line 1755 "objc-parse.y"
-{ yyvsp[0].lineno = lineno;
- yyval.filename = input_filename; ;
- break;}
-case 360:
-#line 1758 "objc-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));
- yyvsp[-3].lineno = lineno;
- yyvsp[-2].filename = input_filename;
- position_after_white_space (); ;
- break;}
-case 361:
-#line 1771 "objc-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);
- expand_end_loop (); ;
- break;}
-case 362:
-#line 1778 "objc-parse.y"
-{ stmt_count++;
- emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
- c_expand_start_case (yyvsp[-1].ttype);
- position_after_white_space (); ;
- break;}
-case 363:
-#line 1783 "objc-parse.y"
-{ expand_end_case (yyvsp[-3].ttype); ;
- break;}
-case 364:
-#line 1785 "objc-parse.y"
-{ tree break_stmt = build_break_stmt ();
- stmt_count++;
- genrtl_break_stmt (); ;
- break;}
-case 365:
-#line 1789 "objc-parse.y"
-{ tree continue_stmt = build_continue_stmt ();
- stmt_count++;
- genrtl_continue_stmt (); ;
- break;}
-case 366:
-#line 1793 "objc-parse.y"
-{ tree return_stmt = build_return_stmt (NULL_TREE);
- stmt_count++;
- genrtl_return_stmt (RETURN_EXPR(return_stmt)); ;
- break;}
-case 367:
-#line 1797 "objc-parse.y"
-{ tree return_stmt = build_return_stmt (yyvsp[-1].ttype);
- stmt_count++;
- genrtl_return_stmt (RETURN_EXPR(return_stmt)); ;
- break;}
-case 368:
-#line 1801 "objc-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 369:
-#line 1812 "objc-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 370:
-#line 1819 "objc-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 371:
-#line 1827 "objc-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 372:
-#line 1833 "objc-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 373:
-#line 1844 "objc-parse.y"
-{ if (pedantic)
- pedwarn ("ANSI C forbids `goto *expr;'");
- stmt_count++;
- emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
- expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
- break;}
-case 376:
-#line 1859 "objc-parse.y"
-{
- /* The value returned by this action is */
- /* 1 if everything is OK */
- /* 0 in case of error or already bound iterator */
-
- yyval.itype = 0;
- if (TREE_CODE (yyvsp[-1].ttype) != VAR_DECL)
- error ("invalid `for (ITERATOR)' syntax");
- else if (! ITERATOR_P (yyvsp[-1].ttype))
- error ("`%s' is not an iterator",
- IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
- else if (ITERATOR_BOUND_P (yyvsp[-1].ttype))
- error ("`for (%s)' inside expansion of same iterator",
- IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
- else
- {
- yyval.itype = 1;
- iterator_for_loop_start (yyvsp[-1].ttype);
- }
- ;
- break;}
-case 377:
-#line 1880 "objc-parse.y"
-{
- if (yyvsp[-1].itype)
- iterator_for_loop_end (yyvsp[-3].ttype);
- ;
- break;}
-case 378:
-#line 1911 "objc-parse.y"
-{ tree case_label_tree = build_case_label (yyvsp[-1].ttype, NULL_TREE);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- ;
- break;}
-case 379:
-#line 1917 "objc-parse.y"
-{ tree case_label_tree = build_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- ;
- break;}
-case 380:
-#line 1923 "objc-parse.y"
-{ tree case_label_tree = build_case_label (NULL_TREE, NULL_TREE);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- ;
- break;}
-case 381:
-#line 1929 "objc-parse.y"
-{ tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
- stmt_count++;
- emit_nop ();
- if (label)
- {
- expand_label (label);
- decl_attributes (label, yyvsp[0].ttype, NULL_TREE);
- }
- position_after_white_space (); ;
- break;}
-case 382:
-#line 1944 "objc-parse.y"
-{ emit_line_note (input_filename, lineno);
- yyval.ttype = NULL_TREE; ;
- break;}
-case 383:
-#line 1947 "objc-parse.y"
-{ emit_line_note (input_filename, lineno); ;
- break;}
-case 384:
-#line 1952 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 386:
-#line 1959 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 389:
-#line 1966 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
-case 390:
-#line 1971 "objc-parse.y"
-{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
-case 391:
-#line 1976 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
- break;}
-case 392:
-#line 1978 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
- break;}
-case 393:
-#line 1984 "objc-parse.y"
-{ pushlevel (0);
- clear_parm_order ();
- declare_parm_level (0); ;
- break;}
-case 394:
-#line 1988 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); ;
- break;}
-case 396:
-#line 1996 "objc-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 397:
-#line 2004 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype; ;
- break;}
-case 398:
-#line 2006 "objc-parse.y"
-{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
- break;}
-case 399:
-#line 2012 "objc-parse.y"
-{ yyval.ttype = get_parm_info (0); ;
- break;}
-case 400:
-#line 2014 "objc-parse.y"
-{ yyval.ttype = get_parm_info (0);
- /* Gcc used to allow this as an extension. However, it does
- not work for all targets, and thus has been disabled.
- Also, since func (...) and func () are indistinguishable,
- it caused problems with the code in expand_builtin which
- tries to verify that BUILT_IN_NEXT_ARG is being used
- correctly. */
- error ("ANSI C requires a named argument before `...'");
- ;
- break;}
-case 401:
-#line 2024 "objc-parse.y"
-{ yyval.ttype = get_parm_info (1); ;
- break;}
-case 402:
-#line 2026 "objc-parse.y"
-{ yyval.ttype = get_parm_info (0); ;
- break;}
-case 403:
-#line 2031 "objc-parse.y"
-{ push_parm_decl (yyvsp[0].ttype); ;
- break;}
-case 404:
-#line 2033 "objc-parse.y"
-{ push_parm_decl (yyvsp[0].ttype); ;
- break;}
-case 405:
-#line 2040 "objc-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 406:
-#line 2048 "objc-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 407:
-#line 2056 "objc-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 408:
-#line 2064 "objc-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 409:
-#line 2073 "objc-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 410:
-#line 2086 "objc-parse.y"
-{ pushlevel (0);
- clear_parm_order ();
- declare_parm_level (1); ;
- break;}
-case 411:
-#line 2090 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); ;
- break;}
-case 413:
-#line 2098 "objc-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 414:
-#line 2108 "objc-parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 415:
-#line 2110 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 416:
-#line 2116 "objc-parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 417:
-#line 2118 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 418:
-#line 2123 "objc-parse.y"
-{ yyval.ttype = SAVE_WARN_FLAGS();
- pedantic = 0;
- warn_pointer_arith = 0; ;
- break;}
-case 424:
-#line 2137 "objc-parse.y"
-{
- if (objc_implementation_context)
- {
- finish_class (objc_implementation_context);
- objc_ivar_chain = NULL_TREE;
- objc_implementation_context = NULL_TREE;
- }
- else
- warning ("`@end' must appear in an implementation context");
- ;
- break;}
-case 425:
-#line 2152 "objc-parse.y"
-{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
-case 426:
-#line 2154 "objc-parse.y"
-{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
-case 427:
-#line 2159 "objc-parse.y"
-{
- objc_declare_class (yyvsp[-1].ttype);
- ;
- break;}
-case 428:
-#line 2165 "objc-parse.y"
-{
- objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype);
- ;
- break;}
-case 429:
-#line 2171 "objc-parse.y"
-{
- objc_interface_context = objc_ivar_context
- = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
- objc_public_flag = 0;
- ;
- break;}
-case 430:
-#line 2177 "objc-parse.y"
-{
- continue_class (objc_interface_context);
- ;
- break;}
-case 431:
-#line 2182 "objc-parse.y"
-{
- finish_class (objc_interface_context);
- objc_interface_context = NULL_TREE;
- ;
- break;}
-case 432:
-#line 2188 "objc-parse.y"
-{
- objc_interface_context
- = start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype);
- continue_class (objc_interface_context);
- ;
- break;}
-case 433:
-#line 2195 "objc-parse.y"
-{
- finish_class (objc_interface_context);
- objc_interface_context = NULL_TREE;
- ;
- break;}
-case 434:
-#line 2201 "objc-parse.y"
-{
- objc_interface_context = objc_ivar_context
- = start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype);
- objc_public_flag = 0;
- ;
- break;}
-case 435:
-#line 2207 "objc-parse.y"
-{
- continue_class (objc_interface_context);
- ;
- break;}
-case 436:
-#line 2212 "objc-parse.y"
-{
- finish_class (objc_interface_context);
- objc_interface_context = NULL_TREE;
- ;
- break;}
-case 437:
-#line 2218 "objc-parse.y"
-{
- objc_interface_context
- = start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
- continue_class (objc_interface_context);
- ;
- break;}
-case 438:
-#line 2225 "objc-parse.y"
-{
- finish_class (objc_interface_context);
- objc_interface_context = NULL_TREE;
- ;
- break;}
-case 439:
-#line 2231 "objc-parse.y"
-{
- objc_implementation_context = objc_ivar_context
- = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
- objc_public_flag = 0;
- ;
- break;}
-case 440:
-#line 2237 "objc-parse.y"
-{
- objc_ivar_chain
- = continue_class (objc_implementation_context);
- ;
- break;}
-case 441:
-#line 2243 "objc-parse.y"
-{
- objc_implementation_context
- = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE);
- objc_ivar_chain
- = continue_class (objc_implementation_context);
- ;
- break;}
-case 442:
-#line 2251 "objc-parse.y"
-{
- objc_implementation_context = objc_ivar_context
- = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
- objc_public_flag = 0;
- ;
- break;}
-case 443:
-#line 2257 "objc-parse.y"
-{
- objc_ivar_chain
- = continue_class (objc_implementation_context);
- ;
- break;}
-case 444:
-#line 2263 "objc-parse.y"
-{
- objc_implementation_context
- = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
- objc_ivar_chain
- = continue_class (objc_implementation_context);
- ;
- break;}
-case 445:
-#line 2271 "objc-parse.y"
-{
- objc_interface_context
- = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
- continue_class (objc_interface_context);
- ;
- break;}
-case 446:
-#line 2278 "objc-parse.y"
-{
- finish_class (objc_interface_context);
- objc_interface_context = NULL_TREE;
- ;
- break;}
-case 447:
-#line 2284 "objc-parse.y"
-{
- objc_implementation_context
- = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
- objc_ivar_chain
- = continue_class (objc_implementation_context);
- ;
- break;}
-case 448:
-#line 2294 "objc-parse.y"
-{
- remember_protocol_qualifiers ();
- objc_interface_context
- = start_protocol(PROTOCOL_INTERFACE_TYPE, yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 449:
-#line 2300 "objc-parse.y"
-{
- forget_protocol_qualifiers();
- finish_protocol(objc_interface_context);
- objc_interface_context = NULL_TREE;
- ;
- break;}
-case 450:
-#line 2309 "objc-parse.y"
-{
- yyval.ttype = NULL_TREE;
- ;
- break;}
-case 452:
-#line 2317 "objc-parse.y"
-{
- if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR)
- yyval.ttype = yyvsp[-1].ttype;
- else
- YYERROR1;
- ;
- break;}
-case 455:
-#line 2331 "objc-parse.y"
-{ objc_public_flag = 2; ;
- break;}
-case 456:
-#line 2332 "objc-parse.y"
-{ objc_public_flag = 0; ;
- break;}
-case 457:
-#line 2333 "objc-parse.y"
-{ objc_public_flag = 1; ;
- break;}
-case 458:
-#line 2338 "objc-parse.y"
-{
- yyval.ttype = NULL_TREE;
- ;
- break;}
-case 460:
-#line 2343 "objc-parse.y"
-{
- if (pedantic)
- pedwarn ("extra semicolon in struct or union specified");
- ;
- break;}
-case 461:
-#line 2361 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 462:
-#line 2366 "objc-parse.y"
-{ yyval.ttype = yyvsp[0].ttype;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 463:
-#line 2371 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 464:
-#line 2376 "objc-parse.y"
-{ yyval.ttype = NULL_TREE; ;
- break;}
-case 467:
-#line 2383 "objc-parse.y"
-{
- yyval.ttype = add_instance_variable (objc_ivar_context,
- objc_public_flag,
- yyvsp[0].ttype, current_declspecs,
- NULL_TREE);
- ;
- break;}
-case 468:
-#line 2390 "objc-parse.y"
-{
- yyval.ttype = add_instance_variable (objc_ivar_context,
- objc_public_flag,
- yyvsp[-2].ttype, current_declspecs, yyvsp[0].ttype);
- ;
- break;}
-case 469:
-#line 2396 "objc-parse.y"
-{
- yyval.ttype = add_instance_variable (objc_ivar_context,
- objc_public_flag,
- NULL_TREE,
- current_declspecs, yyvsp[0].ttype);
- ;
- break;}
-case 470:
-#line 2406 "objc-parse.y"
-{
- remember_protocol_qualifiers ();
- if (objc_implementation_context)
- objc_inherit_code = CLASS_METHOD_DECL;
- else
- fatal ("method definition not in class context");
- ;
- break;}
-case 471:
-#line 2414 "objc-parse.y"
-{
- forget_protocol_qualifiers ();
- add_class_method (objc_implementation_context, yyvsp[0].ttype);
- start_method_def (yyvsp[0].ttype);
- objc_method_context = yyvsp[0].ttype;
- ;
- break;}
-case 472:
-#line 2421 "objc-parse.y"
-{
- continue_method_def ();
- ;
- break;}
-case 473:
-#line 2425 "objc-parse.y"
-{
- finish_method_def ();
- objc_method_context = NULL_TREE;
- ;
- break;}
-case 474:
-#line 2431 "objc-parse.y"
-{
- remember_protocol_qualifiers ();
- if (objc_implementation_context)
- objc_inherit_code = INSTANCE_METHOD_DECL;
- else
- fatal ("method definition not in class context");
- ;
- break;}
-case 475:
-#line 2439 "objc-parse.y"
-{
- forget_protocol_qualifiers ();
- add_instance_method (objc_implementation_context, yyvsp[0].ttype);
- start_method_def (yyvsp[0].ttype);
- objc_method_context = yyvsp[0].ttype;
- ;
- break;}
-case 476:
-#line 2446 "objc-parse.y"
-{
- continue_method_def ();
- ;
- break;}
-case 477:
-#line 2450 "objc-parse.y"
-{
- finish_method_def ();
- objc_method_context = NULL_TREE;
- ;
- break;}
-case 479:
-#line 2462 "objc-parse.y"
-{yyval.ttype = NULL_TREE; ;
- break;}
-case 484:
-#line 2469 "objc-parse.y"
-{yyval.ttype = NULL_TREE; ;
- break;}
-case 488:
-#line 2479 "objc-parse.y"
-{
- /* Remember protocol qualifiers in prototypes. */
- remember_protocol_qualifiers ();
- objc_inherit_code = CLASS_METHOD_DECL;
- ;
- break;}
-case 489:
-#line 2485 "objc-parse.y"
-{
- /* Forget protocol qualifiers here. */
- forget_protocol_qualifiers ();
- add_class_method (objc_interface_context, yyvsp[0].ttype);
- ;
- break;}
-case 491:
-#line 2493 "objc-parse.y"
-{
- /* Remember protocol qualifiers in prototypes. */
- remember_protocol_qualifiers ();
- objc_inherit_code = INSTANCE_METHOD_DECL;
- ;
- break;}
-case 492:
-#line 2499 "objc-parse.y"
-{
- /* Forget protocol qualifiers here. */
- forget_protocol_qualifiers ();
- add_instance_method (objc_interface_context, yyvsp[0].ttype);
- ;
- break;}
-case 494:
-#line 2509 "objc-parse.y"
-{
- yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
- ;
- break;}
-case 495:
-#line 2514 "objc-parse.y"
-{
- yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE);
- ;
- break;}
-case 496:
-#line 2519 "objc-parse.y"
-{
- yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 497:
-#line 2524 "objc-parse.y"
-{
- yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 506:
-#line 2554 "objc-parse.y"
-{ current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); ;
- break;}
-case 507:
-#line 2558 "objc-parse.y"
-{ shadow_tag (yyvsp[-1].ttype); ;
- break;}
-case 508:
-#line 2560 "objc-parse.y"
-{ pedwarn ("empty declaration"); ;
- break;}
-case 509:
-#line 2565 "objc-parse.y"
-{ push_parm_decl (yyvsp[0].ttype); ;
- break;}
-case 510:
-#line 2567 "objc-parse.y"
-{ push_parm_decl (yyvsp[0].ttype); ;
- break;}
-case 511:
-#line 2575 "objc-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype)); ;
- break;}
-case 512:
-#line 2580 "objc-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype)); ;
- break;}
-case 513:
-#line 2585 "objc-parse.y"
-{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- build_tree_list (prefix_attributes,
- yyvsp[0].ttype)); ;
- break;}
-case 514:
-#line 2593 "objc-parse.y"
-{
- yyval.ttype = NULL_TREE;
- ;
- break;}
-case 515:
-#line 2597 "objc-parse.y"
-{
- /* oh what a kludge! */
- yyval.ttype = objc_ellipsis_node;
- ;
- break;}
-case 516:
-#line 2602 "objc-parse.y"
-{
- pushlevel (0);
- ;
- break;}
-case 517:
-#line 2606 "objc-parse.y"
-{
- /* returns a tree list node generated by get_parm_info */
- yyval.ttype = yyvsp[0].ttype;
- poplevel (0, 0, 0);
- ;
- break;}
-case 520:
-#line 2621 "objc-parse.y"
-{
- yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 525:
-#line 2634 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 526:
-#line 2635 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 527:
-#line 2636 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 528:
-#line 2637 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 529:
-#line 2638 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 530:
-#line 2639 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 531:
-#line 2640 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 532:
-#line 2641 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 533:
-#line 2642 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 534:
-#line 2643 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 535:
-#line 2644 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 536:
-#line 2645 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 537:
-#line 2646 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 538:
-#line 2647 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 539:
-#line 2648 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 540:
-#line 2649 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 541:
-#line 2650 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 542:
-#line 2651 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 543:
-#line 2652 "objc-parse.y"
-{ yyval.ttype = get_identifier (token_buffer); ;
- break;}
-case 546:
-#line 2658 "objc-parse.y"
-{
- yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 547:
-#line 2663 "objc-parse.y"
-{
- yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
- ;
- break;}
-case 548:
-#line 2668 "objc-parse.y"
-{
- yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 549:
-#line 2673 "objc-parse.y"
-{
- yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype);
- ;
- break;}
-case 553:
-#line 2686 "objc-parse.y"
-{
- yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 554:
-#line 2694 "objc-parse.y"
-{
- if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE)
- /* just return the expr., remove a level of indirection */
- yyval.ttype = TREE_VALUE (yyvsp[0].ttype);
- else
- /* we have a comma expr., we will collapse later */
- yyval.ttype = yyvsp[0].ttype;
- ;
- break;}
-case 555:
-#line 2706 "objc-parse.y"
-{
- yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 556:
-#line 2710 "objc-parse.y"
-{
- yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
- ;
- break;}
-case 558:
-#line 2718 "objc-parse.y"
-{
- yyval.ttype = get_class_reference (yyvsp[0].ttype);
- ;
- break;}
-case 559:
-#line 2725 "objc-parse.y"
-{ objc_receiver_context = 1; ;
- break;}
-case 560:
-#line 2727 "objc-parse.y"
-{ objc_receiver_context = 0; ;
- break;}
-case 561:
-#line 2729 "objc-parse.y"
-{
- yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype);
- ;
- break;}
-case 565:
-#line 2742 "objc-parse.y"
-{
- yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
- ;
- break;}
-case 566:
-#line 2749 "objc-parse.y"
-{
- yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE);
- ;
- break;}
-case 567:
-#line 2753 "objc-parse.y"
-{
- yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE);
- ;
- break;}
-case 568:
-#line 2760 "objc-parse.y"
-{
- yyval.ttype = yyvsp[-1].ttype;
- ;
- break;}
-case 569:
-#line 2767 "objc-parse.y"
-{
- yyval.ttype = yyvsp[-1].ttype;
- ;
- break;}
-case 570:
-#line 2776 "objc-parse.y"
-{
- yyval.ttype = groktypename (yyvsp[-1].ttype);
- ;
- break;}
-}
- /* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/misc/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;
-
- yyacceptlab:
- /* YYACCEPT comes here. */
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 0;
-
- yyabortlab:
- /* YYABORT comes here. */
- if (yyfree_stacks)
- {
- free (yyss);
- free (yyvs);
-#ifdef YYLSP_NEEDED
- free (yyls);
-#endif
- }
- return 1;
-}
-#line 2781 "objc-parse.y"
-
diff --git a/gcc/objc/objc-parse.y b/gcc/objc/objc-parse.y
deleted file mode 100644
index 91324bb..0000000
--- a/gcc/objc/objc-parse.y
+++ /dev/null
@@ -1,2781 +0,0 @@
-/*WARNING: This file is automatically generated!*/
-/* YACC parser for C syntax and for Objective C. -*-c-*-
- Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996,
- 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-
-This file is part of GNU CC.
-
-GNU CC 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 2, or (at your option)
-any later version.
-
-GNU CC 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 GNU CC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-/* This file defines the grammar of C and that of Objective C.
- ifobjc ... end ifobjc conditionals contain code for Objective C only.
- ifc ... end ifc conditionals contain code for C only.
- Sed commands in Makefile.in are used to convert this file into
- c-parse.y and into objc-parse.y. */
-
-/* To whomever it may concern: I have heard that such a thing was once
- written by AT&T, but I have never seen it. */
-
-%expect 74
-
-%{
-#include "config.h"
-#include "system.h"
-#include <setjmp.h>
-#include "tree.h"
-#include "input.h"
-#include "c-lex.h"
-#include "c-tree.h"
-#include "flags.h"
-#include "output.h"
-#include "toplev.h"
-#include "ggc.h"
-
-#ifdef MULTIBYTE_CHARS
-#include <locale.h>
-#endif
-
-#include "objc-act.h"
-
-/* Since parsers are distinct for each language, put the language string
- definition here. */
-const char * const language_string = "GNU Obj-C";
-
-/* Like YYERROR but do call yyerror. */
-#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
-
-/* Cause the `yydebug' variable to be defined. */
-#define YYDEBUG 1
-%}
-
-%start program
-
-%union {long itype; tree ttype; enum tree_code code;
- const char *filename; int lineno; int ends_in_label; }
-
-/* All identifiers that are not reserved words
- and are not declared typedefs in the current block */
-%token IDENTIFIER
-
-/* All identifiers that are declared typedefs in the current block.
- In some contexts, they are treated just like IDENTIFIER,
- but they can also serve as typespecs in declarations. */
-%token TYPENAME
-
-/* Reserved words that specify storage class.
- yylval contains an IDENTIFIER_NODE which indicates which one. */
-%token SCSPEC
-
-/* Reserved words that specify type.
- yylval contains an IDENTIFIER_NODE which indicates which one. */
-%token TYPESPEC
-
-/* Reserved words that qualify type: "const", "volatile", or "restrict".
- yylval contains an IDENTIFIER_NODE which indicates which one. */
-%token TYPE_QUAL
-
-/* Character or numeric constants.
- yylval is the node for the constant. */
-%token CONSTANT
-
-/* String constants in raw form.
- yylval is a STRING_CST node. */
-%token STRING
-
-/* "...", used for functions with variable arglists. */
-%token ELLIPSIS
-
-/* the reserved words */
-/* SCO include files test "ASM", so use something else. */
-%token SIZEOF ENUM STRUCT UNION IF ELSE WHILE DO FOR SWITCH CASE DEFAULT
-%token BREAK CONTINUE RETURN GOTO ASM_KEYWORD TYPEOF ALIGNOF
-%token ATTRIBUTE EXTENSION LABEL
-%token REALPART IMAGPART VA_ARG
-%token PTR_VALUE PTR_BASE PTR_EXTENT
-
-/* Used in c-lex.c for parsing pragmas. */
-%token END_OF_LINE
-
-/* Add precedence rules to solve dangling else s/r conflict */
-%nonassoc IF
-%nonassoc ELSE
-
-/* Define the operator tokens and their precedences.
- The value is an integer because, if used, it is the tree code
- to use in the expression made from the operator. */
-
-%right <code> ASSIGN '='
-%right <code> '?' ':'
-%left <code> OROR
-%left <code> ANDAND
-%left <code> '|'
-%left <code> '^'
-%left <code> '&'
-%left <code> EQCOMPARE
-%left <code> ARITHCOMPARE
-%left <code> LSHIFT RSHIFT
-%left <code> '+' '-'
-%left <code> '*' '/' '%'
-%right <code> UNARY PLUSPLUS MINUSMINUS
-%left HYPERUNARY
-%left <code> POINTSAT '.' '(' '['
-
-/* The Objective-C keywords. These are included in C and in
- Objective C, so that the token codes are the same in both. */
-%token INTERFACE IMPLEMENTATION END SELECTOR DEFS ENCODE
-%token CLASSNAME PUBLIC PRIVATE PROTECTED PROTOCOL OBJECTNAME CLASS ALIAS
-
-/* Objective-C string constants in raw form.
- yylval is an OBJC_STRING_CST node. */
-%token OBJC_STRING
-
-
-%type <code> unop
-
-%type <ttype> identifier IDENTIFIER TYPENAME CONSTANT expr nonnull_exprlist exprlist
-%type <ttype> expr_no_commas cast_expr unary_expr primary string STRING
-%type <ttype> typed_declspecs reserved_declspecs
-%type <ttype> typed_typespecs reserved_typespecquals
-%type <ttype> declmods typespec typespecqual_reserved
-%type <ttype> typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
-%type <ttype> declmods_no_prefix_attr
-%type <ttype> SCSPEC TYPESPEC TYPE_QUAL nonempty_type_quals maybe_type_qual
-%type <ttype> initdecls notype_initdecls initdcl notype_initdcl
-%type <ttype> init maybeasm
-%type <ttype> asm_operands nonnull_asm_operands asm_operand asm_clobbers
-%type <ttype> maybe_attribute attributes attribute attribute_list attrib
-%type <ttype> any_word extension
-
-%type <ttype> compstmt compstmt_nostart compstmt_primary_start
-
-%type <ttype> declarator
-%type <ttype> notype_declarator after_type_declarator
-%type <ttype> parm_declarator
-
-%type <ttype> structsp component_decl_list component_decl_list2
-%type <ttype> component_decl components component_declarator
-%type <ttype> enumlist enumerator
-%type <ttype> struct_head union_head enum_head
-%type <ttype> typename absdcl absdcl1 type_quals
-%type <ttype> xexpr parms parm identifiers
-
-%type <ttype> parmlist parmlist_1 parmlist_2
-%type <ttype> parmlist_or_identifiers parmlist_or_identifiers_1
-%type <ttype> identifiers_or_typenames
-
-%type <itype> setspecs
-
-%type <ends_in_label> lineno_stmt_or_label lineno_stmt_or_labels stmt_or_label
-
-%type <filename> save_filename
-%type <lineno> save_lineno
-
-/* the Objective-C nonterminals */
-
-%type <ttype> ivar_decl_list ivar_decls ivar_decl ivars ivar_declarator
-%type <ttype> methoddecl unaryselector keywordselector selector
-%type <ttype> keyworddecl receiver objcmessageexpr messageargs
-%type <ttype> keywordexpr keywordarglist keywordarg
-%type <ttype> myparms myparm optparmlist reservedwords objcselectorexpr
-%type <ttype> selectorarg keywordnamelist keywordname objcencodeexpr
-%type <ttype> objc_string non_empty_protocolrefs protocolrefs identifier_list objcprotocolexpr
-
-%type <ttype> CLASSNAME OBJC_STRING OBJECTNAME
-
-%{
-/* Number of statements (loosely speaking) and compound statements
- seen so far. */
-static int stmt_count;
-static int compstmt_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 const char *if_stmt_file;
-static int if_stmt_line;
-
-/* List of types and structure classes of the current declaration. */
-static tree current_declspecs = NULL_TREE;
-static tree prefix_attributes = NULL_TREE;
-
-/* Stack of saved values of current_declspecs and prefix_attributes. */
-static tree declspec_stack;
-
-/* For __extension__, save/restore the warning flags which are
- controlled by __extension__. */
-#define SAVE_WARN_FLAGS() \
- size_int (pedantic | (warn_pointer_arith << 1))
-#define RESTORE_WARN_FLAGS(tval) \
- do { \
- int val = tree_low_cst (tval, 0); \
- pedantic = val & 1; \
- warn_pointer_arith = (val >> 1) & 1; \
- } while (0)
-
-/* Objective-C specific information */
-
-tree objc_interface_context;
-tree objc_implementation_context;
-tree objc_method_context;
-tree objc_ivar_chain;
-tree objc_ivar_context;
-enum tree_code objc_inherit_code;
-int objc_receiver_context;
-int objc_public_flag;
-
-
-/* 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 PARAMS ((FILE *, int, YYSTYPE));
-
-/* Add GC roots for variables local to this file. */
-void
-c_parse_init ()
-{
- ggc_add_tree_root (&declspec_stack, 1);
- ggc_add_tree_root (&current_declspecs, 1);
- ggc_add_tree_root (&prefix_attributes, 1);
- ggc_add_tree_root (&objc_interface_context, 1);
- ggc_add_tree_root (&objc_implementation_context, 1);
- ggc_add_tree_root (&objc_method_context, 1);
- ggc_add_tree_root (&objc_ivar_chain, 1);
- ggc_add_tree_root (&objc_ivar_context, 1);
-}
-
-%}
-
-%%
-program: /* empty */
- { if (pedantic)
- pedwarn ("ANSI C forbids an empty source file");
- finish_file ();
- }
- | extdefs
- {
- /* In case there were missing closebraces,
- get us back to the global binding level. */
- while (! global_bindings_p ())
- poplevel (0, 0, 0);
- finish_file ();
- }
- ;
-
-/* the reason for the strange actions in this rule
- is so that notype_initdecls when reached via datadef
- can find a valid list of type and sc specs in $0. */
-
-extdefs:
- {$<ttype>$ = NULL_TREE; } extdef
- | extdefs {$<ttype>$ = NULL_TREE; } extdef
- ;
-
-extdef:
- fndef
- | datadef
- | objcdef
- | ASM_KEYWORD '(' expr ')' ';'
- { STRIP_NOPS ($3);
- if ((TREE_CODE ($3) == ADDR_EXPR
- && TREE_CODE (TREE_OPERAND ($3, 0)) == STRING_CST)
- || TREE_CODE ($3) == STRING_CST)
- assemble_asm ($3);
- else
- error ("argument of `asm' is not a constant string"); }
- | extension extdef
- { RESTORE_WARN_FLAGS ($1); }
- ;
-
-datadef:
- setspecs notype_initdecls ';'
- { 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");
-
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs setspecs initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods ';'
- { pedwarn ("empty declaration"); }
- | typed_declspecs ';'
- { shadow_tag ($1); }
- | error ';'
- | error '}'
- | ';'
- { if (pedantic)
- pedwarn ("ANSI C does not allow extra `;' outside of a function"); }
- ;
-
-fndef:
- typed_declspecs setspecs declarator
- { if (! start_function (current_declspecs, $3,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); }
- old_style_parm_decls
- { store_parm_decls (); }
- compstmt_or_error
- { finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs setspecs declarator error
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_declarator
- { if (! start_function (current_declspecs, $3,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); }
- old_style_parm_decls
- { store_parm_decls (); }
- compstmt_or_error
- { finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_declarator error
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | setspecs notype_declarator
- { if (! start_function (NULL_TREE, $2,
- prefix_attributes, NULL_TREE))
- YYERROR1;
- reinit_parse_for_function (); }
- old_style_parm_decls
- { store_parm_decls (); }
- compstmt_or_error
- { finish_function (0);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | setspecs notype_declarator error
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- ;
-
-identifier:
- IDENTIFIER
- | TYPENAME
- | OBJECTNAME
- | CLASSNAME
- ;
-
-unop: '&'
- { $$ = ADDR_EXPR; }
- | '-'
- { $$ = NEGATE_EXPR; }
- | '+'
- { $$ = CONVERT_EXPR; }
- | PLUSPLUS
- { $$ = PREINCREMENT_EXPR; }
- | MINUSMINUS
- { $$ = PREDECREMENT_EXPR; }
- | '~'
- { $$ = BIT_NOT_EXPR; }
- | '!'
- { $$ = TRUTH_NOT_EXPR; }
- ;
-
-expr: nonnull_exprlist
- { $$ = build_compound_expr ($1); }
- ;
-
-exprlist:
- /* empty */
- { $$ = NULL_TREE; }
- | nonnull_exprlist
- ;
-
-nonnull_exprlist:
- expr_no_commas
- { $$ = build_tree_list (NULL_TREE, $1); }
- | nonnull_exprlist ',' expr_no_commas
- { chainon ($1, build_tree_list (NULL_TREE, $3)); }
- ;
-
-unary_expr:
- primary
- | '*' cast_expr %prec UNARY
- { $$ = build_indirect_ref ($2, "unary *"); }
- /* __extension__ turns off -pedantic for following primary. */
- | extension cast_expr %prec UNARY
- { $$ = $2;
- RESTORE_WARN_FLAGS ($1); }
- | unop cast_expr %prec UNARY
- { $$ = build_unary_op ($1, $2, 0);
- overflow_warning ($$); }
- /* Refer to the address of a label as a pointer. */
- | ANDAND identifier
- { tree label = lookup_label ($2);
- if (pedantic)
- pedwarn ("ANSI C forbids `&&'");
- if (label == 0)
- $$ = null_pointer_node;
- else
- {
- TREE_USED (label) = 1;
- $$ = build1 (ADDR_EXPR, ptr_type_node, label);
- TREE_CONSTANT ($$) = 1;
- }
- }
-/* This seems to be impossible on some machines, so let's turn it off.
- You can use __builtin_next_arg to find the anonymous stack args.
- | '&' ELLIPSIS
- { tree types = TYPE_ARG_TYPES (TREE_TYPE (current_function_decl));
- $$ = error_mark_node;
- if (TREE_VALUE (tree_last (types)) == void_type_node)
- error ("`&...' used in function with fixed number of arguments");
- else
- {
- if (pedantic)
- pedwarn ("ANSI C forbids `&...'");
- $$ = tree_last (DECL_ARGUMENTS (current_function_decl));
- $$ = build_unary_op (ADDR_EXPR, $$, 0);
- } }
-*/
- | sizeof unary_expr %prec UNARY
- { skip_evaluation--;
- if (TREE_CODE ($2) == COMPONENT_REF
- && DECL_C_BIT_FIELD (TREE_OPERAND ($2, 1)))
- error ("`sizeof' applied to a bit-field");
- $$ = c_sizeof (TREE_TYPE ($2)); }
- | sizeof '(' typename ')' %prec HYPERUNARY
- { skip_evaluation--;
- $$ = c_sizeof (groktypename ($3)); }
- | alignof unary_expr %prec UNARY
- { skip_evaluation--;
- $$ = c_alignof_expr ($2); }
- | alignof '(' typename ')' %prec HYPERUNARY
- { skip_evaluation--;
- $$ = c_alignof (groktypename ($3)); }
- | REALPART cast_expr %prec UNARY
- { $$ = build_unary_op (REALPART_EXPR, $2, 0); }
- | IMAGPART cast_expr %prec UNARY
- { $$ = build_unary_op (IMAGPART_EXPR, $2, 0); }
- | VA_ARG '(' expr_no_commas ',' typename ')'
- { $$ = build_va_arg ($3, groktypename ($5)); }
- ;
-
-sizeof:
- SIZEOF { skip_evaluation++; }
- ;
-
-alignof:
- ALIGNOF { skip_evaluation++; }
- ;
-
-cast_expr:
- unary_expr
- | '(' typename ')' cast_expr %prec UNARY
- { tree type = groktypename ($2);
- $$ = build_c_cast (type, $4); }
- | '(' typename ')' '{'
- { start_init (NULL_TREE, NULL, 0);
- $2 = groktypename ($2);
- really_start_incremental_init ($2); }
- initlist_maybe_comma '}' %prec UNARY
- { const char *name;
- tree result = pop_init_level (0);
- tree type = $2;
- finish_init ();
-
- if (pedantic && ! flag_isoc99)
- 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 = "";
- $$ = result;
- if (TREE_CODE (type) == ARRAY_TYPE && !COMPLETE_TYPE_P (type))
- {
- int failure = complete_array_type (type, $$, 1);
- if (failure)
- abort ();
- }
- }
- ;
-
-expr_no_commas:
- cast_expr
- | expr_no_commas '+' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '-' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '*' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '/' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '%' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas LSHIFT expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas RSHIFT expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas ARITHCOMPARE expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas EQCOMPARE expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '&' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '|' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas '^' expr_no_commas
- { $$ = parser_build_binary_op ($2, $1, $3); }
- | expr_no_commas ANDAND
- { $1 = truthvalue_conversion (default_conversion ($1));
- skip_evaluation += $1 == boolean_false_node; }
- expr_no_commas
- { skip_evaluation -= $1 == boolean_false_node;
- $$ = parser_build_binary_op (TRUTH_ANDIF_EXPR, $1, $4); }
- | expr_no_commas OROR
- { $1 = truthvalue_conversion (default_conversion ($1));
- skip_evaluation += $1 == boolean_true_node; }
- expr_no_commas
- { skip_evaluation -= $1 == boolean_true_node;
- $$ = parser_build_binary_op (TRUTH_ORIF_EXPR, $1, $4); }
- | expr_no_commas '?'
- { $1 = truthvalue_conversion (default_conversion ($1));
- skip_evaluation += $1 == boolean_false_node; }
- expr ':'
- { skip_evaluation += (($1 == boolean_true_node)
- - ($1 == boolean_false_node)); }
- expr_no_commas
- { skip_evaluation -= $1 == boolean_true_node;
- $$ = build_conditional_expr ($1, $4, $7); }
- | expr_no_commas '?'
- { if (pedantic)
- pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
- /* Make sure first operand is calculated only once. */
- $<ttype>2 = save_expr ($1);
- $1 = truthvalue_conversion (default_conversion ($<ttype>2));
- skip_evaluation += $1 == boolean_true_node; }
- ':' expr_no_commas
- { skip_evaluation -= $1 == boolean_true_node;
- $$ = build_conditional_expr ($1, $<ttype>2, $5); }
- | expr_no_commas '=' expr_no_commas
- { char class;
- $$ = build_modify_expr ($1, NOP_EXPR, $3);
- class = TREE_CODE_CLASS (TREE_CODE ($$));
- if (class == 'e' || class == '1'
- || class == '2' || class == '<')
- C_SET_EXP_ORIGINAL_CODE ($$, MODIFY_EXPR);
- }
- | expr_no_commas ASSIGN expr_no_commas
- { char class;
- $$ = build_modify_expr ($1, $2, $3);
- /* This inhibits warnings in truthvalue_conversion. */
- class = TREE_CODE_CLASS (TREE_CODE ($$));
- if (class == 'e' || class == '1'
- || class == '2' || class == '<')
- C_SET_EXP_ORIGINAL_CODE ($$, ERROR_MARK);
- }
- ;
-
-primary:
- IDENTIFIER
- {
- if (yychar == YYEMPTY)
- yychar = YYLEX;
- $$ = build_external_ref ($1, yychar == '(');
- }
- | CONSTANT
- | string
- { $$ = combine_strings ($1); }
- | '(' expr ')'
- { char class = TREE_CODE_CLASS (TREE_CODE ($2));
- if (class == 'e' || class == '1'
- || class == '2' || class == '<')
- C_SET_EXP_ORIGINAL_CODE ($2, ERROR_MARK);
- $$ = $2; }
- | '(' error ')'
- { $$ = error_mark_node; }
- | compstmt_primary_start compstmt_nostart ')'
- { tree rtl_exp;
- if (pedantic)
- pedwarn ("ANSI C forbids braced-groups within expressions");
- pop_iterator_stack ();
- pop_label_level ();
- rtl_exp = expand_end_stmt_expr ($1);
- /* The statements have side effects, so the group does. */
- TREE_SIDE_EFFECTS (rtl_exp) = 1;
-
- if (TREE_CODE ($2) == BLOCK)
- {
- /* Make a BIND_EXPR for the BLOCK already made. */
- $$ = build (BIND_EXPR, TREE_TYPE (rtl_exp),
- NULL_TREE, rtl_exp, $2);
- /* 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 ($2);
- }
- else
- $$ = $2;
- }
- | compstmt_primary_start error ')'
- {
- /* Make sure we call expand_end_stmt_expr. Otherwise
- we are likely to lose sequences and crash later. */
- pop_iterator_stack ();
- pop_label_level ();
- expand_end_stmt_expr ($1);
- $$ = error_mark_node;
- }
- | primary '(' exprlist ')' %prec '.'
- { $$ = build_function_call ($1, $3); }
- | primary '[' expr ']' %prec '.'
- { $$ = build_array_ref ($1, $3); }
- | primary '.' identifier
- {
- if (doing_objc_thang)
- {
- if (is_public ($1, $3))
- $$ = build_component_ref ($1, $3);
- else
- $$ = error_mark_node;
- }
- else
- $$ = build_component_ref ($1, $3);
- }
- | primary POINTSAT identifier
- {
- tree expr = build_indirect_ref ($1, "->");
-
- if (doing_objc_thang)
- {
- if (is_public (expr, $3))
- $$ = build_component_ref (expr, $3);
- else
- $$ = error_mark_node;
- }
- else
- $$ = build_component_ref (expr, $3);
- }
- | primary PLUSPLUS
- { $$ = build_unary_op (POSTINCREMENT_EXPR, $1, 0); }
- | primary MINUSMINUS
- { $$ = build_unary_op (POSTDECREMENT_EXPR, $1, 0); }
- | objcmessageexpr
- { $$ = build_message_expr ($1); }
- | objcselectorexpr
- { $$ = build_selector_expr ($1); }
- | objcprotocolexpr
- { $$ = build_protocol_expr ($1); }
- | objcencodeexpr
- { $$ = build_encode_expr ($1); }
- | objc_string
- { $$ = build_objc_string_object ($1); }
- ;
-
-/* Produces a STRING_CST with perhaps more STRING_CSTs chained onto it. */
-string:
- STRING
- | string STRING
- { $$ = chainon ($1, $2);
- }
- ;
-
-/* Produces an OBJC_STRING_CST with perhaps more OBJC_STRING_CSTs chained
- onto it. */
-objc_string:
- OBJC_STRING
- | objc_string OBJC_STRING
- { $$ = chainon ($1, $2); }
- ;
-
-old_style_parm_decls:
- /* empty */
- | datadecls
- | datadecls ELLIPSIS
- /* ... is used here to indicate a varargs function. */
- { c_mark_varargs ();
- if (pedantic)
- pedwarn ("ANSI C does not permit use of `varargs.h'"); }
- ;
-
-/* The following are analogous to lineno_decl, decls and decl
- except that they do not allow nested functions.
- They are used for old-style parm decls. */
-lineno_datadecl:
- save_filename save_lineno datadecl
- { }
- ;
-
-datadecls:
- lineno_datadecl
- | errstmt
- | datadecls lineno_datadecl
- | lineno_datadecl errstmt
- ;
-
-/* We don't allow prefix attributes here because they cause reduce/reduce
- conflicts: we can't know whether we're parsing a function decl with
- attribute suffix, or function defn with attribute prefix on first old
- style parm. */
-datadecl:
- typed_declspecs_no_prefix_attr setspecs initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods_no_prefix_attr setspecs notype_initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs_no_prefix_attr ';'
- { shadow_tag_warned ($1, 1);
- pedwarn ("empty declaration"); }
- | declmods_no_prefix_attr ';'
- { pedwarn ("empty declaration"); }
- ;
-
-/* This combination which saves a lineno before a decl
- is the normal thing to use, rather than decl itself.
- This is to avoid shift/reduce conflicts in contexts
- where statement labels are allowed. */
-lineno_decl:
- save_filename save_lineno decl
- { }
- ;
-
-decls:
- lineno_decl
- | errstmt
- | decls lineno_decl
- | lineno_decl errstmt
- ;
-
-/* records the type and storage class specs to use for processing
- the declarators that follow.
- Maintains a stack of outer-level values of current_declspecs,
- for the sake of parm declarations nested in function declarators. */
-setspecs: /* empty */
- { pending_xref_error ();
- declspec_stack = tree_cons (prefix_attributes,
- current_declspecs,
- declspec_stack);
- split_specs_attrs ($<ttype>0,
- &current_declspecs, &prefix_attributes); }
- ;
-
-/* ??? Yuck. See after_type_declarator. */
-setattrs: /* empty */
- { prefix_attributes = chainon (prefix_attributes, $<ttype>0); }
- ;
-
-decl:
- typed_declspecs setspecs initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_initdecls ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs setspecs nested_function
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_nested_function
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs ';'
- { shadow_tag ($1); }
- | declmods ';'
- { pedwarn ("empty declaration"); }
- | extension decl
- { RESTORE_WARN_FLAGS ($1); }
- ;
-
-/* Declspecs which contain at least one type specifier or typedef name.
- (Just `const' or `volatile' is not enough.)
- A typedef'd name following these is taken as a name to be declared.
- Declspecs have a non-NULL TREE_VALUE, attributes do not. */
-
-typed_declspecs:
- typespec reserved_declspecs
- { $$ = tree_cons (NULL_TREE, $1, $2); }
- | declmods typespec reserved_declspecs
- { $$ = chainon ($3, tree_cons (NULL_TREE, $2, $1)); }
- ;
-
-reserved_declspecs: /* empty */
- { $$ = NULL_TREE; }
- | reserved_declspecs typespecqual_reserved
- { $$ = tree_cons (NULL_TREE, $2, $1); }
- | reserved_declspecs SCSPEC
- { if (extra_warnings)
- warning ("`%s' is not at beginning of declaration",
- IDENTIFIER_POINTER ($2));
- $$ = tree_cons (NULL_TREE, $2, $1); }
- | reserved_declspecs attributes
- { $$ = tree_cons ($2, NULL_TREE, $1); }
- ;
-
-typed_declspecs_no_prefix_attr:
- typespec reserved_declspecs_no_prefix_attr
- { $$ = tree_cons (NULL_TREE, $1, $2); }
- | declmods_no_prefix_attr typespec reserved_declspecs_no_prefix_attr
- { $$ = chainon ($3, tree_cons (NULL_TREE, $2, $1)); }
- ;
-
-reserved_declspecs_no_prefix_attr:
- /* empty */
- { $$ = NULL_TREE; }
- | reserved_declspecs_no_prefix_attr typespecqual_reserved
- { $$ = tree_cons (NULL_TREE, $2, $1); }
- | reserved_declspecs_no_prefix_attr SCSPEC
- { if (extra_warnings)
- warning ("`%s' is not at beginning of declaration",
- IDENTIFIER_POINTER ($2));
- $$ = tree_cons (NULL_TREE, $2, $1); }
- ;
-
-/* List of just storage classes, type modifiers, and prefix attributes.
- A declaration can start with just this, but then it cannot be used
- to redeclare a typedef-name.
- Declspecs have a non-NULL TREE_VALUE, attributes do not. */
-
-declmods:
- declmods_no_prefix_attr
- { $$ = $1; }
- | attributes
- { $$ = tree_cons ($1, NULL_TREE, NULL_TREE); }
- | declmods declmods_no_prefix_attr
- { $$ = chainon ($2, $1); }
- | declmods attributes
- { $$ = tree_cons ($2, NULL_TREE, $1); }
- ;
-
-declmods_no_prefix_attr:
- TYPE_QUAL
- { $$ = tree_cons (NULL_TREE, $1, NULL_TREE);
- TREE_STATIC ($$) = 1; }
- | SCSPEC
- { $$ = tree_cons (NULL_TREE, $1, NULL_TREE); }
- | declmods_no_prefix_attr TYPE_QUAL
- { $$ = tree_cons (NULL_TREE, $2, $1);
- TREE_STATIC ($$) = 1; }
- | declmods_no_prefix_attr SCSPEC
- { if (extra_warnings && TREE_STATIC ($1))
- warning ("`%s' is not at beginning of declaration",
- IDENTIFIER_POINTER ($2));
- $$ = tree_cons (NULL_TREE, $2, $1);
- TREE_STATIC ($$) = TREE_STATIC ($1); }
- ;
-
-
-/* Used instead of declspecs where storage classes are not allowed
- (that is, for typenames and structure components).
- Don't accept a typedef-name if anything but a modifier precedes it. */
-
-typed_typespecs:
- typespec reserved_typespecquals
- { $$ = tree_cons (NULL_TREE, $1, $2); }
- | nonempty_type_quals typespec reserved_typespecquals
- { $$ = chainon ($3, tree_cons (NULL_TREE, $2, $1)); }
- ;
-
-reserved_typespecquals: /* empty */
- { $$ = NULL_TREE; }
- | reserved_typespecquals typespecqual_reserved
- { $$ = tree_cons (NULL_TREE, $2, $1); }
- ;
-
-/* A typespec (but not a type qualifier).
- Once we have seen one of these in a declaration,
- if a typedef name appears then it is being redeclared. */
-
-typespec: TYPESPEC
- | structsp
- | TYPENAME
- { /* For a typedef name, record the meaning, not the name.
- In case of `foo foo, bar;'. */
- $$ = lookup_name ($1); }
- | CLASSNAME protocolrefs
- { $$ = get_static_reference ($1, $2); }
- | OBJECTNAME protocolrefs
- { $$ = get_object_reference ($2); }
-
-/* Make "<SomeProtocol>" equivalent to "id <SomeProtocol>"
- - nisse@lysator.liu.se */
- | non_empty_protocolrefs
- { $$ = get_object_reference ($1); }
- | TYPEOF '(' expr ')'
- { $$ = TREE_TYPE ($3); }
- | TYPEOF '(' typename ')'
- { $$ = groktypename ($3); }
- ;
-
-/* A typespec that is a reserved word, or a type qualifier. */
-
-typespecqual_reserved: TYPESPEC
- | TYPE_QUAL
- | structsp
- ;
-
-initdecls:
- initdcl
- | initdecls ',' initdcl
- ;
-
-notype_initdecls:
- notype_initdcl
- | notype_initdecls ',' initdcl
- ;
-
-maybeasm:
- /* empty */
- { $$ = NULL_TREE; }
- | ASM_KEYWORD '(' string ')'
- { if (TREE_CHAIN ($3)) $3 = combine_strings ($3);
- $$ = $3;
- }
- ;
-
-initdcl:
- declarator maybeasm maybe_attribute '='
- { $<ttype>$ = start_decl ($1, current_declspecs, 1,
- $3, prefix_attributes);
- start_init ($<ttype>$, $2, global_bindings_p ()); }
- init
-/* Note how the declaration of the variable is in effect while its init is parsed! */
- { finish_init ();
- finish_decl ($<ttype>5, $6, $2); }
- | declarator maybeasm maybe_attribute
- { tree d = start_decl ($1, current_declspecs, 0,
- $3, prefix_attributes);
- finish_decl (d, NULL_TREE, $2);
- }
- ;
-
-notype_initdcl:
- notype_declarator maybeasm maybe_attribute '='
- { $<ttype>$ = start_decl ($1, current_declspecs, 1,
- $3, prefix_attributes);
- start_init ($<ttype>$, $2, global_bindings_p ()); }
- init
-/* Note how the declaration of the variable is in effect while its init is parsed! */
- { finish_init ();
- decl_attributes ($<ttype>5, $3, prefix_attributes);
- finish_decl ($<ttype>5, $6, $2); }
- | notype_declarator maybeasm maybe_attribute
- { tree d = start_decl ($1, current_declspecs, 0,
- $3, prefix_attributes);
- finish_decl (d, NULL_TREE, $2); }
- ;
-/* the * rules are dummies to accept the Apollo extended syntax
- so that the header files compile. */
-maybe_attribute:
- /* empty */
- { $$ = NULL_TREE; }
- | attributes
- { $$ = $1; }
- ;
-
-attributes:
- attribute
- { $$ = $1; }
- | attributes attribute
- { $$ = chainon ($1, $2); }
- ;
-
-attribute:
- ATTRIBUTE '(' '(' attribute_list ')' ')'
- { $$ = $4; }
- ;
-
-attribute_list:
- attrib
- { $$ = $1; }
- | attribute_list ',' attrib
- { $$ = chainon ($1, $3); }
- ;
-
-attrib:
- /* empty */
- { $$ = NULL_TREE; }
- | any_word
- { $$ = build_tree_list ($1, NULL_TREE); }
- | any_word '(' IDENTIFIER ')'
- { $$ = build_tree_list ($1, build_tree_list (NULL_TREE, $3)); }
- | any_word '(' IDENTIFIER ',' nonnull_exprlist ')'
- { $$ = build_tree_list ($1, tree_cons (NULL_TREE, $3, $5)); }
- | any_word '(' exprlist ')'
- { $$ = build_tree_list ($1, $3); }
- ;
-
-/* This still leaves out most reserved keywords,
- shouldn't we include them? */
-
-any_word:
- identifier
- | SCSPEC
- | TYPESPEC
- | TYPE_QUAL
- ;
-
-/* Initializers. `init' is the entry point. */
-
-init:
- expr_no_commas
- | '{'
- { really_start_incremental_init (NULL_TREE); }
- initlist_maybe_comma '}'
- { $$ = pop_init_level (0); }
- | error
- { $$ = error_mark_node; }
- ;
-
-/* `initlist_maybe_comma' is the guts of an initializer in braces. */
-initlist_maybe_comma:
- /* empty */
- { if (pedantic)
- pedwarn ("ANSI C forbids empty initializer braces"); }
- | initlist1 maybecomma
- ;
-
-initlist1:
- initelt
- | initlist1 ',' initelt
- ;
-
-/* `initelt' is a single element of an initializer.
- It may use braces. */
-initelt:
- designator_list '=' initval
- | designator initval
- | identifier ':'
- { set_init_label ($1); }
- initval
- | initval
- ;
-
-initval:
- '{'
- { push_init_level (0); }
- initlist_maybe_comma '}'
- { process_init_element (pop_init_level (0)); }
- | expr_no_commas
- { process_init_element ($1); }
- | error
- ;
-
-designator_list:
- designator
- | designator_list designator
- ;
-
-designator:
- '.' identifier
- { set_init_label ($2); }
- /* These are for labeled elements. The syntax for an array element
- initializer conflicts with the syntax for an Objective-C message,
- so don't include these productions in the Objective-C grammar. */
- ;
-
-nested_function:
- declarator
- { if (pedantic)
- pedwarn ("ANSI C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, $1,
- prefix_attributes, NULL_TREE))
- {
- pop_function_context ();
- YYERROR1;
- }
- reinit_parse_for_function (); }
- old_style_parm_decls
- { store_parm_decls (); }
-/* This used to use compstmt_or_error.
- That caused a bug with input `f(g) int g {}',
- where the use of YYERROR1 above caused an error
- which then was handled by compstmt_or_error.
- There followed a repeated execution of that same rule,
- which called YYERROR1 again, and so on. */
- compstmt
- { finish_function (1);
- pop_function_context (); }
- ;
-
-notype_nested_function:
- notype_declarator
- { if (pedantic)
- pedwarn ("ANSI C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, $1,
- prefix_attributes, NULL_TREE))
- {
- pop_function_context ();
- YYERROR1;
- }
- reinit_parse_for_function (); }
- old_style_parm_decls
- { store_parm_decls (); }
-/* This used to use compstmt_or_error.
- That caused a bug with input `f(g) int g {}',
- where the use of YYERROR1 above caused an error
- which then was handled by compstmt_or_error.
- There followed a repeated execution of that same rule,
- which called YYERROR1 again, and so on. */
- compstmt
- { finish_function (1);
- pop_function_context (); }
- ;
-
-/* Any kind of declarator (thus, all declarators allowed
- after an explicit typespec). */
-
-declarator:
- after_type_declarator
- | notype_declarator
- ;
-
-/* A declarator that is allowed only after an explicit typespec. */
-
-after_type_declarator:
- '(' after_type_declarator ')'
- { $$ = $2; }
- | after_type_declarator '(' parmlist_or_identifiers %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, $3, NULL_TREE); }
-/* | after_type_declarator '(' error ')' %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, NULL_TREE, NULL_TREE);
- poplevel (0, 0, 0); } */
- | after_type_declarator '[' expr ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, $3); }
- | after_type_declarator '[' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, NULL_TREE); }
- | '*' type_quals after_type_declarator %prec UNARY
- { $$ = make_pointer_declarator ($2, $3); }
- /* ??? Yuck. setattrs is a quick hack. We can't use
- prefix_attributes because $1 only applies to this
- declarator. We assume setspecs has already been done.
- setattrs also avoids 5 reduce/reduce conflicts (otherwise multiple
- attributes could be recognized here or in `attributes'). */
- | attributes setattrs after_type_declarator
- { $$ = $3; }
- | TYPENAME
- | OBJECTNAME
- ;
-
-/* Kinds of declarator that can appear in a parameter list
- in addition to notype_declarator. This is like after_type_declarator
- but does not allow a typedef name in parentheses as an identifier
- (because it would conflict with a function with that typedef as arg). */
-
-parm_declarator:
- parm_declarator '(' parmlist_or_identifiers %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, $3, NULL_TREE); }
-/* | parm_declarator '(' error ')' %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, NULL_TREE, NULL_TREE);
- poplevel (0, 0, 0); } */
- | parm_declarator '[' expr ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, $3); }
- | parm_declarator '[' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, NULL_TREE); }
- | '*' type_quals parm_declarator %prec UNARY
- { $$ = make_pointer_declarator ($2, $3); }
- /* ??? Yuck. setattrs is a quick hack. We can't use
- prefix_attributes because $1 only applies to this
- declarator. We assume setspecs has already been done.
- setattrs also avoids 5 reduce/reduce conflicts (otherwise multiple
- attributes could be recognized here or in `attributes'). */
- | attributes setattrs parm_declarator
- { $$ = $3; }
- | TYPENAME
- ;
-
-/* A declarator allowed whether or not there has been
- an explicit typespec. These cannot redeclare a typedef-name. */
-
-notype_declarator:
- notype_declarator '(' parmlist_or_identifiers %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, $3, NULL_TREE); }
-/* | notype_declarator '(' error ')' %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, NULL_TREE, NULL_TREE);
- poplevel (0, 0, 0); } */
- | '(' notype_declarator ')'
- { $$ = $2; }
- | '*' type_quals notype_declarator %prec UNARY
- { $$ = make_pointer_declarator ($2, $3); }
- | notype_declarator '[' expr ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, $3); }
- | notype_declarator '[' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, NULL_TREE); }
- /* ??? Yuck. setattrs is a quick hack. We can't use
- prefix_attributes because $1 only applies to this
- declarator. We assume setspecs has already been done.
- setattrs also avoids 5 reduce/reduce conflicts (otherwise multiple
- attributes could be recognized here or in `attributes'). */
- | attributes setattrs notype_declarator
- { $$ = $3; }
- | IDENTIFIER
- ;
-
-struct_head:
- STRUCT
- { $$ = NULL_TREE; }
- | STRUCT attributes
- { $$ = $2; }
- ;
-
-union_head:
- UNION
- { $$ = NULL_TREE; }
- | UNION attributes
- { $$ = $2; }
- ;
-
-enum_head:
- ENUM
- { $$ = NULL_TREE; }
- | ENUM attributes
- { $$ = $2; }
- ;
-
-structsp:
- struct_head identifier '{'
- { $$ = start_struct (RECORD_TYPE, $2);
- /* Start scope of tag before parsing components. */
- }
- component_decl_list '}' maybe_attribute
- { $$ = finish_struct ($<ttype>4, $5, chainon ($1, $7)); }
- | struct_head '{' component_decl_list '}' maybe_attribute
- { $$ = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
- $3, chainon ($1, $5));
- }
- | struct_head identifier
- { $$ = xref_tag (RECORD_TYPE, $2); }
- | union_head identifier '{'
- { $$ = start_struct (UNION_TYPE, $2); }
- component_decl_list '}' maybe_attribute
- { $$ = finish_struct ($<ttype>4, $5, chainon ($1, $7)); }
- | union_head '{' component_decl_list '}' maybe_attribute
- { $$ = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
- $3, chainon ($1, $5));
- }
- | union_head identifier
- { $$ = xref_tag (UNION_TYPE, $2); }
- | enum_head identifier '{'
- { $$ = start_enum ($2); }
- enumlist maybecomma_warn '}' maybe_attribute
- { $$ = finish_enum ($<ttype>4, nreverse ($5),
- chainon ($1, $8)); }
- | enum_head '{'
- { $$ = start_enum (NULL_TREE); }
- enumlist maybecomma_warn '}' maybe_attribute
- { $$ = finish_enum ($<ttype>3, nreverse ($4),
- chainon ($1, $7)); }
- | enum_head identifier
- { $$ = xref_tag (ENUMERAL_TYPE, $2); }
- ;
-
-maybecomma:
- /* empty */
- | ','
- ;
-
-maybecomma_warn:
- /* empty */
- | ','
- { if (pedantic && ! flag_isoc99)
- pedwarn ("comma at end of enumerator list"); }
- ;
-
-component_decl_list:
- component_decl_list2
- { $$ = $1; }
- | component_decl_list2 component_decl
- { $$ = chainon ($1, $2);
- pedwarn ("no semicolon at end of struct or union"); }
- ;
-
-component_decl_list2: /* empty */
- { $$ = NULL_TREE; }
- | component_decl_list2 component_decl ';'
- { $$ = chainon ($1, $2); }
- | component_decl_list2 ';'
- { if (pedantic)
- pedwarn ("extra semicolon in struct or union specified"); }
- /* foo(sizeof(struct{ @defs(ClassName)})); */
- | DEFS '(' CLASSNAME ')'
- {
- tree interface = lookup_interface ($3);
-
- if (interface)
- $$ = get_class_ivars (interface);
- else
- {
- error ("Cannot find interface declaration for `%s'",
- IDENTIFIER_POINTER ($3));
- $$ = NULL_TREE;
- }
- }
- ;
-
-/* There is a shift-reduce conflict here, because `components' may
- start with a `typename'. It happens that shifting (the default resolution)
- does the right thing, because it treats the `typename' as part of
- a `typed_typespecs'.
-
- It is possible that this same technique would allow the distinction
- between `notype_initdecls' and `initdecls' to be eliminated.
- But I am being cautious and not trying it. */
-
-component_decl:
- typed_typespecs setspecs components
- { $$ = $3;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_typespecs setspecs save_filename save_lineno maybe_attribute
- {
- /* Support for unnamed structs or unions as members of
- structs or unions (which is [a] useful and [b] supports
- MS P-SDK). */
- if (pedantic)
- pedwarn ("ANSI C doesn't support unnamed structs/unions");
-
- $$ = grokfield($3, $4, NULL, current_declspecs, NULL_TREE);
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- }
- | nonempty_type_quals setspecs components
- { $$ = $3;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | nonempty_type_quals
- { if (pedantic)
- pedwarn ("ANSI C forbids member declarations with no members");
- shadow_tag($1);
- $$ = NULL_TREE; }
- | error
- { $$ = NULL_TREE; }
- | extension component_decl
- { $$ = $2;
- RESTORE_WARN_FLAGS ($1); }
- ;
-
-components:
- component_declarator
- | components ',' component_declarator
- { $$ = chainon ($1, $3); }
- ;
-
-component_declarator:
- save_filename save_lineno declarator maybe_attribute
- { $$ = grokfield ($1, $2, $3, current_declspecs, NULL_TREE);
- decl_attributes ($$, $4, prefix_attributes); }
- | save_filename save_lineno
- declarator ':' expr_no_commas maybe_attribute
- { $$ = grokfield ($1, $2, $3, current_declspecs, $5);
- decl_attributes ($$, $6, prefix_attributes); }
- | save_filename save_lineno ':' expr_no_commas maybe_attribute
- { $$ = grokfield ($1, $2, NULL_TREE, current_declspecs, $4);
- decl_attributes ($$, $5, prefix_attributes); }
- ;
-
-/* We chain the enumerators in reverse order.
- They are put in forward order where enumlist is used.
- (The order used to be significant, but no longer is so.
- However, we still maintain the order, just to be clean.) */
-
-enumlist:
- enumerator
- | enumlist ',' enumerator
- { if ($1 == error_mark_node)
- $$ = $1;
- else
- $$ = chainon ($3, $1); }
- | error
- { $$ = error_mark_node; }
- ;
-
-
-enumerator:
- identifier
- { $$ = build_enumerator ($1, NULL_TREE); }
- | identifier '=' expr_no_commas
- { $$ = build_enumerator ($1, $3); }
- ;
-
-typename:
- typed_typespecs absdcl
- { $$ = build_tree_list ($1, $2); }
- | nonempty_type_quals absdcl
- { $$ = build_tree_list ($1, $2); }
- ;
-
-absdcl: /* an absolute declarator */
- /* empty */
- { $$ = NULL_TREE; }
- | absdcl1
- ;
-
-nonempty_type_quals:
- TYPE_QUAL
- { $$ = tree_cons (NULL_TREE, $1, NULL_TREE); }
- | nonempty_type_quals TYPE_QUAL
- { $$ = tree_cons (NULL_TREE, $2, $1); }
- ;
-
-type_quals:
- /* empty */
- { $$ = NULL_TREE; }
- | type_quals TYPE_QUAL
- { $$ = tree_cons (NULL_TREE, $2, $1); }
- ;
-
-absdcl1: /* a nonempty absolute declarator */
- '(' absdcl1 ')'
- { $$ = $2; }
- /* `(typedef)1' is `int'. */
- | '*' type_quals absdcl1 %prec UNARY
- { $$ = make_pointer_declarator ($2, $3); }
- | '*' type_quals %prec UNARY
- { $$ = make_pointer_declarator ($2, NULL_TREE); }
- | absdcl1 '(' parmlist %prec '.'
- { $$ = build_nt (CALL_EXPR, $1, $3, NULL_TREE); }
- | absdcl1 '[' expr ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, $3); }
- | absdcl1 '[' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, $1, NULL_TREE); }
- | '(' parmlist %prec '.'
- { $$ = build_nt (CALL_EXPR, NULL_TREE, $2, NULL_TREE); }
- | '[' expr ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, NULL_TREE, $2); }
- | '[' ']' %prec '.'
- { $$ = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); }
- /* ??? It appears we have to support attributes here, however
- using prefix_attributes is wrong. */
- | attributes setattrs absdcl1
- { $$ = $3; }
- ;
-
-/* at least one statement, the first of which parses without error. */
-/* stmts is used only after decls, so an invalid first statement
- is actually regarded as an invalid decl and part of the decls. */
-
-stmts:
- lineno_stmt_or_labels
- {
- if (pedantic && $1)
- pedwarn ("ANSI C forbids label at end of compound statement");
- }
- ;
-
-lineno_stmt_or_labels:
- lineno_stmt_or_label
- | lineno_stmt_or_labels lineno_stmt_or_label
- { $$ = $2; }
- | lineno_stmt_or_labels errstmt
- { $$ = 0; }
- ;
-
-xstmts:
- /* empty */
- | stmts
- ;
-
-errstmt: error ';'
- ;
-
-pushlevel: /* empty */
- { emit_line_note (input_filename, lineno);
- pushlevel (0);
- clear_last_expr ();
- expand_start_bindings (0);
- if (objc_method_context)
- add_objc_decls ();
- }
- ;
-
-/* Read zero or more forward-declarations for labels
- that nested functions can jump to. */
-maybe_label_decls:
- /* empty */
- | label_decls
- { if (pedantic)
- pedwarn ("ANSI C forbids label declarations"); }
- ;
-
-label_decls:
- label_decl
- | label_decls label_decl
- ;
-
-label_decl:
- LABEL identifiers_or_typenames ';'
- { tree link;
- for (link = $2; link; link = TREE_CHAIN (link))
- {
- tree label = shadow_label (TREE_VALUE (link));
- C_DECLARED_LABEL_FLAG (label) = 1;
- declare_nonlocal_label (label);
- }
- }
- ;
-
-/* This is the body of a function definition.
- It causes syntax errors to ignore to the next openbrace. */
-compstmt_or_error:
- compstmt
- {}
- | error compstmt
- ;
-
-compstmt_start: '{' { compstmt_count++; }
-
-compstmt_nostart: '}'
- { $$ = convert (void_type_node, integer_zero_node); }
- | pushlevel maybe_label_decls decls xstmts '}'
- { emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), 1, 0);
- $$ = poplevel (1, 1, 0); }
- | pushlevel maybe_label_decls error '}'
- { emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), kept_level_p (), 0);
- $$ = poplevel (kept_level_p (), 0, 0); }
- | pushlevel maybe_label_decls stmts '}'
- { emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), kept_level_p (), 0);
- $$ = poplevel (kept_level_p (), 0, 0); }
- ;
-
-compstmt_primary_start:
- '(' '{'
- { 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_iterator_stack ();
- push_label_level ();
- $$ = expand_start_stmt_expr ();
- compstmt_count++;
- }
-
-compstmt: compstmt_start compstmt_nostart
- { $$ = $2; }
- ;
-
-/* Value is number of statements counted as of the closeparen. */
-simple_if:
- if_prefix lineno_labeled_stmt
-/* Make sure c_expand_end_cond is run once
- for each call to c_expand_start_cond.
- Otherwise a crash is likely. */
- | if_prefix error
- ;
-
-if_prefix:
- IF '(' expr ')'
- { emit_line_note ($<filename>-1, $<lineno>0);
- c_expand_start_cond (truthvalue_conversion ($3), 0,
- compstmt_count);
- $<itype>$ = stmt_count;
- if_stmt_file = $<filename>-1;
- if_stmt_line = $<lineno>0;
- position_after_white_space (); }
- ;
-
-/* This is a subroutine of stmt.
- It is used twice, once for valid DO statements
- and once for catching errors in parsing the end test. */
-do_stmt_start:
- DO
- { stmt_count++;
- compstmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- /* See comment in `while' alternative, above. */
- emit_nop ();
- expand_start_loop_continue_elsewhere (1);
- position_after_white_space (); }
- lineno_labeled_stmt WHILE
- { expand_loop_continue_here (); }
- ;
-
-save_filename:
- { $$ = input_filename; }
- ;
-
-save_lineno:
- { $$ = lineno; }
- ;
-
-lineno_labeled_stmt:
- save_filename save_lineno stmt
- { }
-/* | save_filename save_lineno error
- { }
-*/
- | save_filename save_lineno label lineno_labeled_stmt
- { }
- ;
-
-lineno_stmt_or_label:
- save_filename save_lineno stmt_or_label
- { $$ = $3; }
- ;
-
-stmt_or_label:
- stmt
- { $$ = 0; }
- | label
- { $$ = 1; }
- ;
-
-/* Parse a single real statement, not including any labels. */
-stmt:
- compstmt
- { stmt_count++; }
- | all_iter_stmt
- | expr ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
-/* It appears that this should not be done--that a non-lvalue array
- shouldn't get an error if the value isn't used.
- Section 3.2.2.1 says that an array lvalue gets converted to a pointer
- if it appears as a top-level expression,
- but says nothing about non-lvalue arrays. */
-#if 0
- /* Call default_conversion to get an error
- on referring to a register array if pedantic. */
- if (TREE_CODE (TREE_TYPE ($1)) == ARRAY_TYPE
- || TREE_CODE (TREE_TYPE ($1)) == FUNCTION_TYPE)
- $1 = default_conversion ($1);
-#endif
- iterator_expand ($1); }
- | simple_if ELSE
- { c_expand_start_else ();
- $<itype>1 = stmt_count;
- position_after_white_space (); }
- lineno_labeled_stmt
- { c_expand_end_cond ();
- if (extra_warnings && stmt_count == $<itype>1)
- warning ("empty body in an else-statement"); }
- | simple_if %prec IF
- { c_expand_end_cond ();
- /* This warning is here instead of in simple_if, because we
- do not want a warning if an empty if is followed by an
- else statement. Increment stmt_count so we don't
- give a second error if this is a nested `if'. */
- if (extra_warnings && stmt_count++ == $<itype>1)
- warning_with_file_and_line (if_stmt_file, if_stmt_line,
- "empty body in an if-statement"); }
-/* Make sure c_expand_end_cond is run once
- for each call to c_expand_start_cond.
- Otherwise a crash is likely. */
- | simple_if ELSE error
- { c_expand_end_cond (); }
- | WHILE
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- /* 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 (); }
- '(' expr ')'
- { /* 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 ($4));
- position_after_white_space (); }
- lineno_labeled_stmt
- { expand_end_loop (); }
- | do_stmt_start
- '(' expr ')' ';'
- { emit_line_note (input_filename, lineno);
- expand_exit_loop_if_false (NULL_PTR,
- truthvalue_conversion ($3));
- expand_end_loop (); }
-/* This rule is needed to make sure we end every loop we start. */
- | do_stmt_start error
- { expand_end_loop (); }
- | FOR
- '(' xexpr ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- /* See comment in `while' alternative, above. */
- emit_nop ();
- if ($3) c_expand_expr_stmt ($3);
- /* 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. */
- }
- xexpr ';'
- /* Can't emit now; wait till after expand_start_loop... */
- { $<lineno>7 = lineno;
- $<filename>$ = input_filename; }
- xexpr ')'
- {
- /* 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 ($<filename>8, $<lineno>7);
- if ($6)
- expand_exit_loop_if_false (NULL_PTR,
- truthvalue_conversion ($6));
- $<lineno>7 = lineno;
- $<filename>8 = input_filename;
- position_after_white_space (); }
- lineno_labeled_stmt
- { /* Emit the increment expression, with a line number. */
- emit_line_note ($<filename>8, $<lineno>7);
- expand_loop_continue_here ();
- if ($9)
- c_expand_expr_stmt ($9);
- expand_end_loop (); }
- | SWITCH '(' expr ')'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- c_expand_start_case ($3);
- position_after_white_space (); }
- lineno_labeled_stmt
- { expand_end_case ($3); }
- | BREAK ';'
- { tree break_stmt = build_break_stmt ();
- stmt_count++;
- genrtl_break_stmt (); }
- | CONTINUE ';'
- { tree continue_stmt = build_continue_stmt ();
- stmt_count++;
- genrtl_continue_stmt (); }
- | RETURN ';'
- { tree return_stmt = build_return_stmt (NULL_TREE);
- stmt_count++;
- genrtl_return_stmt (RETURN_EXPR(return_stmt)); }
- | RETURN expr ';'
- { tree return_stmt = build_return_stmt ($2);
- stmt_count++;
- genrtl_return_stmt (RETURN_EXPR(return_stmt)); }
- | ASM_KEYWORD maybe_type_qual '(' expr ')' ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- STRIP_NOPS ($4);
- if ((TREE_CODE ($4) == ADDR_EXPR
- && TREE_CODE (TREE_OPERAND ($4, 0)) == STRING_CST)
- || TREE_CODE ($4) == STRING_CST)
- expand_asm ($4);
- else
- error ("argument of `asm' is not a constant string"); }
- /* This is the case with just output operands. */
- | ASM_KEYWORD maybe_type_qual '(' expr ':' asm_operands ')' ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- c_expand_asm_operands ($4, $6, NULL_TREE, NULL_TREE,
- $2 == ridpointers[(int)RID_VOLATILE],
- input_filename, lineno); }
- /* This is the case with input operands as well. */
- | ASM_KEYWORD maybe_type_qual '(' expr ':' asm_operands ':' asm_operands ')' ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- c_expand_asm_operands ($4, $6, $8, NULL_TREE,
- $2 == ridpointers[(int)RID_VOLATILE],
- input_filename, lineno); }
- /* This is the case with clobbered registers as well. */
- | ASM_KEYWORD maybe_type_qual '(' expr ':' asm_operands ':'
- asm_operands ':' asm_clobbers ')' ';'
- { stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- c_expand_asm_operands ($4, $6, $8, $10,
- $2 == ridpointers[(int)RID_VOLATILE],
- input_filename, lineno); }
- | GOTO identifier ';'
- { tree decl;
- stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- decl = lookup_label ($2);
- if (decl != 0)
- {
- TREE_USED (decl) = 1;
- expand_goto (decl);
- }
- }
- | GOTO '*' expr ';'
- { if (pedantic)
- pedwarn ("ANSI C forbids `goto *expr;'");
- stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- expand_computed_goto (convert (ptr_type_node, $3)); }
- | ';'
- ;
-
-all_iter_stmt:
- all_iter_stmt_simple
-/* | all_iter_stmt_with_decl */
- ;
-
-all_iter_stmt_simple:
- FOR '(' primary ')'
- {
- /* The value returned by this action is */
- /* 1 if everything is OK */
- /* 0 in case of error or already bound iterator */
-
- $<itype>$ = 0;
- if (TREE_CODE ($3) != VAR_DECL)
- error ("invalid `for (ITERATOR)' syntax");
- else if (! ITERATOR_P ($3))
- error ("`%s' is not an iterator",
- IDENTIFIER_POINTER (DECL_NAME ($3)));
- else if (ITERATOR_BOUND_P ($3))
- error ("`for (%s)' inside expansion of same iterator",
- IDENTIFIER_POINTER (DECL_NAME ($3)));
- else
- {
- $<itype>$ = 1;
- iterator_for_loop_start ($3);
- }
- }
- lineno_labeled_stmt
- {
- if ($<itype>5)
- iterator_for_loop_end ($3);
- }
-
-/* This really should allow any kind of declaration,
- for generality. Fix it before turning it back on.
-
-all_iter_stmt_with_decl:
- FOR '(' ITERATOR pushlevel setspecs iterator_spec ')'
- {
-*/ /* The value returned by this action is */
- /* 1 if everything is OK */
- /* 0 in case of error or already bound iterator */
-/*
- iterator_for_loop_start ($6);
- }
- lineno_labeled_stmt
- {
- iterator_for_loop_end ($6);
- emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), 1, 0);
- $<ttype>$ = poplevel (1, 1, 0);
- }
-*/
-
-/* Any kind of label, including jump labels and case labels.
- ANSI C accepts labels only before statements, but we allow them
- also at the end of a compound statement. */
-
-label: CASE expr_no_commas ':'
- { tree case_label_tree = build_case_label ($2, NULL_TREE);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- }
- | CASE expr_no_commas ELLIPSIS expr_no_commas ':'
- { tree case_label_tree = build_case_label ($2, $4);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- }
- | DEFAULT ':'
- { tree case_label_tree = build_case_label (NULL_TREE, NULL_TREE);
- stmt_count++;
- genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
- position_after_white_space ();
- }
- | identifier ':' maybe_attribute
- { tree label = define_label (input_filename, lineno, $1);
- stmt_count++;
- emit_nop ();
- if (label)
- {
- expand_label (label);
- decl_attributes (label, $3, NULL_TREE);
- }
- position_after_white_space (); }
- ;
-
-/* Either a type-qualifier or nothing. First thing in an `asm' statement. */
-
-maybe_type_qual:
- /* empty */
- { emit_line_note (input_filename, lineno);
- $$ = NULL_TREE; }
- | TYPE_QUAL
- { emit_line_note (input_filename, lineno); }
- ;
-
-xexpr:
- /* empty */
- { $$ = NULL_TREE; }
- | expr
- ;
-
-/* These are the operands other than the first string and colon
- in asm ("addextend %2,%1": "=dm" (x), "0" (y), "g" (*x)) */
-asm_operands: /* empty */
- { $$ = NULL_TREE; }
- | nonnull_asm_operands
- ;
-
-nonnull_asm_operands:
- asm_operand
- | nonnull_asm_operands ',' asm_operand
- { $$ = chainon ($1, $3); }
- ;
-
-asm_operand:
- STRING '(' expr ')'
- { $$ = build_tree_list ($1, $3); }
- ;
-
-asm_clobbers:
- string
- { $$ = tree_cons (NULL_TREE, combine_strings ($1), NULL_TREE); }
- | asm_clobbers ',' string
- { $$ = tree_cons (NULL_TREE, combine_strings ($3), $1); }
- ;
-
-/* This is what appears inside the parens in a function declarator.
- Its value is a list of ..._TYPE nodes. */
-parmlist:
- { pushlevel (0);
- clear_parm_order ();
- declare_parm_level (0); }
- parmlist_1
- { $$ = $2;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); }
- ;
-
-parmlist_1:
- parmlist_2 ')'
- | parms ';'
- { 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 (); }
- parmlist_1
- { $$ = $4; }
- | error ')'
- { $$ = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); }
- ;
-
-/* This is what appears inside the parens in a function declarator.
- Is value is represented in the format that grokdeclarator expects. */
-parmlist_2: /* empty */
- { $$ = get_parm_info (0); }
- | ELLIPSIS
- { $$ = get_parm_info (0);
- /* Gcc used to allow this as an extension. However, it does
- not work for all targets, and thus has been disabled.
- Also, since func (...) and func () are indistinguishable,
- it caused problems with the code in expand_builtin which
- tries to verify that BUILT_IN_NEXT_ARG is being used
- correctly. */
- error ("ANSI C requires a named argument before `...'");
- }
- | parms
- { $$ = get_parm_info (1); }
- | parms ',' ELLIPSIS
- { $$ = get_parm_info (0); }
- ;
-
-parms:
- parm
- { push_parm_decl ($1); }
- | parms ',' parm
- { push_parm_decl ($3); }
- ;
-
-/* A single parameter declaration or parameter type name,
- as found in a parmlist. */
-parm:
- typed_declspecs setspecs parm_declarator maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $3),
- build_tree_list (prefix_attributes,
- $4));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs setspecs notype_declarator maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $3),
- build_tree_list (prefix_attributes,
- $4));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs setspecs absdcl maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $3),
- build_tree_list (prefix_attributes,
- $4));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | declmods setspecs notype_declarator maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $3),
- build_tree_list (prefix_attributes,
- $4));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
-
- | declmods setspecs absdcl maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $3),
- build_tree_list (prefix_attributes,
- $4));
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- ;
-
-/* This is used in a function definition
- where either a parmlist or an identifier list is ok.
- Its value is a list of ..._TYPE nodes or a list of identifiers. */
-parmlist_or_identifiers:
- { pushlevel (0);
- clear_parm_order ();
- declare_parm_level (1); }
- parmlist_or_identifiers_1
- { $$ = $2;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); }
- ;
-
-parmlist_or_identifiers_1:
- parmlist_1
- | identifiers ')'
- { tree t;
- for (t = $1; t; t = TREE_CHAIN (t))
- if (TREE_VALUE (t) == NULL_TREE)
- error ("`...' in old-style identifier list");
- $$ = tree_cons (NULL_TREE, NULL_TREE, $1); }
- ;
-
-/* A nonempty list of identifiers. */
-identifiers:
- IDENTIFIER
- { $$ = build_tree_list (NULL_TREE, $1); }
- | identifiers ',' IDENTIFIER
- { $$ = chainon ($1, build_tree_list (NULL_TREE, $3)); }
- ;
-
-/* A nonempty list of identifiers, including typenames. */
-identifiers_or_typenames:
- identifier
- { $$ = build_tree_list (NULL_TREE, $1); }
- | identifiers_or_typenames ',' identifier
- { $$ = chainon ($1, build_tree_list (NULL_TREE, $3)); }
- ;
-
-extension:
- EXTENSION
- { $$ = SAVE_WARN_FLAGS();
- pedantic = 0;
- warn_pointer_arith = 0; }
- ;
-
-/* Objective-C productions. */
-
-objcdef:
- classdef
- | classdecl
- | aliasdecl
- | protocoldef
- | methoddef
- | END
- {
- if (objc_implementation_context)
- {
- finish_class (objc_implementation_context);
- objc_ivar_chain = NULL_TREE;
- objc_implementation_context = NULL_TREE;
- }
- else
- warning ("`@end' must appear in an implementation context");
- }
- ;
-
-/* A nonempty list of identifiers. */
-identifier_list:
- identifier
- { $$ = build_tree_list (NULL_TREE, $1); }
- | identifier_list ',' identifier
- { $$ = chainon ($1, build_tree_list (NULL_TREE, $3)); }
- ;
-
-classdecl:
- CLASS identifier_list ';'
- {
- objc_declare_class ($2);
- }
-
-aliasdecl:
- ALIAS identifier identifier ';'
- {
- objc_declare_alias ($2, $3);
- }
-
-classdef:
- INTERFACE identifier protocolrefs '{'
- {
- objc_interface_context = objc_ivar_context
- = start_class (CLASS_INTERFACE_TYPE, $2, NULL_TREE, $3);
- objc_public_flag = 0;
- }
- ivar_decl_list '}'
- {
- continue_class (objc_interface_context);
- }
- methodprotolist
- END
- {
- finish_class (objc_interface_context);
- objc_interface_context = NULL_TREE;
- }
-
- | INTERFACE identifier protocolrefs
- {
- objc_interface_context
- = start_class (CLASS_INTERFACE_TYPE, $2, NULL_TREE, $3);
- continue_class (objc_interface_context);
- }
- methodprotolist
- END
- {
- finish_class (objc_interface_context);
- objc_interface_context = NULL_TREE;
- }
-
- | INTERFACE identifier ':' identifier protocolrefs '{'
- {
- objc_interface_context = objc_ivar_context
- = start_class (CLASS_INTERFACE_TYPE, $2, $4, $5);
- objc_public_flag = 0;
- }
- ivar_decl_list '}'
- {
- continue_class (objc_interface_context);
- }
- methodprotolist
- END
- {
- finish_class (objc_interface_context);
- objc_interface_context = NULL_TREE;
- }
-
- | INTERFACE identifier ':' identifier protocolrefs
- {
- objc_interface_context
- = start_class (CLASS_INTERFACE_TYPE, $2, $4, $5);
- continue_class (objc_interface_context);
- }
- methodprotolist
- END
- {
- finish_class (objc_interface_context);
- objc_interface_context = NULL_TREE;
- }
-
- | IMPLEMENTATION identifier '{'
- {
- objc_implementation_context = objc_ivar_context
- = start_class (CLASS_IMPLEMENTATION_TYPE, $2, NULL_TREE, NULL_TREE);
- objc_public_flag = 0;
- }
- ivar_decl_list '}'
- {
- objc_ivar_chain
- = continue_class (objc_implementation_context);
- }
-
- | IMPLEMENTATION identifier
- {
- objc_implementation_context
- = start_class (CLASS_IMPLEMENTATION_TYPE, $2, NULL_TREE, NULL_TREE);
- objc_ivar_chain
- = continue_class (objc_implementation_context);
- }
-
- | IMPLEMENTATION identifier ':' identifier '{'
- {
- objc_implementation_context = objc_ivar_context
- = start_class (CLASS_IMPLEMENTATION_TYPE, $2, $4, NULL_TREE);
- objc_public_flag = 0;
- }
- ivar_decl_list '}'
- {
- objc_ivar_chain
- = continue_class (objc_implementation_context);
- }
-
- | IMPLEMENTATION identifier ':' identifier
- {
- objc_implementation_context
- = start_class (CLASS_IMPLEMENTATION_TYPE, $2, $4, NULL_TREE);
- objc_ivar_chain
- = continue_class (objc_implementation_context);
- }
-
- | INTERFACE identifier '(' identifier ')' protocolrefs
- {
- objc_interface_context
- = start_class (CATEGORY_INTERFACE_TYPE, $2, $4, $6);
- continue_class (objc_interface_context);
- }
- methodprotolist
- END
- {
- finish_class (objc_interface_context);
- objc_interface_context = NULL_TREE;
- }
-
- | IMPLEMENTATION identifier '(' identifier ')'
- {
- objc_implementation_context
- = start_class (CATEGORY_IMPLEMENTATION_TYPE, $2, $4, NULL_TREE);
- objc_ivar_chain
- = continue_class (objc_implementation_context);
- }
- ;
-
-protocoldef:
- PROTOCOL identifier protocolrefs
- {
- remember_protocol_qualifiers ();
- objc_interface_context
- = start_protocol(PROTOCOL_INTERFACE_TYPE, $2, $3);
- }
- methodprotolist END
- {
- forget_protocol_qualifiers();
- finish_protocol(objc_interface_context);
- objc_interface_context = NULL_TREE;
- }
- ;
-
-protocolrefs:
- /* empty */
- {
- $$ = NULL_TREE;
- }
- | non_empty_protocolrefs
- ;
-
-non_empty_protocolrefs:
- ARITHCOMPARE identifier_list ARITHCOMPARE
- {
- if ($1 == LT_EXPR && $3 == GT_EXPR)
- $$ = $2;
- else
- YYERROR1;
- }
- ;
-
-ivar_decl_list:
- ivar_decl_list visibility_spec ivar_decls
- | ivar_decls
- ;
-
-visibility_spec:
- PRIVATE { objc_public_flag = 2; }
- | PROTECTED { objc_public_flag = 0; }
- | PUBLIC { objc_public_flag = 1; }
- ;
-
-ivar_decls:
- /* empty */
- {
- $$ = NULL_TREE;
- }
- | ivar_decls ivar_decl ';'
- | ivar_decls ';'
- {
- if (pedantic)
- pedwarn ("extra semicolon in struct or union specified");
- }
- ;
-
-
-/* There is a shift-reduce conflict here, because `components' may
- start with a `typename'. It happens that shifting (the default resolution)
- does the right thing, because it treats the `typename' as part of
- a `typed_typespecs'.
-
- It is possible that this same technique would allow the distinction
- between `notype_initdecls' and `initdecls' to be eliminated.
- But I am being cautious and not trying it. */
-
-ivar_decl:
- typed_typespecs setspecs ivars
- { $$ = $3;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | nonempty_type_quals setspecs ivars
- { $$ = $3;
- current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | error
- { $$ = NULL_TREE; }
- ;
-
-ivars:
- /* empty */
- { $$ = NULL_TREE; }
- | ivar_declarator
- | ivars ',' ivar_declarator
- ;
-
-ivar_declarator:
- declarator
- {
- $$ = add_instance_variable (objc_ivar_context,
- objc_public_flag,
- $1, current_declspecs,
- NULL_TREE);
- }
- | declarator ':' expr_no_commas
- {
- $$ = add_instance_variable (objc_ivar_context,
- objc_public_flag,
- $1, current_declspecs, $3);
- }
- | ':' expr_no_commas
- {
- $$ = add_instance_variable (objc_ivar_context,
- objc_public_flag,
- NULL_TREE,
- current_declspecs, $2);
- }
- ;
-
-methoddef:
- '+'
- {
- remember_protocol_qualifiers ();
- if (objc_implementation_context)
- objc_inherit_code = CLASS_METHOD_DECL;
- else
- fatal ("method definition not in class context");
- }
- methoddecl
- {
- forget_protocol_qualifiers ();
- add_class_method (objc_implementation_context, $3);
- start_method_def ($3);
- objc_method_context = $3;
- }
- optarglist
- {
- continue_method_def ();
- }
- compstmt_or_error
- {
- finish_method_def ();
- objc_method_context = NULL_TREE;
- }
-
- | '-'
- {
- remember_protocol_qualifiers ();
- if (objc_implementation_context)
- objc_inherit_code = INSTANCE_METHOD_DECL;
- else
- fatal ("method definition not in class context");
- }
- methoddecl
- {
- forget_protocol_qualifiers ();
- add_instance_method (objc_implementation_context, $3);
- start_method_def ($3);
- objc_method_context = $3;
- }
- optarglist
- {
- continue_method_def ();
- }
- compstmt_or_error
- {
- finish_method_def ();
- objc_method_context = NULL_TREE;
- }
- ;
-
-/* the reason for the strange actions in this rule
- is so that notype_initdecls when reached via datadef
- can find a valid list of type and sc specs in $0. */
-
-methodprotolist:
- /* empty */
- | {$<ttype>$ = NULL_TREE; } methodprotolist2
- ;
-
-methodprotolist2: /* eliminates a shift/reduce conflict */
- methodproto
- | datadef
- | methodprotolist2 methodproto
- | methodprotolist2 {$<ttype>$ = NULL_TREE; } datadef
- ;
-
-semi_or_error:
- ';'
- | error
- ;
-
-methodproto:
- '+'
- {
- /* Remember protocol qualifiers in prototypes. */
- remember_protocol_qualifiers ();
- objc_inherit_code = CLASS_METHOD_DECL;
- }
- methoddecl
- {
- /* Forget protocol qualifiers here. */
- forget_protocol_qualifiers ();
- add_class_method (objc_interface_context, $3);
- }
- semi_or_error
-
- | '-'
- {
- /* Remember protocol qualifiers in prototypes. */
- remember_protocol_qualifiers ();
- objc_inherit_code = INSTANCE_METHOD_DECL;
- }
- methoddecl
- {
- /* Forget protocol qualifiers here. */
- forget_protocol_qualifiers ();
- add_instance_method (objc_interface_context, $3);
- }
- semi_or_error
- ;
-
-methoddecl:
- '(' typename ')' unaryselector
- {
- $$ = build_method_decl (objc_inherit_code, $2, $4, NULL_TREE);
- }
-
- | unaryselector
- {
- $$ = build_method_decl (objc_inherit_code, NULL_TREE, $1, NULL_TREE);
- }
-
- | '(' typename ')' keywordselector optparmlist
- {
- $$ = build_method_decl (objc_inherit_code, $2, $4, $5);
- }
-
- | keywordselector optparmlist
- {
- $$ = build_method_decl (objc_inherit_code, NULL_TREE, $1, $2);
- }
- ;
-
-/* "optarglist" assumes that start_method_def has already been called...
- if it is not, the "xdecls" will not be placed in the proper scope */
-
-optarglist:
- /* empty */
- | ';' myxdecls
- ;
-
-/* to get around the following situation: "int foo (int a) int b; {}" that
- is synthesized when parsing "- a:a b:b; id c; id d; { ... }" */
-
-myxdecls:
- /* empty */
- | mydecls
- ;
-
-mydecls:
- mydecl
- | errstmt
- | mydecls mydecl
- | mydecl errstmt
- ;
-
-mydecl:
- typed_declspecs setspecs myparms ';'
- { current_declspecs = TREE_VALUE (declspec_stack);
- prefix_attributes = TREE_PURPOSE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | typed_declspecs ';'
- { shadow_tag ($1); }
- | declmods ';'
- { pedwarn ("empty declaration"); }
- ;
-
-myparms:
- myparm
- { push_parm_decl ($1); }
- | myparms ',' myparm
- { push_parm_decl ($3); }
- ;
-
-/* A single parameter declaration or parameter type name,
- as found in a parmlist. DOES NOT ALLOW AN INITIALIZER OR ASMSPEC */
-
-myparm:
- parm_declarator maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $1),
- build_tree_list (prefix_attributes,
- $2)); }
- | notype_declarator maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $1),
- build_tree_list (prefix_attributes,
- $2)); }
- | absdcl maybe_attribute
- { $$ = build_tree_list (build_tree_list (current_declspecs,
- $1),
- build_tree_list (prefix_attributes,
- $2)); }
- ;
-
-optparmlist:
- /* empty */
- {
- $$ = NULL_TREE;
- }
- | ',' ELLIPSIS
- {
- /* oh what a kludge! */
- $$ = objc_ellipsis_node;
- }
- | ','
- {
- pushlevel (0);
- }
- parmlist_2
- {
- /* returns a tree list node generated by get_parm_info */
- $$ = $3;
- poplevel (0, 0, 0);
- }
- ;
-
-unaryselector:
- selector
- ;
-
-keywordselector:
- keyworddecl
-
- | keywordselector keyworddecl
- {
- $$ = chainon ($1, $2);
- }
- ;
-
-selector:
- IDENTIFIER
- | TYPENAME
- | OBJECTNAME
- | reservedwords
- ;
-
-reservedwords:
- ENUM { $$ = get_identifier (token_buffer); }
- | STRUCT { $$ = get_identifier (token_buffer); }
- | UNION { $$ = get_identifier (token_buffer); }
- | IF { $$ = get_identifier (token_buffer); }
- | ELSE { $$ = get_identifier (token_buffer); }
- | WHILE { $$ = get_identifier (token_buffer); }
- | DO { $$ = get_identifier (token_buffer); }
- | FOR { $$ = get_identifier (token_buffer); }
- | SWITCH { $$ = get_identifier (token_buffer); }
- | CASE { $$ = get_identifier (token_buffer); }
- | DEFAULT { $$ = get_identifier (token_buffer); }
- | BREAK { $$ = get_identifier (token_buffer); }
- | CONTINUE { $$ = get_identifier (token_buffer); }
- | RETURN { $$ = get_identifier (token_buffer); }
- | GOTO { $$ = get_identifier (token_buffer); }
- | ASM_KEYWORD { $$ = get_identifier (token_buffer); }
- | SIZEOF { $$ = get_identifier (token_buffer); }
- | TYPEOF { $$ = get_identifier (token_buffer); }
- | ALIGNOF { $$ = get_identifier (token_buffer); }
- | TYPESPEC | TYPE_QUAL
- ;
-
-keyworddecl:
- selector ':' '(' typename ')' identifier
- {
- $$ = build_keyword_decl ($1, $4, $6);
- }
-
- | selector ':' identifier
- {
- $$ = build_keyword_decl ($1, NULL_TREE, $3);
- }
-
- | ':' '(' typename ')' identifier
- {
- $$ = build_keyword_decl (NULL_TREE, $3, $5);
- }
-
- | ':' identifier
- {
- $$ = build_keyword_decl (NULL_TREE, NULL_TREE, $2);
- }
- ;
-
-messageargs:
- selector
- | keywordarglist
- ;
-
-keywordarglist:
- keywordarg
- | keywordarglist keywordarg
- {
- $$ = chainon ($1, $2);
- }
- ;
-
-
-keywordexpr:
- nonnull_exprlist
- {
- if (TREE_CHAIN ($1) == NULL_TREE)
- /* just return the expr., remove a level of indirection */
- $$ = TREE_VALUE ($1);
- else
- /* we have a comma expr., we will collapse later */
- $$ = $1;
- }
- ;
-
-keywordarg:
- selector ':' keywordexpr
- {
- $$ = build_tree_list ($1, $3);
- }
- | ':' keywordexpr
- {
- $$ = build_tree_list (NULL_TREE, $2);
- }
- ;
-
-receiver:
- expr
- | CLASSNAME
- {
- $$ = get_class_reference ($1);
- }
- ;
-
-objcmessageexpr:
- '['
- { objc_receiver_context = 1; }
- receiver
- { objc_receiver_context = 0; }
- messageargs ']'
- {
- $$ = build_tree_list ($3, $5);
- }
- ;
-
-selectorarg:
- selector
- | keywordnamelist
- ;
-
-keywordnamelist:
- keywordname
- | keywordnamelist keywordname
- {
- $$ = chainon ($1, $2);
- }
- ;
-
-keywordname:
- selector ':'
- {
- $$ = build_tree_list ($1, NULL_TREE);
- }
- | ':'
- {
- $$ = build_tree_list (NULL_TREE, NULL_TREE);
- }
- ;
-
-objcselectorexpr:
- SELECTOR '(' selectorarg ')'
- {
- $$ = $3;
- }
- ;
-
-objcprotocolexpr:
- PROTOCOL '(' identifier ')'
- {
- $$ = $3;
- }
- ;
-
-/* extension to support C-structures in the archiver */
-
-objcencodeexpr:
- ENCODE '(' typename ')'
- {
- $$ = groktypename ($3);
- }
- ;
-
-%%