+++ /dev/null
-/* A Bison parser, made by GNU Bison 1.875. */
-
-/* Skeleton parser for Yacc-like parsing with Bison,
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 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. */
-
-/* Written by Richard Stallman by simplifying the original so called
- ``semantic'' parser. */
-
-/* All symbols defined below should begin with yy or YY, to avoid
- infringing on user name space. This should be done even for local
- variables, as they might otherwise be expanded by user macros.
- There are some unavoidable exceptions within include files to
- define necessary library symbols; they are noted "INFRINGES ON
- USER NAME SPACE" below. */
-
-/* Identify Bison output. */
-#define YYBISON 1
-
-/* Skeleton name. */
-#define YYSKELETON_NAME "yacc.c"
-
-/* Pure parsers. */
-#define YYPURE 0
-
-/* Using locations. */
-#define YYLSP_NEEDED 0
-
-
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- IDENTIFIER = 258,
- TYPENAME = 259,
- SCSPEC = 260,
- TYPESPEC = 261,
- TYPE_QUAL = 262,
- CONSTANT = 263,
- STRING = 264,
- ELLIPSIS = 265,
- SIZEOF = 266,
- ENUM = 267,
- STRUCT = 268,
- UNION = 269,
- IF = 270,
- ELSE = 271,
- WHILE = 272,
- DO = 273,
- FOR = 274,
- SWITCH = 275,
- CASE = 276,
- DEFAULT = 277,
- BREAK = 278,
- CONTINUE = 279,
- RETURN = 280,
- GOTO = 281,
- ASM_KEYWORD = 282,
- TYPEOF = 283,
- ALIGNOF = 284,
- ATTRIBUTE = 285,
- EXTENSION = 286,
- LABEL = 287,
- REALPART = 288,
- IMAGPART = 289,
- VA_ARG = 290,
- CHOOSE_EXPR = 291,
- TYPES_COMPATIBLE_P = 292,
- PTR_VALUE = 293,
- PTR_BASE = 294,
- PTR_EXTENT = 295,
- STRING_FUNC_NAME = 296,
- VAR_FUNC_NAME = 297,
- ASSIGN = 298,
- OROR = 299,
- ANDAND = 300,
- EQCOMPARE = 301,
- ARITHCOMPARE = 302,
- RSHIFT = 303,
- LSHIFT = 304,
- MINUSMINUS = 305,
- PLUSPLUS = 306,
- UNARY = 307,
- HYPERUNARY = 308,
- POINTSAT = 309,
- INTERFACE = 310,
- IMPLEMENTATION = 311,
- END = 312,
- SELECTOR = 313,
- DEFS = 314,
- ENCODE = 315,
- CLASSNAME = 316,
- PUBLIC = 317,
- PRIVATE = 318,
- PROTECTED = 319,
- PROTOCOL = 320,
- OBJECTNAME = 321,
- CLASS = 322,
- ALIAS = 323
- };
-#endif
-#define IDENTIFIER 258
-#define TYPENAME 259
-#define SCSPEC 260
-#define TYPESPEC 261
-#define TYPE_QUAL 262
-#define CONSTANT 263
-#define STRING 264
-#define ELLIPSIS 265
-#define SIZEOF 266
-#define ENUM 267
-#define STRUCT 268
-#define UNION 269
-#define IF 270
-#define ELSE 271
-#define WHILE 272
-#define DO 273
-#define FOR 274
-#define SWITCH 275
-#define CASE 276
-#define DEFAULT 277
-#define BREAK 278
-#define CONTINUE 279
-#define RETURN 280
-#define GOTO 281
-#define ASM_KEYWORD 282
-#define TYPEOF 283
-#define ALIGNOF 284
-#define ATTRIBUTE 285
-#define EXTENSION 286
-#define LABEL 287
-#define REALPART 288
-#define IMAGPART 289
-#define VA_ARG 290
-#define CHOOSE_EXPR 291
-#define TYPES_COMPATIBLE_P 292
-#define PTR_VALUE 293
-#define PTR_BASE 294
-#define PTR_EXTENT 295
-#define STRING_FUNC_NAME 296
-#define VAR_FUNC_NAME 297
-#define ASSIGN 298
-#define OROR 299
-#define ANDAND 300
-#define EQCOMPARE 301
-#define ARITHCOMPARE 302
-#define RSHIFT 303
-#define LSHIFT 304
-#define MINUSMINUS 305
-#define PLUSPLUS 306
-#define UNARY 307
-#define HYPERUNARY 308
-#define POINTSAT 309
-#define INTERFACE 310
-#define IMPLEMENTATION 311
-#define END 312
-#define SELECTOR 313
-#define DEFS 314
-#define ENCODE 315
-#define CLASSNAME 316
-#define PUBLIC 317
-#define PRIVATE 318
-#define PROTECTED 319
-#define PROTOCOL 320
-#define OBJECTNAME 321
-#define CLASS 322
-#define ALIAS 323
-
-
-
-
-/* Copy the first part of user declarations. */
-#line 34 "c-parse.y"
-
-#include "config.h"
-#include "system.h"
-#include "tree.h"
-#include "input.h"
-#include "cpplib.h"
-#include "intl.h"
-#include "timevar.h"
-#include "c-lex.h"
-#include "c-tree.h"
-#include "c-pragma.h"
-#include "flags.h"
-#include "output.h"
-#include "toplev.h"
-#include "ggc.h"
-
-#ifdef MULTIBYTE_CHARS
-#include <locale.h>
-#endif
-
-
-/* Like YYERROR but do call yyerror. */
-#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
-
-/* Cause the "yydebug" variable to be defined. */
-#define YYDEBUG 1
-
-/* Rename the "yyparse" function so that we can override it elsewhere. */
-#define yyparse yyparse_1
-
-
-/* Enabling traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE 0
-#endif
-
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 67 "c-parse.y"
-typedef union YYSTYPE {long itype; tree ttype; enum tree_code code;
- const char *filename; int lineno; } YYSTYPE;
-/* Line 191 of yacc.c. */
-#line 245 "c-p10602.c"
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-
-
-
-/* Copy the second part of user declarations. */
-#line 200 "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;
-
-/* List of all the attributes applying to the identifier currently being
- declared; includes prefix_attributes and possibly some more attributes
- just after a comma. */
-static tree all_prefix_attributes = NULL_TREE;
-
-/* Stack of saved values of current_declspecs, prefix_attributes and
- all_prefix_attributes. */
-static tree declspec_stack;
-
-/* PUSH_DECLSPEC_STACK is called from setspecs; POP_DECLSPEC_STACK
- should be called from the productions making use of setspecs. */
-#define PUSH_DECLSPEC_STACK \
- do { \
- declspec_stack = tree_cons (build_tree_list (prefix_attributes, \
- all_prefix_attributes), \
- current_declspecs, \
- declspec_stack); \
- } while (0)
-
-#define POP_DECLSPEC_STACK \
- do { \
- current_declspecs = TREE_VALUE (declspec_stack); \
- prefix_attributes = TREE_PURPOSE (TREE_PURPOSE (declspec_stack)); \
- all_prefix_attributes = TREE_VALUE (TREE_PURPOSE (declspec_stack)); \
- declspec_stack = TREE_CHAIN (declspec_stack); \
- } while (0)
-
-/* For __extension__, save/restore the warning flags which are
- controlled by __extension__. */
-#define SAVE_WARN_FLAGS() \
- size_int (pedantic \
- | (warn_pointer_arith << 1) \
- | (warn_traditional << 2))
-
-#define RESTORE_WARN_FLAGS(tval) \
- do { \
- int val = tree_low_cst (tval, 0); \
- pedantic = val & 1; \
- warn_pointer_arith = (val >> 1) & 1; \
- warn_traditional = (val >> 2) & 1; \
- } while (0)
-
-
-#define OBJC_NEED_RAW_IDENTIFIER(VAL) /* nothing */
-
-/* Tell yyparse how to print a token's value, if yydebug is set. */
-
-#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
-
-static void yyprint PARAMS ((FILE *, int, YYSTYPE));
-static void yyerror PARAMS ((const char *));
-static int yylexname PARAMS ((void));
-static inline int _yylex PARAMS ((void));
-static int yylex PARAMS ((void));
-static void init_reswords PARAMS ((void));
-
-/* Add GC roots for variables local to this file. */
-void
-c_parse_init ()
-{
- init_reswords ();
-
- ggc_add_tree_root (&declspec_stack, 1);
- ggc_add_tree_root (¤t_declspecs, 1);
- ggc_add_tree_root (&prefix_attributes, 1);
- ggc_add_tree_root (&all_prefix_attributes, 1);
-}
-
-
-
-/* Line 214 of yacc.c. */
-#line 341 "c-p10602.c"
-
-#if ! defined (yyoverflow) || YYERROR_VERBOSE
-
-/* The parser invokes alloca or malloc; define the necessary symbols. */
-
-# if YYSTACK_USE_ALLOCA
-# define YYSTACK_ALLOC alloca
-# else
-# ifndef YYSTACK_USE_ALLOCA
-# if defined (alloca) || defined (_ALLOCA_H)
-# define YYSTACK_ALLOC alloca
-# else
-# ifdef __GNUC__
-# define YYSTACK_ALLOC __builtin_alloca
-# endif
-# endif
-# endif
-# endif
-
-# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-# if defined (__STDC__) || defined (__cplusplus)
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-# endif
-# define YYSTACK_ALLOC malloc
-# define YYSTACK_FREE free
-# endif
-#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
-
-
-#if (! defined (yyoverflow) \
- && (! defined (__cplusplus) \
- || (YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member. */
-union yyalloc
-{
- short yyss;
- YYSTYPE yyvs;
- };
-
-/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
- N elements. */
-# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
- + YYSTACK_GAP_MAXIMUM)
-
-/* Copy COUNT objects from FROM to TO. The source and destination do
- not overlap. */
-# ifndef YYCOPY
-# if 1 < __GNUC__
-# define YYCOPY(To, From, Count) \
- __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-# else
-# define YYCOPY(To, From, Count) \
- do \
- { \
- register YYSIZE_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (To)[yyi] = (From)[yyi]; \
- } \
- while (0)
-# endif
-# endif
-
-/* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (0)
-
-#endif
-
-#if defined (__STDC__) || defined (__cplusplus)
- typedef signed char yysigned_char;
-#else
- typedef short yysigned_char;
-#endif
-
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 4
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 3173
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 91
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 200
-/* YYNRULES -- Number of rules. */
-#define YYNRULES 561
-/* YYNRULES -- Number of states. */
-#define YYNSTATES 901
-
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
-#define YYUNDEFTOK 2
-#define YYMAXUTOK 323
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
-static const unsigned 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, 87, 2, 2, 2, 60, 51, 2,
- 66, 83, 58, 56, 88, 57, 65, 59, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 46, 84,
- 2, 43, 2, 45, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 67, 2, 90, 50, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 89, 49, 85, 86, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 44, 47,
- 48, 52, 53, 54, 55, 61, 62, 63, 64, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82
-};
-
-#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const unsigned short yyprhs[] =
-{
- 0, 0, 3, 4, 6, 7, 10, 11, 15, 17,
- 19, 25, 28, 32, 37, 42, 45, 48, 51, 53,
- 54, 55, 65, 70, 71, 72, 82, 87, 88, 89,
- 98, 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, 169, 171, 173,
- 175, 180, 182, 186, 190, 194, 198, 202, 206, 210,
- 214, 218, 222, 226, 230, 231, 236, 237, 242, 243,
- 244, 252, 253, 259, 263, 267, 269, 271, 273, 275,
- 276, 284, 288, 292, 296, 300, 305, 312, 321, 328,
- 333, 337, 341, 344, 347, 349, 352, 353, 355, 358,
- 362, 364, 366, 369, 372, 377, 382, 385, 388, 392,
- 393, 395, 400, 405, 409, 413, 416, 419, 421, 424,
- 427, 430, 433, 436, 438, 441, 443, 446, 449, 452,
- 455, 458, 461, 463, 466, 469, 472, 475, 478, 481,
- 484, 487, 490, 493, 496, 499, 502, 505, 508, 511,
- 513, 516, 519, 522, 525, 528, 531, 534, 537, 540,
- 543, 546, 549, 552, 555, 558, 561, 564, 567, 570,
- 573, 576, 579, 582, 585, 588, 591, 594, 597, 600,
- 603, 606, 609, 612, 615, 618, 621, 624, 627, 630,
- 633, 636, 639, 642, 645, 647, 649, 651, 653, 655,
- 657, 659, 661, 663, 665, 667, 669, 671, 673, 675,
- 677, 679, 681, 683, 685, 687, 689, 691, 693, 695,
- 697, 699, 701, 703, 705, 707, 709, 711, 713, 715,
- 717, 719, 721, 723, 725, 727, 729, 731, 733, 735,
- 737, 739, 741, 743, 745, 747, 749, 751, 753, 755,
- 757, 758, 760, 762, 764, 766, 768, 770, 772, 774,
- 779, 784, 786, 791, 793, 798, 799, 804, 805, 812,
- 816, 817, 824, 828, 829, 831, 833, 836, 843, 845,
- 849, 850, 852, 857, 864, 869, 871, 873, 875, 877,
- 879, 880, 885, 887, 888, 891, 893, 897, 901, 904,
- 905, 910, 912, 913, 918, 920, 922, 924, 927, 930,
- 936, 940, 941, 942, 950, 951, 952, 960, 962, 964,
- 969, 973, 976, 980, 982, 984, 986, 990, 993, 995,
- 999, 1002, 1006, 1010, 1015, 1019, 1024, 1028, 1031, 1033,
- 1035, 1038, 1040, 1043, 1045, 1048, 1049, 1057, 1063, 1064,
- 1072, 1078, 1079, 1088, 1089, 1097, 1100, 1103, 1106, 1107,
- 1109, 1110, 1112, 1114, 1117, 1118, 1122, 1125, 1129, 1134,
- 1138, 1140, 1142, 1145, 1147, 1152, 1154, 1159, 1164, 1171,
- 1177, 1182, 1189, 1195, 1197, 1201, 1203, 1205, 1209, 1210,
- 1214, 1215, 1217, 1218, 1220, 1223, 1225, 1227, 1229, 1233,
- 1236, 1240, 1245, 1249, 1252, 1255, 1257, 1261, 1266, 1269,
- 1273, 1277, 1282, 1287, 1293, 1299, 1301, 1303, 1305, 1307,
- 1309, 1312, 1315, 1318, 1321, 1323, 1326, 1329, 1332, 1334,
- 1337, 1340, 1343, 1346, 1348, 1351, 1353, 1355, 1357, 1359,
- 1362, 1363, 1364, 1365, 1366, 1367, 1369, 1371, 1374, 1378,
- 1380, 1383, 1385, 1387, 1393, 1395, 1397, 1400, 1403, 1406,
- 1409, 1410, 1416, 1417, 1422, 1423, 1424, 1426, 1429, 1433,
- 1437, 1441, 1442, 1447, 1449, 1453, 1454, 1455, 1463, 1469,
- 1472, 1473, 1474, 1475, 1476, 1489, 1490, 1497, 1500, 1502,
- 1504, 1507, 1511, 1514, 1517, 1520, 1524, 1531, 1540, 1551,
- 1564, 1568, 1573, 1575, 1579, 1585, 1588, 1594, 1595, 1597,
- 1598, 1600, 1601, 1603, 1605, 1609, 1614, 1622, 1624, 1628,
- 1629, 1633, 1636, 1637, 1638, 1645, 1648, 1649, 1651, 1653,
- 1657, 1659, 1663, 1668, 1673, 1677, 1682, 1686, 1691, 1696,
- 1700, 1705, 1709, 1711, 1712, 1716, 1718, 1721, 1723, 1727,
- 1729, 1733
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const short yyrhs[] =
-{
- 92, 0, -1, -1, 93, -1, -1, 94, 96, -1,
- -1, 93, 95, 96, -1, 98, -1, 97, -1, 27,
- 66, 107, 83, 84, -1, 290, 96, -1, 129, 163,
- 84, -1, 149, 129, 163, 84, -1, 148, 129, 162,
- 84, -1, 155, 84, -1, 1, 84, -1, 1, 85,
- -1, 84, -1, -1, -1, 148, 129, 191, 99, 124,
- 100, 251, 252, 240, -1, 148, 129, 191, 1, -1,
- -1, -1, 149, 129, 196, 101, 124, 102, 251, 252,
- 240, -1, 149, 129, 196, 1, -1, -1, -1, 129,
- 196, 103, 124, 104, 251, 252, 240, -1, 129, 196,
- 1, -1, 3, -1, 4, -1, 51, -1, 57, -1,
- 56, -1, 62, -1, 61, -1, 86, -1, 87, -1,
- 109, -1, -1, 109, -1, 115, -1, 109, 88, 115,
- -1, 121, -1, 58, 114, -1, 290, 114, -1, 106,
- 114, -1, 48, 105, -1, 111, 110, -1, 111, 66,
- 217, 83, -1, 112, 110, -1, 112, 66, 217, 83,
- -1, 33, 114, -1, 34, 114, -1, 11, -1, 29,
- -1, 28, -1, 110, -1, 66, 217, 83, 114, -1,
- 114, -1, 115, 56, 115, -1, 115, 57, 115, -1,
- 115, 58, 115, -1, 115, 59, 115, -1, 115, 60,
- 115, -1, 115, 55, 115, -1, 115, 54, 115, -1,
- 115, 53, 115, -1, 115, 52, 115, -1, 115, 51,
- 115, -1, 115, 49, 115, -1, 115, 50, 115, -1,
- -1, 115, 48, 116, 115, -1, -1, 115, 47, 117,
- 115, -1, -1, -1, 115, 45, 118, 107, 46, 119,
- 115, -1, -1, 115, 45, 120, 46, 115, -1, 115,
- 43, 115, -1, 115, 44, 115, -1, 3, -1, 8,
- -1, 123, -1, 42, -1, -1, 66, 217, 83, 89,
- 122, 177, 85, -1, 66, 107, 83, -1, 66, 1,
- 83, -1, 244, 242, 83, -1, 244, 1, 83, -1,
- 121, 66, 108, 83, -1, 35, 66, 115, 88, 217,
- 83, -1, 36, 66, 115, 88, 115, 88, 115, 83,
- -1, 37, 66, 217, 88, 217, 83, -1, 121, 67,
- 107, 90, -1, 121, 65, 105, -1, 121, 68, 105,
- -1, 121, 62, -1, 121, 61, -1, 9, -1, 123,
- 9, -1, -1, 126, -1, 126, 10, -1, 251, 252,
- 127, -1, 125, -1, 232, -1, 126, 125, -1, 125,
- 232, -1, 150, 129, 162, 84, -1, 151, 129, 163,
- 84, -1, 150, 84, -1, 151, 84, -1, 251, 252,
- 131, -1, -1, 169, -1, 148, 129, 162, 84, -1,
- 149, 129, 163, 84, -1, 148, 129, 185, -1, 149,
- 129, 188, -1, 155, 84, -1, 290, 131, -1, 7,
- -1, 132, 7, -1, 133, 7, -1, 132, 170, -1,
- 134, 7, -1, 135, 7, -1, 170, -1, 134, 170,
- -1, 157, -1, 136, 7, -1, 137, 7, -1, 136,
- 159, -1, 137, 159, -1, 132, 157, -1, 133, 157,
- -1, 158, -1, 136, 170, -1, 136, 160, -1, 137,
- 160, -1, 132, 158, -1, 133, 158, -1, 138, 7,
- -1, 139, 7, -1, 138, 159, -1, 139, 159, -1,
- 134, 157, -1, 135, 157, -1, 138, 170, -1, 138,
- 160, -1, 139, 160, -1, 134, 158, -1, 135, 158,
- -1, 5, -1, 140, 7, -1, 141, 7, -1, 132,
- 5, -1, 133, 5, -1, 140, 5, -1, 141, 5,
- -1, 140, 170, -1, 142, 7, -1, 143, 7, -1,
- 134, 5, -1, 135, 5, -1, 142, 5, -1, 143,
- 5, -1, 142, 170, -1, 144, 7, -1, 145, 7,
- -1, 144, 159, -1, 145, 159, -1, 140, 157, -1,
- 141, 157, -1, 136, 5, -1, 137, 5, -1, 144,
- 5, -1, 145, 5, -1, 144, 170, -1, 144, 160,
- -1, 145, 160, -1, 140, 158, -1, 141, 158, -1,
- 146, 7, -1, 147, 7, -1, 146, 159, -1, 147,
- 159, -1, 142, 157, -1, 143, 157, -1, 138, 5,
- -1, 139, 5, -1, 146, 5, -1, 147, 5, -1,
- 146, 170, -1, 146, 160, -1, 147, 160, -1, 142,
- 158, -1, 143, 158, -1, 136, -1, 137, -1, 138,
- -1, 139, -1, 144, -1, 145, -1, 146, -1, 147,
- -1, 132, -1, 133, -1, 134, -1, 135, -1, 140,
- -1, 141, -1, 142, -1, 143, -1, 136, -1, 137,
- -1, 144, -1, 145, -1, 132, -1, 133, -1, 140,
- -1, 141, -1, 136, -1, 137, -1, 138, -1, 139,
- -1, 132, -1, 133, -1, 134, -1, 135, -1, 136,
- -1, 137, -1, 138, -1, 139, -1, 132, -1, 133,
- -1, 134, -1, 135, -1, 132, -1, 133, -1, 134,
- -1, 135, -1, 136, -1, 137, -1, 138, -1, 139,
- -1, 140, -1, 141, -1, 142, -1, 143, -1, 144,
- -1, 145, -1, 146, -1, 147, -1, -1, 153, -1,
- 159, -1, 161, -1, 160, -1, 6, -1, 205, -1,
- 200, -1, 4, -1, 113, 66, 107, 83, -1, 113,
- 66, 217, 83, -1, 165, -1, 162, 88, 130, 165,
- -1, 167, -1, 163, 88, 130, 167, -1, -1, 27,
- 66, 123, 83, -1, -1, 191, 164, 169, 43, 166,
- 175, -1, 191, 164, 169, -1, -1, 196, 164, 169,
- 43, 168, 175, -1, 196, 164, 169, -1, -1, 170,
- -1, 171, -1, 170, 171, -1, 30, 66, 66, 172,
- 83, 83, -1, 173, -1, 172, 88, 173, -1, -1,
- 174, -1, 174, 66, 3, 83, -1, 174, 66, 3,
- 88, 109, 83, -1, 174, 66, 108, 83, -1, 105,
- -1, 5, -1, 6, -1, 7, -1, 115, -1, -1,
- 89, 176, 177, 85, -1, 1, -1, -1, 178, 206,
- -1, 179, -1, 178, 88, 179, -1, 183, 43, 181,
- -1, 184, 181, -1, -1, 105, 46, 180, 181, -1,
- 181, -1, -1, 89, 182, 177, 85, -1, 115, -1,
- 1, -1, 184, -1, 183, 184, -1, 65, 105, -1,
- 67, 115, 10, 115, 90, -1, 67, 115, 90, -1,
- -1, -1, 191, 186, 124, 187, 251, 252, 245, -1,
- -1, -1, 196, 189, 124, 190, 251, 252, 245, -1,
- 192, -1, 196, -1, 66, 169, 192, 83, -1, 192,
- 66, 285, -1, 192, 225, -1, 58, 156, 192, -1,
- 4, -1, 194, -1, 195, -1, 194, 66, 285, -1,
- 194, 225, -1, 4, -1, 195, 66, 285, -1, 195,
- 225, -1, 58, 156, 194, -1, 58, 156, 195, -1,
- 66, 169, 195, 83, -1, 196, 66, 285, -1, 66,
- 169, 196, 83, -1, 58, 156, 196, -1, 196, 225,
- -1, 3, -1, 13, -1, 13, 170, -1, 14, -1,
- 14, 170, -1, 12, -1, 12, 170, -1, -1, 197,
- 105, 89, 201, 208, 85, 169, -1, 197, 89, 208,
- 85, 169, -1, -1, 198, 105, 89, 202, 208, 85,
- 169, -1, 198, 89, 208, 85, 169, -1, -1, 199,
- 105, 89, 203, 215, 207, 85, 169, -1, -1, 199,
- 89, 204, 215, 207, 85, 169, -1, 197, 105, -1,
- 198, 105, -1, 199, 105, -1, -1, 88, -1, -1,
- 88, -1, 209, -1, 209, 210, -1, -1, 209, 210,
- 84, -1, 209, 84, -1, 152, 129, 211, -1, 152,
- 129, 251, 252, -1, 153, 129, 212, -1, 153, -1,
- 1, -1, 290, 210, -1, 213, -1, 211, 88, 130,
- 213, -1, 214, -1, 212, 88, 130, 214, -1, 251,
- 252, 191, 169, -1, 251, 252, 191, 46, 115, 169,
- -1, 251, 252, 46, 115, 169, -1, 251, 252, 196,
- 169, -1, 251, 252, 196, 46, 115, 169, -1, 251,
- 252, 46, 115, 169, -1, 216, -1, 215, 88, 216,
- -1, 1, -1, 105, -1, 105, 43, 115, -1, -1,
- 154, 218, 219, -1, -1, 221, -1, -1, 221, -1,
- 222, 170, -1, 223, -1, 222, -1, 224, -1, 58,
- 156, 222, -1, 58, 156, -1, 58, 156, 223, -1,
- 66, 169, 221, 83, -1, 224, 66, 275, -1, 224,
- 225, -1, 66, 275, -1, 225, -1, 67, 107, 90,
- -1, 67, 154, 107, 90, -1, 67, 90, -1, 67,
- 154, 90, -1, 67, 58, 90, -1, 67, 154, 58,
- 90, -1, 67, 5, 107, 90, -1, 67, 5, 154,
- 107, 90, -1, 67, 154, 5, 107, 90, -1, 227,
- -1, 228, -1, 229, -1, 230, -1, 255, -1, 227,
- 255, -1, 228, 255, -1, 229, 255, -1, 230, 255,
- -1, 128, -1, 227, 128, -1, 228, 128, -1, 230,
- 128, -1, 256, -1, 227, 256, -1, 228, 256, -1,
- 229, 256, -1, 230, 256, -1, 232, -1, 231, 232,
- -1, 227, -1, 228, -1, 229, -1, 230, -1, 1,
- 84, -1, -1, -1, -1, -1, -1, 238, -1, 239,
- -1, 238, 239, -1, 32, 289, 84, -1, 245, -1,
- 1, 245, -1, 89, -1, 85, -1, 233, 237, 243,
- 85, 234, -1, 226, -1, 1, -1, 66, 89, -1,
- 241, 242, -1, 247, 254, -1, 247, 1, -1, -1,
- 15, 248, 66, 107, 83, -1, -1, 18, 250, 254,
- 17, -1, -1, -1, 255, -1, 256, 253, -1, 235,
- 253, 236, -1, 251, 252, 267, -1, 251, 252, 268,
- -1, -1, 246, 16, 258, 254, -1, 246, -1, 246,
- 16, 1, -1, -1, -1, 17, 259, 66, 107, 83,
- 260, 254, -1, 249, 66, 107, 83, 84, -1, 249,
- 1, -1, -1, -1, -1, -1, 19, 261, 66, 266,
- 262, 270, 84, 263, 270, 83, 264, 254, -1, -1,
- 20, 66, 107, 83, 265, 254, -1, 270, 84, -1,
- 131, -1, 245, -1, 107, 84, -1, 235, 257, 236,
- -1, 23, 84, -1, 24, 84, -1, 25, 84, -1,
- 25, 107, 84, -1, 27, 269, 66, 107, 83, 84,
- -1, 27, 269, 66, 107, 46, 271, 83, 84, -1,
- 27, 269, 66, 107, 46, 271, 46, 271, 83, 84,
- -1, 27, 269, 66, 107, 46, 271, 46, 271, 46,
- 274, 83, 84, -1, 26, 105, 84, -1, 26, 58,
- 107, 84, -1, 84, -1, 21, 115, 46, -1, 21,
- 115, 10, 115, 46, -1, 22, 46, -1, 105, 251,
- 252, 46, 169, -1, -1, 7, -1, -1, 107, -1,
- -1, 272, -1, 273, -1, 272, 88, 273, -1, 9,
- 66, 107, 83, -1, 67, 105, 90, 9, 66, 107,
- 83, -1, 123, -1, 274, 88, 123, -1, -1, 169,
- 276, 277, -1, 280, 83, -1, -1, -1, 281, 84,
- 278, 169, 279, 277, -1, 1, 83, -1, -1, 10,
- -1, 281, -1, 281, 88, 10, -1, 283, -1, 281,
- 88, 282, -1, 148, 129, 193, 169, -1, 148, 129,
- 196, 169, -1, 148, 129, 220, -1, 149, 129, 196,
- 169, -1, 149, 129, 220, -1, 150, 284, 193, 169,
- -1, 150, 284, 196, 169, -1, 150, 284, 220, -1,
- 151, 284, 196, 169, -1, 151, 284, 220, -1, 129,
- -1, -1, 169, 286, 287, -1, 277, -1, 288, 83,
- -1, 3, -1, 288, 88, 3, -1, 105, -1, 289,
- 88, 105, -1, 31, -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const unsigned short yyrline[] =
-{
- 0, 287, 287, 291, 307, 307, 308, 308, 312, 313,
- 314, 322, 327, 334, 336, 338, 340, 341, 342, 349,
- 354, 348, 360, 363, 368, 362, 374, 377, 382, 376,
- 388, 393, 394, 397, 399, 401, 406, 408, 410, 412,
- 416, 422, 423, 427, 429, 434, 435, 438, 441, 445,
- 462, 468, 471, 474, 477, 479, 484, 488, 492, 496,
- 497, 502, 503, 505, 507, 509, 511, 513, 515, 517,
- 519, 521, 523, 525, 528, 527, 534, 533, 540, 543,
- 539, 549, 548, 558, 565, 576, 582, 583, 585, 588,
- 587, 600, 605, 607, 623, 630, 632, 635, 645, 655,
- 657, 661, 667, 669, 675, 676, 693, 695, 696, 707,
- 712, 713, 714, 715, 723, 725, 727, 730, 739, 748,
- 758, 763, 765, 767, 769, 771, 773, 830, 833, 836,
- 842, 848, 851, 857, 860, 866, 869, 872, 875, 878,
- 881, 884, 890, 893, 896, 899, 902, 905, 911, 914,
- 917, 920, 923, 926, 932, 935, 938, 941, 944, 950,
- 953, 956, 959, 965, 971, 977, 986, 992, 995, 998,
- 1004, 1010, 1016, 1025, 1031, 1034, 1037, 1040, 1043, 1046,
- 1049, 1055, 1061, 1067, 1076, 1079, 1082, 1085, 1088, 1094,
- 1097, 1100, 1103, 1106, 1109, 1112, 1118, 1124, 1130, 1139,
- 1142, 1145, 1148, 1151, 1158, 1159, 1160, 1161, 1162, 1163,
- 1164, 1165, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176,
- 1180, 1181, 1182, 1183, 1187, 1188, 1189, 1190, 1194, 1195,
- 1196, 1197, 1201, 1202, 1203, 1204, 1208, 1209, 1210, 1211,
- 1212, 1213, 1214, 1215, 1219, 1220, 1221, 1222, 1223, 1224,
- 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234,
- 1240, 1241, 1267, 1268, 1272, 1276, 1278, 1282, 1286, 1290,
- 1292, 1299, 1300, 1304, 1305, 1310, 1311, 1319, 1318, 1326,
- 1335, 1334, 1342, 1351, 1352, 1357, 1359, 1364, 1369, 1371,
- 1377, 1378, 1380, 1382, 1384, 1392, 1393, 1394, 1395, 1401,
- 1403, 1402, 1406, 1413, 1415, 1419, 1420, 1426, 1429, 1433,
- 1432, 1438, 1443, 1442, 1446, 1448, 1452, 1453, 1457, 1462,
- 1466, 1472, 1484, 1471, 1502, 1514, 1501, 1534, 1535, 1541,
- 1543, 1548, 1550, 1552, 1560, 1561, 1565, 1570, 1572, 1576,
- 1581, 1583, 1585, 1587, 1595, 1600, 1602, 1604, 1606, 1610,
- 1612, 1617, 1619, 1624, 1626, 1638, 1637, 1643, 1648, 1647,
- 1651, 1656, 1655, 1661, 1660, 1668, 1670, 1672, 1680, 1682,
- 1685, 1687, 1693, 1695, 1701, 1702, 1704, 1710, 1713, 1723,
- 1726, 1731, 1733, 1739, 1740, 1745, 1746, 1751, 1754, 1758,
- 1764, 1767, 1771, 1782, 1783, 1788, 1794, 1796, 1802, 1801,
- 1810, 1811, 1816, 1819, 1823, 1830, 1831, 1835, 1836, 1841,
- 1843, 1848, 1850, 1852, 1854, 1856, 1863, 1865, 1867, 1869,
- 1871, 1873, 1875, 1879, 1883, 1896, 1897, 1898, 1902, 1906,
- 1907, 1908, 1909, 1910, 1914, 1915, 1918, 1919, 1923, 1924,
- 1925, 1926, 1927, 1931, 1932, 1936, 1937, 1938, 1939, 1942,
- 1946, 1953, 1958, 1974, 1988, 1990, 1996, 1997, 2001, 2015,
- 2017, 2020, 2024, 2026, 2034, 2035, 2039, 2056, 2064, 2069,
- 2082, 2081, 2096, 2095, 2115, 2121, 2127, 2128, 2133, 2139,
- 2153, 2163, 2162, 2170, 2182, 2193, 2196, 2192, 2202, 2205,
- 2208, 2212, 2215, 2218, 2207, 2222, 2221, 2229, 2231, 2237,
- 2239, 2242, 2246, 2249, 2252, 2255, 2258, 2262, 2266, 2271,
- 2275, 2287, 2293, 2301, 2304, 2307, 2310, 2327, 2329, 2335,
- 2336, 2342, 2343, 2347, 2348, 2353, 2355, 2360, 2362, 2373,
- 2372, 2383, 2385, 2393, 2384, 2397, 2404, 2405, 2415, 2417,
- 2422, 2424, 2431, 2436, 2441, 2444, 2450, 2458, 2463, 2468,
- 2471, 2477, 2483, 2493, 2492, 2503, 2504, 2522, 2524, 2530,
- 2532, 2537
-};
-#endif
-
-#if YYDEBUG || YYERROR_VERBOSE
-/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
- "$end", "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", "CHOOSE_EXPR", "TYPES_COMPATIBLE_P", "PTR_VALUE",
- "PTR_BASE", "PTR_EXTENT", "STRING_FUNC_NAME", "VAR_FUNC_NAME", "'='",
- "ASSIGN", "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'",
- "EQCOMPARE", "ARITHCOMPARE", "RSHIFT", "LSHIFT", "'+'", "'-'", "'*'",
- "'/'", "'%'", "MINUSMINUS", "PLUSPLUS", "UNARY", "HYPERUNARY", "'.'",
- "'('", "'['", "POINTSAT", "INTERFACE", "IMPLEMENTATION", "END",
- "SELECTOR", "DEFS", "ENCODE", "CLASSNAME", "PUBLIC", "PRIVATE",
- "PROTECTED", "PROTOCOL", "OBJECTNAME", "CLASS", "ALIAS", "')'", "';'",
- "'}'", "'~'", "'!'", "','", "'{'", "']'", "$accept", "program",
- "extdefs", "@1", "@2", "extdef", "datadef", "fndef", "@3", "@4", "@5",
- "@6", "@7", "@8", "identifier", "unop", "expr", "exprlist",
- "nonnull_exprlist", "unary_expr", "sizeof", "alignof", "typeof",
- "cast_expr", "expr_no_commas", "@9", "@10", "@11", "@12", "@13",
- "primary", "@14", "string", "old_style_parm_decls", "lineno_datadecl",
- "datadecls", "datadecl", "lineno_decl", "setspecs", "maybe_resetattrs",
- "decl", "declspecs_nosc_nots_nosa_noea", "declspecs_nosc_nots_nosa_ea",
- "declspecs_nosc_nots_sa_noea", "declspecs_nosc_nots_sa_ea",
- "declspecs_nosc_ts_nosa_noea", "declspecs_nosc_ts_nosa_ea",
- "declspecs_nosc_ts_sa_noea", "declspecs_nosc_ts_sa_ea",
- "declspecs_sc_nots_nosa_noea", "declspecs_sc_nots_nosa_ea",
- "declspecs_sc_nots_sa_noea", "declspecs_sc_nots_sa_ea",
- "declspecs_sc_ts_nosa_noea", "declspecs_sc_ts_nosa_ea",
- "declspecs_sc_ts_sa_noea", "declspecs_sc_ts_sa_ea", "declspecs_ts",
- "declspecs_nots", "declspecs_ts_nosa", "declspecs_nots_nosa",
- "declspecs_nosc_ts", "declspecs_nosc_nots", "declspecs_nosc",
- "declspecs", "maybe_type_quals_attrs", "typespec_nonattr",
- "typespec_attr", "typespec_reserved_nonattr", "typespec_reserved_attr",
- "typespec_nonreserved_nonattr", "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",
- "parm_declarator_starttypename", "parm_declarator_nostarttypename",
- "notype_declarator", "struct_head", "union_head", "enum_head",
- "structsp_attr", "@24", "@25", "@26", "@27", "structsp_nonattr",
- "maybecomma", "maybecomma_warn", "component_decl_list",
- "component_decl_list2", "component_decl", "components",
- "components_notype", "component_declarator",
- "component_notype_declarator", "enumlist", "enumerator", "typename",
- "@28", "absdcl", "absdcl_maybe_attribute", "absdcl1", "absdcl1_noea",
- "absdcl1_ea", "direct_absdcl1", "array_declarator", "stmts_and_decls",
- "lineno_stmt_decl_or_labels_ending_stmt",
- "lineno_stmt_decl_or_labels_ending_decl",
- "lineno_stmt_decl_or_labels_ending_label",
- "lineno_stmt_decl_or_labels_ending_error", "lineno_stmt_decl_or_labels",
- "errstmt", "pushlevel", "poplevel", "c99_block_start", "c99_block_end",
- "maybe_label_decls", "label_decls", "label_decl", "compstmt_or_error",
- "compstmt_start", "compstmt_nostart", "compstmt_contents_nonempty",
- "compstmt_primary_start", "compstmt", "simple_if", "if_prefix", "@29",
- "do_stmt_start", "@30", "save_filename", "save_lineno",
- "lineno_labeled_stmt", "c99_block_lineno_labeled_stmt", "lineno_stmt",
- "lineno_label", "select_or_iter_stmt", "@31", "@32", "@33", "@34",
- "@35", "@36", "@37", "@38", "for_init_stmt", "stmt", "label",
- "maybe_type_qual", "xexpr", "asm_operands", "nonnull_asm_operands",
- "asm_operand", "asm_clobbers", "parmlist", "@39", "parmlist_1", "@40",
- "@41", "parmlist_2", "parms", "parm", "firstparm", "setspecs_fp",
- "parmlist_or_identifiers", "@42", "parmlist_or_identifiers_1",
- "identifiers", "identifiers_or_typenames", "extension", 0
-};
-#endif
-
-# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
-static const unsigned short yytoknum[] =
-{
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 61, 298, 63, 58, 299, 300, 124,
- 94, 38, 301, 302, 303, 304, 43, 45, 42, 47,
- 37, 305, 306, 307, 308, 46, 40, 91, 309, 310,
- 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 41, 59, 125, 126, 33, 44, 123,
- 93
-};
-# endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const unsigned short yyr1[] =
-{
- 0, 91, 92, 92, 94, 93, 95, 93, 96, 96,
- 96, 96, 97, 97, 97, 97, 97, 97, 97, 99,
- 100, 98, 98, 101, 102, 98, 98, 103, 104, 98,
- 98, 105, 105, 106, 106, 106, 106, 106, 106, 106,
- 107, 108, 108, 109, 109, 110, 110, 110, 110, 110,
- 110, 110, 110, 110, 110, 110, 111, 112, 113, 114,
- 114, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 116, 115, 117, 115, 118, 119,
- 115, 120, 115, 115, 115, 121, 121, 121, 121, 122,
- 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
- 121, 121, 121, 121, 123, 123, 124, 124, 124, 125,
- 126, 126, 126, 126, 127, 127, 127, 127, 128, 129,
- 130, 131, 131, 131, 131, 131, 131, 132, 132, 132,
- 133, 134, 134, 135, 135, 136, 136, 136, 136, 136,
- 136, 136, 137, 137, 137, 137, 137, 137, 138, 138,
- 138, 138, 138, 138, 139, 139, 139, 139, 139, 140,
- 140, 140, 140, 140, 140, 140, 141, 142, 142, 142,
- 142, 142, 142, 143, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 145, 145, 145, 145, 145, 146,
- 146, 146, 146, 146, 146, 146, 146, 146, 146, 147,
- 147, 147, 147, 147, 148, 148, 148, 148, 148, 148,
- 148, 148, 149, 149, 149, 149, 149, 149, 149, 149,
- 150, 150, 150, 150, 151, 151, 151, 151, 152, 152,
- 152, 152, 153, 153, 153, 153, 154, 154, 154, 154,
- 154, 154, 154, 154, 155, 155, 155, 155, 155, 155,
- 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
- 156, 156, 157, 157, 158, 159, 159, 160, 161, 161,
- 161, 162, 162, 163, 163, 164, 164, 166, 165, 165,
- 168, 167, 167, 169, 169, 170, 170, 171, 172, 172,
- 173, 173, 173, 173, 173, 174, 174, 174, 174, 175,
- 176, 175, 175, 177, 177, 178, 178, 179, 179, 180,
- 179, 179, 182, 181, 181, 181, 183, 183, 184, 184,
- 184, 186, 187, 185, 189, 190, 188, 191, 191, 192,
- 192, 192, 192, 192, 193, 193, 194, 194, 194, 195,
- 195, 195, 195, 195, 196, 196, 196, 196, 196, 197,
- 197, 198, 198, 199, 199, 201, 200, 200, 202, 200,
- 200, 203, 200, 204, 200, 205, 205, 205, 206, 206,
- 207, 207, 208, 208, 209, 209, 209, 210, 210, 210,
- 210, 210, 210, 211, 211, 212, 212, 213, 213, 213,
- 214, 214, 214, 215, 215, 215, 216, 216, 218, 217,
- 219, 219, 220, 220, 220, 221, 221, 222, 222, 223,
- 223, 224, 224, 224, 224, 224, 225, 225, 225, 225,
- 225, 225, 225, 225, 225, 226, 226, 226, 226, 227,
- 227, 227, 227, 227, 228, 228, 228, 228, 229, 229,
- 229, 229, 229, 230, 230, 231, 231, 231, 231, 232,
- 233, 234, 235, 236, 237, 237, 238, 238, 239, 240,
- 240, 241, 242, 242, 243, 243, 244, 245, 246, 246,
- 248, 247, 250, 249, 251, 252, 253, 253, 254, 255,
- 256, 258, 257, 257, 257, 259, 260, 257, 257, 257,
- 261, 262, 263, 264, 257, 265, 257, 266, 266, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 268, 268, 268, 268, 269, 269, 270,
- 270, 271, 271, 272, 272, 273, 273, 274, 274, 276,
- 275, 277, 278, 279, 277, 277, 280, 280, 280, 280,
- 281, 281, 282, 282, 282, 282, 282, 283, 283, 283,
- 283, 283, 284, 286, 285, 287, 287, 288, 288, 289,
- 289, 290
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const unsigned char yyr2[] =
-{
- 0, 2, 0, 1, 0, 2, 0, 3, 1, 1,
- 5, 2, 3, 4, 4, 2, 2, 2, 1, 0,
- 0, 9, 4, 0, 0, 9, 4, 0, 0, 8,
- 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, 1, 1, 1, 1,
- 4, 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, 1, 0,
- 7, 3, 3, 3, 3, 4, 6, 8, 6, 4,
- 3, 3, 2, 2, 1, 2, 0, 1, 2, 3,
- 1, 1, 2, 2, 4, 4, 2, 2, 3, 0,
- 1, 4, 4, 3, 3, 2, 2, 1, 2, 2,
- 2, 2, 2, 1, 2, 1, 2, 2, 2, 2,
- 2, 2, 1, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 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, 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,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 0, 1, 1, 1, 1, 1, 1, 1, 1, 4,
- 4, 1, 4, 1, 4, 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, 7, 0, 0, 7, 1, 1, 4,
- 3, 2, 3, 1, 1, 1, 3, 2, 1, 3,
- 2, 3, 3, 4, 3, 4, 3, 2, 1, 1,
- 2, 1, 2, 1, 2, 0, 7, 5, 0, 7,
- 5, 0, 8, 0, 7, 2, 2, 2, 0, 1,
- 0, 1, 1, 2, 0, 3, 2, 3, 4, 3,
- 1, 1, 2, 1, 4, 1, 4, 4, 6, 5,
- 4, 6, 5, 1, 3, 1, 1, 3, 0, 3,
- 0, 1, 0, 1, 2, 1, 1, 1, 3, 2,
- 3, 4, 3, 2, 2, 1, 3, 4, 2, 3,
- 3, 4, 4, 5, 5, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 1, 2, 2, 2, 1, 2,
- 2, 2, 2, 1, 2, 1, 1, 1, 1, 2,
- 0, 0, 0, 0, 0, 1, 1, 2, 3, 1,
- 2, 1, 1, 5, 1, 1, 2, 2, 2, 2,
- 0, 5, 0, 4, 0, 0, 1, 2, 3, 3,
- 3, 0, 4, 1, 3, 0, 0, 7, 5, 2,
- 0, 0, 0, 0, 12, 0, 6, 2, 1, 1,
- 2, 3, 2, 2, 2, 3, 6, 8, 10, 12,
- 3, 4, 1, 3, 5, 2, 5, 0, 1, 0,
- 1, 0, 1, 1, 3, 4, 7, 1, 3, 0,
- 3, 2, 0, 0, 6, 2, 0, 1, 1, 3,
- 1, 3, 4, 4, 3, 4, 3, 4, 4, 3,
- 4, 3, 1, 0, 3, 1, 2, 1, 3, 1,
- 3, 1
-};
-
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
-static const unsigned short yydefact[] =
-{
- 4, 0, 6, 0, 1, 0, 0, 268, 159, 265,
- 127, 353, 349, 351, 0, 58, 0, 561, 18, 5,
- 9, 8, 0, 0, 212, 213, 214, 215, 204, 205,
- 206, 207, 216, 217, 218, 219, 208, 209, 210, 211,
- 119, 119, 0, 135, 142, 262, 264, 263, 133, 285,
- 0, 0, 0, 267, 266, 0, 7, 16, 17, 354,
- 350, 352, 0, 0, 0, 348, 260, 283, 0, 273,
- 0, 162, 128, 140, 146, 130, 163, 129, 141, 147,
- 169, 131, 152, 157, 134, 170, 132, 153, 158, 180,
- 136, 138, 144, 143, 181, 137, 139, 145, 195, 148,
- 150, 155, 154, 196, 149, 151, 156, 164, 160, 178,
- 187, 166, 165, 161, 179, 188, 171, 167, 193, 202,
- 173, 172, 168, 194, 203, 182, 174, 176, 185, 184,
- 183, 175, 177, 186, 197, 189, 191, 200, 199, 198,
- 190, 192, 201, 0, 0, 15, 286, 31, 32, 374,
- 365, 374, 366, 363, 367, 11, 85, 86, 104, 56,
- 57, 0, 0, 0, 0, 0, 88, 0, 33, 35,
- 34, 0, 37, 36, 0, 38, 39, 0, 0, 40,
- 59, 0, 0, 61, 43, 45, 87, 0, 0, 290,
- 0, 240, 241, 242, 243, 236, 237, 238, 239, 398,
- 0, 232, 233, 234, 235, 261, 0, 0, 284, 12,
- 283, 30, 0, 283, 0, 0, 283, 347, 333, 260,
- 283, 0, 271, 0, 327, 328, 0, 0, 0, 0,
- 355, 0, 358, 0, 361, 54, 55, 0, 0, 0,
- 49, 46, 0, 466, 0, 0, 48, 0, 0, 0,
- 50, 0, 52, 0, 0, 78, 76, 74, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 103, 102, 0, 41, 0, 0, 105, 0, 462, 454,
- 0, 47, 296, 297, 298, 295, 0, 288, 291, 269,
- 400, 270, 346, 0, 0, 120, 0, 553, 344, 0,
- 0, 418, 0, 0, 0, 28, 0, 474, 111, 475,
- 282, 0, 0, 14, 283, 22, 0, 283, 283, 331,
- 13, 26, 0, 283, 381, 376, 232, 233, 234, 235,
- 228, 229, 230, 231, 119, 119, 373, 0, 374, 283,
- 374, 395, 396, 370, 393, 0, 0, 0, 0, 92,
- 91, 0, 10, 44, 0, 0, 83, 84, 0, 0,
- 0, 0, 72, 73, 71, 70, 69, 68, 67, 62,
- 63, 64, 65, 66, 100, 0, 42, 0, 101, 94,
- 0, 0, 455, 456, 93, 0, 290, 41, 260, 283,
- 399, 401, 406, 405, 407, 415, 345, 274, 275, 0,
- 0, 0, 0, 420, 416, 0, 0, 419, 0, 449,
- 474, 113, 108, 112, 0, 280, 332, 0, 0, 20,
- 279, 330, 24, 357, 474, 474, 375, 382, 0, 360,
- 0, 0, 371, 0, 370, 0, 0, 0, 89, 60,
- 51, 53, 0, 0, 77, 75, 95, 99, 559, 0,
- 465, 434, 464, 474, 474, 474, 474, 0, 443, 0,
- 475, 429, 438, 457, 287, 289, 85, 0, 409, 529,
- 414, 283, 413, 276, 0, 557, 537, 224, 225, 220,
- 221, 226, 227, 222, 223, 119, 119, 555, 0, 538,
- 540, 554, 0, 422, 0, 0, 421, 417, 475, 109,
- 119, 119, 0, 329, 272, 275, 474, 277, 474, 377,
- 383, 475, 379, 385, 475, 283, 283, 397, 394, 283,
- 0, 0, 0, 0, 0, 79, 82, 458, 0, 435,
- 430, 439, 436, 431, 440, 475, 432, 441, 437, 433,
- 442, 444, 451, 452, 292, 0, 294, 408, 410, 0,
- 0, 529, 412, 535, 552, 402, 402, 531, 532, 0,
- 556, 0, 423, 424, 0, 116, 0, 117, 0, 302,
- 300, 299, 281, 475, 0, 475, 283, 378, 283, 0,
- 356, 359, 364, 283, 96, 0, 98, 315, 85, 0,
- 0, 312, 0, 314, 0, 368, 305, 311, 0, 0,
- 0, 560, 452, 463, 268, 0, 0, 0, 0, 0,
- 0, 517, 512, 461, 474, 0, 118, 119, 119, 0,
- 0, 450, 499, 479, 480, 0, 0, 411, 530, 338,
- 260, 283, 283, 334, 335, 283, 549, 403, 406, 260,
- 283, 283, 551, 283, 539, 212, 213, 214, 215, 204,
- 205, 206, 207, 216, 217, 218, 219, 208, 209, 210,
- 211, 119, 119, 541, 558, 0, 29, 459, 0, 0,
- 0, 0, 278, 0, 474, 0, 283, 474, 0, 283,
- 362, 0, 318, 0, 0, 309, 90, 0, 304, 0,
- 317, 308, 80, 0, 515, 502, 503, 504, 0, 0,
- 0, 518, 0, 475, 500, 0, 0, 125, 470, 485,
- 472, 490, 0, 483, 0, 0, 453, 467, 126, 293,
- 409, 529, 547, 283, 337, 283, 340, 548, 404, 409,
- 529, 550, 533, 402, 402, 460, 114, 115, 0, 21,
- 25, 384, 475, 283, 0, 387, 386, 283, 0, 390,
- 97, 0, 320, 0, 0, 306, 307, 0, 513, 505,
- 0, 510, 0, 0, 0, 123, 321, 0, 124, 324,
- 0, 0, 452, 0, 0, 0, 469, 474, 468, 489,
- 0, 501, 341, 342, 0, 336, 339, 0, 283, 283,
- 544, 283, 546, 301, 0, 389, 283, 392, 283, 0,
- 313, 310, 0, 511, 0, 283, 121, 0, 122, 0,
- 0, 0, 0, 519, 0, 484, 452, 453, 476, 474,
- 0, 343, 534, 542, 543, 545, 388, 391, 319, 514,
- 521, 0, 516, 322, 325, 0, 0, 473, 520, 498,
- 491, 0, 495, 482, 478, 477, 0, 0, 0, 0,
- 522, 523, 506, 474, 474, 471, 486, 519, 497, 452,
- 488, 0, 0, 521, 0, 0, 475, 475, 452, 0,
- 496, 0, 0, 0, 507, 524, 0, 0, 487, 492,
- 525, 0, 0, 0, 323, 326, 519, 0, 527, 0,
- 508, 0, 0, 0, 0, 493, 526, 509, 528, 452,
- 494
-};
-
-/* YYDEFGOTO[NTERM-NUM]. */
-static const short yydefgoto[] =
-{
- -1, 1, 2, 3, 5, 19, 20, 21, 316, 506,
- 322, 508, 215, 410, 592, 177, 244, 375, 179, 180,
- 181, 182, 22, 183, 184, 361, 360, 358, 600, 359,
- 185, 524, 186, 305, 306, 307, 499, 451, 23, 294,
- 616, 191, 192, 193, 194, 195, 196, 197, 198, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 485,
- 486, 334, 205, 199, 42, 206, 43, 44, 45, 46,
- 47, 221, 68, 216, 222, 574, 69, 502, 295, 208,
- 49, 286, 287, 288, 572, 670, 594, 595, 596, 754,
- 597, 684, 598, 599, 765, 807, 853, 768, 809, 854,
- 505, 224, 632, 633, 634, 225, 50, 51, 52, 53,
- 338, 340, 345, 233, 54, 688, 433, 228, 229, 336,
- 509, 512, 510, 513, 343, 344, 200, 290, 390, 636,
- 637, 392, 393, 394, 217, 452, 453, 454, 455, 456,
- 457, 308, 279, 603, 777, 781, 381, 382, 383, 666,
- 621, 280, 459, 187, 667, 713, 714, 770, 715, 772,
- 309, 414, 817, 778, 818, 819, 716, 816, 771, 868,
- 773, 857, 886, 899, 859, 840, 623, 624, 702, 841,
- 849, 850, 851, 889, 470, 550, 487, 643, 787, 488,
- 489, 663, 490, 555, 298, 400, 491, 492, 449, 188
-};
-
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -713
-static const short yypact[] =
-{
- 159, 169, 177, 961, -713, 961, 441, -713, -713, -713,
- -713, 196, 196, 196, 166, -713, 192, -713, -713, -713,
- -713, -713, 213, 345, 300, 515, 1115, 1018, 458, 408,
- 796, 488, 1236, 1269, 1240, 1454, 1309, 751, 1501, 885,
- -713, -713, 208, -713, -713, -713, -713, -713, 196, -713,
- 127, 133, 150, -713, -713, 961, -713, -713, -713, 196,
- 196, 196, 2755, 229, 2673, -713, 120, 196, 163, -713,
- 1167, -713, -713, -713, -713, 196, -713, -713, -713, -713,
- -713, -713, -713, -713, 196, -713, -713, -713, -713, -713,
- -713, -713, -713, 196, -713, -713, -713, -713, -713, -713,
- -713, -713, 196, -713, -713, -713, -713, -713, -713, -713,
- -713, 196, -713, -713, -713, -713, -713, -713, -713, -713,
- 196, -713, -713, -713, -713, -713, -713, -713, -713, 196,
- -713, -713, -713, -713, -713, -713, -713, -713, 196, -713,
- -713, -713, -713, 501, 345, -713, -713, -713, -713, -713,
- 245, -713, 248, -713, 255, -713, -713, -713, -713, -713,
- -713, 2755, 2755, 330, 343, 357, -713, 534, -713, -713,
- -713, 2755, -713, -713, 1774, -713, -713, 2755, 275, 342,
- -713, 2796, 2837, -713, 3084, 755, 424, 1536, 2755, 615,
- 359, 1022, 784, 1163, 3080, 1077, 719, 1743, 1102, -713,
- 367, 258, 460, 287, 469, -713, 345, 345, 196, -713,
- 196, -713, 413, 196, 2206, 358, 196, -713, -713, 120,
- 196, 238, -713, 447, 499, 502, 289, 2141, 421, 930,
- -713, 425, -713, 482, -713, -713, -713, 2755, 2755, 3049,
- -713, -713, 430, -713, 451, 456, -713, 446, 2755, 1774,
- -713, 1774, -713, 2755, 2755, 462, -713, -713, 2755, 2755,
- 2755, 2755, 2755, 2755, 2755, 2755, 2755, 2755, 2755, 2755,
- -713, -713, 534, 2755, 2755, 534, -713, 463, -713, 542,
- 496, -713, -713, -713, -713, -713, 122, -713, 524, -713,
- 224, -713, 502, 351, 345, -713, 586, -713, -713, 2673,
- 2307, -713, 508, 2247, 518, -713, 111, 79, -713, -713,
- 568, 501, 501, -713, 196, -713, 358, 196, 196, -713,
- -713, -713, 358, 196, -713, -713, 1022, 784, 1163, 3080,
- 1077, 719, 1743, 1102, -713, 493, 550, 2169, -713, 196,
- -713, -713, 595, 555, -713, 482, 2942, 2960, 557, -713,
- -713, 2548, -713, 3084, 564, 570, 3084, 3084, 2755, 605,
- 2755, 2755, 2510, 1799, 1464, 2635, 783, 997, 997, 308,
- 308, -713, -713, -713, -713, 574, 342, 569, -713, -713,
- 534, 1391, 542, -713, -713, 578, 615, 2878, 120, 196,
- -713, -713, -713, -713, 516, -713, -713, -713, 179, 89,
- 1211, 585, 2755, -713, -713, 2755, 2348, -713, 601, -713,
- -713, -713, -713, -713, 1373, -713, 499, 432, 501, -713,
- 650, -713, -713, -713, -713, -713, -713, -713, 614, -713,
- 616, 2755, 534, 620, 555, 3049, 2755, 3049, -713, -713,
- 630, 630, 677, 2755, 3113, 2064, -713, -713, -713, 292,
- 518, -713, -713, 78, 93, 96, 118, 737, -713, 659,
- -713, -713, -713, -713, -713, -713, 155, 667, 224, 224,
- -713, 196, -713, -713, 679, -713, -713, 2050, 1458, 690,
- 772, 2317, 2079, 740, 1299, -713, -713, -713, 683, 310,
- -713, -713, 189, -713, 652, 681, -713, -713, -713, -713,
- 696, 699, 2039, -713, -713, 760, -713, -713, -713, 705,
- -713, -713, 706, -713, -713, 196, 196, 3084, -713, 196,
- 682, 717, 2984, 721, 1838, -713, 3100, -713, 534, -713,
- -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
- -713, -713, -713, 2418, -713, 2755, -713, -713, -713, 722,
- 855, -713, -713, -713, -713, 321, 283, -713, -713, 1336,
- -713, 803, -713, -713, 73, -713, 501, -713, 345, -713,
- -713, 3084, -713, -713, 2039, -713, 196, 547, 196, 366,
- -713, -713, -713, 196, -713, 2755, -713, -713, 761, 534,
- 2755, -713, 767, 3084, 734, 739, -713, -713, 211, 1972,
- 2755, -713, 2487, -713, 786, 2755, 798, 745, 746, 2714,
- 265, 842, -713, -713, -713, 768, -713, -713, -713, 769,
- 986, 770, -713, -713, -713, 2612, 215, -713, -713, -713,
- 120, 196, 196, 598, 644, 218, -713, -713, 196, 120,
- 196, 218, -713, 196, -713, 2050, 1458, 2458, 2527, 690,
- 772, 1063, 1569, 2317, 2079, 3045, 3076, 740, 1299, 1377,
- 1656, -713, -713, -713, -713, 774, -713, -713, 313, 320,
- 1838, 73, -713, 73, -713, 2755, 130, -713, 2755, 457,
- -713, 1556, -713, 1440, 1838, -713, -713, 1905, -713, 2101,
- -713, -713, 3100, 2923, -713, -713, -713, -713, 780, 2755,
- 782, -713, 804, -713, -713, 501, 345, -713, -713, -713,
- -713, -713, 806, 861, 1623, 107, -713, -713, -713, -713,
- 321, 333, -713, 196, -713, 196, -713, -713, 196, 283,
- 283, -713, -713, 321, 283, -713, -713, -713, 793, -713,
- -713, -713, -713, 1643, 2755, -713, -713, 1643, 2755, -713,
- -713, 2755, -713, 794, 2101, -713, -713, 2755, -713, -713,
- 797, -713, 2755, 836, 322, -713, 606, 355, -713, 655,
- 820, 821, -713, 823, 2755, 1710, -713, -713, -713, -713,
- 2755, -713, 598, 644, 466, -713, -713, 855, 196, 218,
- -713, 218, -713, -713, 547, -713, 1643, -713, 1643, 2898,
- -713, -713, 3066, -713, 60, 196, -713, 358, -713, 358,
- 2755, 2755, 878, 2612, 817, -713, -713, -713, -713, -713,
- 818, -713, -713, -713, -713, -713, -713, -713, -713, -713,
- 140, 819, -713, -713, -713, 833, 834, -713, -713, -713,
- -713, 835, -713, -713, -713, -713, 838, 852, 534, 63,
- 814, -713, -713, -713, -713, -713, -713, 2755, -713, -713,
- -713, 2755, 837, 140, 839, 140, -713, -713, -713, 844,
- -713, 843, 924, 112, -713, -713, 774, 774, -713, -713,
- -713, 873, 586, 875, -713, -713, 2755, 2755, 424, 233,
- -713, 874, 880, 886, 586, -713, -713, -713, 424, -713,
- -713
-};
-
-/* YYPGOTO[NTERM-NUM]. */
-static const short yypgoto[] =
-{
- -713, -713, -713, -713, -713, 102, -713, -713, -713, -713,
- -713, -713, -713, -713, 82, -713, -62, 584, -252, 548,
- -713, -713, -713, -107, 687, -713, -713, -713, -713, -713,
- -713, -713, -270, -300, 665, -713, -713, 100, 11, -295,
- -580, 2, 5, 37, 38, 41, 44, -2, 45, -380,
- -342, 418, 420, -341, -331, 426, 427, -481, -458, 573,
- 576, -713, -153, -109, -511, -202, 582, 654, 678, 876,
- -713, -476, -133, -208, 566, -713, 700, -713, 253, 1,
- 27, -713, 607, -713, 428, -713, -529, -713, 325, -713,
- -563, -713, -713, 397, -713, -713, -713, -713, -713, -713,
- -120, 423, 264, 293, 40, 7, -713, -713, -713, -713,
- -713, -713, -713, -713, -713, -713, 583, -85, -713, 670,
- -713, -713, 344, 339, 675, 589, -52, -713, -713, -474,
- -281, -373, -440, -713, 365, -713, -713, -713, -713, -713,
- -713, -215, -713, -713, -401, 216, -713, -713, 658, -182,
- -713, 416, -713, -713, -525, -713, -713, -713, -713, -713,
- 657, -350, 220, -688, -192, -145, -713, -713, -713, -713,
- -713, -713, -713, -713, -713, -713, -713, -713, -713, -712,
- 180, -713, 197, -713, 590, -713, -512, -713, -713, -713,
- -713, -713, -713, 579, -294, -713, -713, -713, -713, 58
-};
-
-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule which
- number is the opposite. If zero, do what YYDEFACT says.
- If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -537
-static const short yytable[] =
-{
- 178, 30, 190, 30, 48, 24, 48, 24, 25, 391,
- 25, 226, 59, 60, 61, 317, 419, 311, 622, 418,
- 481, 376, 422, 223, 421, 75, 399, 84, 548, 93,
- 70, 102, 619, 111, 481, 120, 691, 129, 628, 138,
- 26, 27, 26, 27, 28, 718, 28, 29, 31, 29,
- 31, 143, 144, 30, 235, 236, 48, 24, 482, 483,
- 25, 55, 617, 55, 241, 48, 231, 48, 201, 484,
- 246, 202, 482, 483, 665, 146, 335, 622, 661, -445,
- -107, 281, 642, 484, 812, 618, 146, 146, 146, 412,
- 668, 411, 26, 27, -446, 547, 28, -447, 276, 29,
- 31, 662, 146, 203, 204, 303, 830, 56, 779, 863,
- 543, 146, 304, 55, 619, -110, -110, -110, -110, -448,
- 146, -110, 245, -110, -110, -110, 756, 10, 843, 146,
- 147, 148, 150, 152, 154, 376, 147, 148, 146, -110,
- 735, 738, 620, 831, 617, 869, 864, 146, 564, 847,
- 16, 227, 302, 147, 148, 753, 146, 155, 882, -2,
- 16, 577, 613, -425, 579, 146, 458, 618, -107, 4,
- 481, 870, 473, 780, 891, 48, 744, -3, -426, 653,
- 878, -427, 638, 638, 335, 602, 468, 348, 549, 461,
- 402, 801, 75, 241, 84, 883, 93, 354, 102, 355,
- -110, 620, 75, -428, 84, 385, 212, 848, 482, 483,
- 386, 900, 377, 292, 293, 48, 149, 654, 657, 484,
- 48, 201, 151, 671, 202, 673, 16, 332, 658, 764,
- 48, 326, 62, 839, 327, 146, 462, 401, 544, 153,
- 48, 408, 541, 545, 439, 213, 214, 209, 16, 240,
- 48, 210, 48, 428, 689, 430, 203, 204, 63, 790,
- 792, 530, 533, 536, 539, 72, 328, 329, 147, 148,
- 330, 285, 560, 331, 333, 822, 589, 561, 590, 64,
- 548, 674, 388, 677, 213, 214, 65, 337, 16, 548,
- 389, 214, 145, 626, 81, 189, 442, 317, 719, 241,
- 48, 398, 619, 248, 7, 71, 9, 72, 531, 534,
- 537, 540, 11, 12, 13, 342, 893, 16, 292, 293,
- 207, 894, 313, 699, 65, 629, 314, 75, 15, 84,
- 16, 93, 617, 102, 230, 332, 65, 232, 48, 326,
- 494, 639, 327, 495, 234, 424, 425, 547, 65, 640,
- 214, 884, 885, 763, 374, 618, 547, 378, 247, 304,
- 638, 638, -474, -474, -474, -474, 267, 268, 269, 65,
- -474, -474, -474, 320, 328, 329, 527, 210, 330, 630,
- 528, 331, 333, 521, -244, 523, -474, 631, 214, 48,
- 201, 630, 794, 202, 558, 337, 237, 736, 559, 631,
- 214, 314, 477, 66, 737, 478, 806, 481, 210, 238,
- 314, 67, 678, 94, 9, 95, 477, 213, 214, 478,
- 11, 12, 13, 239, 66, 203, 204, 342, 720, 785,
- 248, 786, 67, 276, 396, 669, 48, 729, 48, 808,
- 549, 479, 289, 210, 480, 482, 483, -106, 315, 549,
- 291, -19, -19, -19, -19, 479, 484, 676, 480, -19,
- -19, -19, 448, 89, 9, 90, 297, 77, 285, 310,
- 11, 12, 13, 312, 212, -19, 86, -275, 75, 296,
- 93, 615, 111, 341, 129, 147, 148, 16, 16, 739,
- -275, 740, -249, 103, 9, 104, 554, 554, 318, 214,
- 11, 12, 13, 748, 65, 218, 323, 833, -81, 834,
- 339, 566, 568, 349, 342, 503, 876, 877, 281, 7,
- 76, 9, 77, 213, 214, 57, 58, 11, 12, 13,
- 352, -275, 725, 214, 350, -275, -19, 147, 148, 351,
- 615, 30, -248, 15, 48, 24, 379, 698, 25, 821,
- 65, 218, 477, 529, 532, 478, 538, 651, 317, 219,
- 48, 645, 635, 641, 646, 318, 214, 220, 213, 214,
- 420, 297, -251, 767, 380, 398, 423, -380, -380, 384,
- 26, 27, 471, 214, 28, 766, 679, 29, 31, 319,
- 387, 479, 429, 675, 480, 158, 647, 648, 404, -245,
- 649, 625, 409, 650, 652, 219, 73, 78, 82, 87,
- 601, 415, 888, 220, 109, 114, 118, 123, 147, 148,
- 282, 283, 284, 30, 898, 614, 48, 24, 705, 706,
- 25, 48, 201, 212, 426, 202, -275, 760, 431, 728,
- 48, 201, 469, 432, 202, 437, 75, 440, 84, -275,
- 93, 443, 102, 441, 111, 395, 120, 446, 129, 447,
- 138, 464, 26, 27, 723, 214, 28, 203, 204, 29,
- 31, 682, 733, 734, 676, 493, 203, 204, 74, 79,
- 83, 88, 212, 625, 614, -275, 110, 115, 119, 124,
- -275, 497, 700, 507, -275, 89, 9, 90, -275, 515,
- 804, 516, 11, 12, 13, 519, 91, 96, 100, 105,
- 725, 214, 814, 769, 127, 132, 136, 141, 820, 438,
- 16, 213, 214, 525, 551, 9, 95, 292, 293, 250,
- 252, 11, 12, 13, 416, 417, 292, 293, 304, -275,
- 789, 791, 562, -275, 542, 125, 9, 126, 835, 836,
- 546, 838, 11, 12, 13, 146, 130, 9, 131, 472,
- 783, 784, 553, 11, 12, 13, 557, 583, 580, 581,
- 16, 563, 582, 73, 78, 82, 87, 94, 9, 95,
- 565, 319, 319, 567, 11, 12, 13, 212, 7, 477,
- 9, 77, 478, 576, 578, 838, 11, 12, 13, 871,
- 584, 98, 9, 99, 586, 627, 664, -31, 11, 12,
- 13, 30, 15, 685, 48, 24, 270, 271, 25, 686,
- 272, 273, 274, 275, 838, 892, 16, 687, 479, 695,
- 696, 480, -32, 395, 395, -257, 680, 263, 264, 265,
- 266, 267, 268, 269, 694, 74, 79, 83, 88, 701,
- 26, 27, 704, 707, 28, 278, 474, 29, 31, 7,
- 8, 9, 10, 613, 759, 476, 761, 11, 12, 13,
- 762, 625, 774, 91, 96, 100, 105, 775, 793, 800,
- -250, 803, 805, 15, 721, 722, 810, 811, 727, 813,
- 139, 9, 140, 730, 731, 837, 732, 11, 12, 13,
- 842, 846, 865, 852, 92, 97, 101, 106, 73, 78,
- 82, 87, 128, 133, 137, 142, 855, 856, 861, 858,
- 395, 395, 860, 874, 346, 347, 880, 872, 879, 745,
- 862, 324, 749, 881, 7, 353, 9, 10, -536, 887,
- 356, 357, 11, 12, 13, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 895, 15, 890,
- 16, 17, 6, 896, -119, 7, 8, 9, 10, -259,
- 897, 467, 413, 11, 12, 13, 297, 655, 297, 656,
- 74, 79, 83, 88, 504, 659, 660, 500, 14, 15,
- 501, 16, 17, 465, 397, 690, 795, 788, 724, 726,
- 797, 708, 672, 709, 710, 711, 712, 427, 91, 96,
- 100, 105, 755, 782, 325, -372, 746, 520, 741, -119,
- 434, 518, 7, 85, 9, 86, 7, -119, 9, 72,
- 11, 12, 13, 844, 11, 12, 13, 717, 460, 845,
- 463, 823, 824, 873, 825, 18, 15, 444, 445, 826,
- 15, 827, 16, 265, 266, 267, 268, 269, 832, 73,
- 78, 552, 875, 109, 114, 556, 0, 498, 98, 9,
- 99, 92, 97, 101, 106, 11, 12, 13, 0, 0,
- 0, 511, 514, 9, 90, 395, 395, 0, 0, 11,
- 12, 13, 0, 16, 395, 395, 0, 0, 395, 395,
- 0, 0, -247, 0, 0, 0, 0, 16, 9, 104,
- 460, 460, 535, 460, 11, 12, 13, 0, 517, 7,
- 80, 9, 81, 522, 0, 0, 0, 11, 12, 13,
- 526, 74, 79, 0, 0, 110, 115, 0, 0, 0,
- 0, 0, 0, 15, 0, 16, 0, 724, 726, 726,
- 0, 0, 0, 0, 0, 0, 0, 91, 96, 0,
- 0, 127, 132, 573, 0, 575, 0, 7, 211, 9,
- 81, -27, -27, -27, -27, 11, 12, 13, 0, -27,
- -27, -27, 0, 0, 0, 0, 0, 0, 0, 571,
- 0, 15, 0, 16, 212, -27, 0, -275, 0, -246,
- 0, 0, 0, 0, 0, 0, 92, 97, 101, 106,
- -275, 593, 474, 0, 475, 7, 8, 9, 10, 0,
- 0, 476, 0, 11, 12, 13, 0, 73, 78, 82,
- 87, 0, 0, 213, 214, 109, 114, 118, 123, 15,
- 7, 107, 9, 108, 7, 116, 9, 117, 11, 12,
- 13, -275, 11, 12, 13, -275, -27, 0, 0, 0,
- 0, 571, 0, 0, 15, 0, 16, 0, 15, 0,
- 16, 703, 681, 7, 112, 9, 113, 683, 0, 0,
- 0, 11, 12, 13, 0, 0, 593, 692, 0, 0,
- 0, 0, 693, 0, -536, 0, 0, 15, 0, 74,
- 79, 83, 88, 0, 130, 9, 131, 110, 115, 119,
- 124, 11, 12, 13, 125, 9, 126, 0, 0, 0,
- -252, 11, 12, 13, -254, 0, 0, 91, 96, 100,
- 105, 742, 0, 0, 514, 127, 132, 136, 141, 16,
- 7, 8, 9, 10, 0, 0, 644, 0, 11, 12,
- 13, 0, 0, -253, 0, 92, 97, 593, 0, 128,
- 133, 0, 743, 0, 15, 747, 16, 0, 0, 0,
- 0, 593, 0, 0, 593, 0, 593, 7, 8, 9,
- 10, 0, 134, 9, 135, 11, 12, 13, 0, 11,
- 12, 13, 450, -256, -474, -474, -474, -474, -474, -474,
- -474, 15, -474, -474, -474, -474, -474, 16, -474, -474,
- -474, -474, -474, -474, -474, -474, -474, -474, -474, -474,
- -474, -474, -474, 0, -474, -474, -474, -474, -474, 0,
- 0, 796, 0, -474, 535, 798, 0, 0, 799, -474,
- 0, 593, -474, 0, 802, 0, 0, -474, -474, -474,
- 751, 0, -474, -474, 0, 0, 0, -474, 7, 121,
- 9, 122, 7, 76, 9, 77, 11, 12, 13, 0,
- 11, 12, 13, 0, 0, -474, 535, -474, -474, 0,
- -474, 0, 15, 253, 254, 255, 15, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 0, 0, 0, 0, 0, 134, 9, 135, 0,
- 866, 867, 0, 11, 12, 13, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 92, 97, 101, 106, 0,
- 752, 16, 0, 128, 133, 137, 142, 277, -255, -450,
- -450, -450, -450, -450, -450, -450, 0, -450, -450, -450,
- -450, -450, 0, -450, -450, -450, -450, -450, -450, -450,
- -450, -450, -450, -450, -450, -450, -450, -450, -450, -450,
- -450, -450, -450, -450, 103, 9, 104, 0, -450, 0,
- 0, 11, 12, 13, -450, -258, 0, -450, 0, 0,
- 0, 0, -450, -450, -450, 0, 0, -450, -450, 253,
- 254, 255, -450, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 0, 0, 0,
- -450, 278, -450, -450, 776, -450, -452, -452, 0, 0,
- 0, -452, -452, 0, -452, 0, 0, 0, -452, 750,
- -452, -452, -452, -452, -452, -452, -452, -452, -452, -452,
- -452, 0, -452, 0, -452, 0, -452, -452, -452, -452,
- -452, 139, 9, 140, 0, -452, 0, 0, 11, 12,
- 13, -452, 0, 16, -452, 0, 0, 0, 0, -452,
- -452, -452, 0, 0, -452, -452, 253, 254, 255, -452,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- 266, 267, 268, 269, 0, 0, 0, -452, 0, -452,
- -452, 815, -452, -481, -481, 0, 0, 0, -481, -481,
- 0, -481, 0, 0, 0, -481, 0, -481, -481, -481,
- -481, -481, -481, -481, -481, -481, -481, -481, 0, -481,
- 0, -481, 0, -481, -481, -481, -481, -481, 0, 9,
- 99, 0, -481, 0, 0, 11, 12, 13, -481, 0,
- 0, -481, 0, 0, 0, 0, -481, -481, -481, 0,
- 0, -481, -481, 16, 0, 242, -481, 156, 7, 0,
- 9, 10, 157, 158, 0, 159, 11, 12, 13, 0,
- 0, 0, 0, 0, -481, 0, -481, -481, 0, -481,
- 0, 0, 15, 160, 16, 17, 0, 161, 162, 163,
- 164, 165, 0, 0, 0, 0, 166, 0, 0, 0,
- 0, 0, 167, 0, 0, 168, 0, 0, 0, 0,
- 169, 170, 171, 0, 0, 172, 173, 0, 0, 587,
- 174, 588, 148, 0, 0, 0, 157, 158, 0, 159,
- 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
- 175, 176, 0, 243, 0, 0, 0, 160, 0, 17,
- 0, 161, 162, 163, 164, 165, 0, 0, 0, 0,
- 166, 0, 0, 0, 0, 0, 167, 0, 0, 168,
- 0, 0, 0, 0, 169, 170, 171, 0, 0, 172,
- 173, 0, 0, 589, 174, 590, 587, 0, 588, 148,
- 0, 0, 0, 157, 158, 0, 159, 0, 0, 0,
- 0, 0, 0, -303, 175, 176, 0, 591, 0, 0,
- 0, 0, 0, 0, 160, 0, 17, 0, 161, 162,
- 163, 164, 165, 0, 0, 0, 0, 166, 0, 0,
- 0, 0, 0, 167, 0, 0, 168, 0, 0, 0,
- 0, 169, 170, 171, 0, 0, 172, 173, 0, 0,
- 589, 174, 590, 587, 0, 156, 0, 0, 0, 0,
- 157, 158, 0, 159, 0, 0, 0, 0, 0, 0,
- -369, 175, 176, 0, 591, 0, 0, 0, 0, 0,
- 0, 160, 0, 17, 0, 161, 162, 163, 164, 165,
- 0, 0, 0, 0, 166, -316, 0, 0, 0, 0,
- 167, 0, 0, 168, 0, 0, 0, 0, 169, 170,
- 171, 0, 0, 172, 173, 0, 0, -316, 174, -316,
- 569, 0, 156, 0, 0, 0, 0, 157, 158, 0,
- 159, 0, 0, 0, 7, 71, 9, 72, 175, 176,
- 0, 591, 11, 12, 13, 0, 0, 0, 160, 0,
- 17, 0, 161, 162, 163, 164, 165, 0, 15, 0,
- 16, 166, 0, 7, 112, 9, 113, 167, 0, 0,
- 168, 11, 12, 13, 0, 169, 170, 171, 0, 0,
- 172, 173, 587, 0, 156, 174, 0, 15, 0, 157,
- 158, 0, 159, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 175, 176, 0, 570, 0,
- 160, 0, 17, 0, 161, 162, 163, 164, 165, 0,
- 0, 0, 321, 166, 0, -23, -23, -23, -23, 167,
- 0, 0, 168, -23, -23, -23, 0, 169, 170, 171,
- 0, 0, 172, 173, 0, 0, 0, 174, 212, -23,
- 324, -275, 0, 7, 0, 9, 10, 0, 0, 0,
- 0, 11, 12, 13, -275, 0, 0, 175, 176, 0,
- 591, 0, 0, 0, 0, 0, 0, 15, 0, 16,
- 17, 0, 0, 0, 0, 0, 0, 213, 214, 156,
- 7, 299, 9, 10, 157, 158, 0, 159, 11, 12,
- 13, 0, 0, 0, 0, -275, 0, 0, 0, -275,
- -23, 0, 0, 0, 15, 160, 16, 17, 0, 161,
- 162, 163, 164, 165, 0, 0, 0, 0, 166, 0,
- 156, 0, 405, 0, 167, 157, 158, 168, 159, 0,
- 0, 0, 169, 170, 300, 0, 0, 172, 173, 0,
- 0, 0, 174, 0, 0, 0, 160, 0, 17, 0,
- 161, 162, 163, 164, 165, 0, 0, 0, 0, 166,
- 0, 0, 175, 176, 0, 167, 301, 0, 168, 0,
- 0, 0, 0, 169, 170, 406, 0, 0, 172, 173,
- 156, 0, 0, 174, 0, 157, 158, 0, 159, 0,
- 0, 7, 107, 9, 108, 0, 0, 0, 0, 11,
- 12, 13, 0, 175, 176, 0, 160, 407, 17, 0,
- 161, 162, 163, 164, 165, 15, 0, 16, 0, 166,
- 0, 156, 0, 0, 0, 167, 157, 158, 168, 159,
- 0, 0, 0, 169, 170, 171, 0, 0, 172, 173,
- 0, 0, 0, 174, 0, 0, 0, 160, 0, 17,
- 0, 161, 162, 163, 164, 165, 0, 0, 0, 0,
- 166, 0, 0, 175, 176, 0, 167, 403, 0, 168,
- 0, 0, 0, 0, 169, 170, 171, 0, 0, 172,
- 173, 0, 0, 0, 174, 0, 0, 0, 0, 0,
- 0, 588, 604, 8, 9, 10, 157, 158, 0, 159,
- 11, 12, 13, 0, 175, 176, 0, 0, 496, 605,
- 606, 607, 608, 609, 610, 611, 15, 160, 16, 17,
- 0, 161, 162, 163, 164, 165, 0, 0, 0, 0,
- 166, 0, 7, 80, 9, 81, 167, 0, 0, 168,
- 11, 12, 13, 0, 169, 170, 171, 0, 0, 172,
- 173, 0, 0, 0, 174, 0, 15, 0, 16, 0,
- 588, 148, 0, 0, 0, 157, 158, 0, 159, 0,
- 0, 0, 612, 0, 175, 176, 0, 613, 605, 606,
- 607, 608, 609, 610, 611, 0, 160, 0, 17, 0,
- 161, 162, 163, 164, 165, 0, 0, 0, 0, 166,
- 0, 7, 85, 9, 86, 167, 0, 0, 168, 11,
- 12, 13, 0, 169, 170, 171, 0, 0, 172, 173,
- 0, 156, 0, 174, 0, 15, 157, 158, 0, 159,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 612, 0, 175, 176, 0, 613, 160, 0, 17,
- 0, 161, 162, 163, 164, 165, 0, 0, 0, 0,
- 166, 0, 0, 0, 0, 0, 167, 0, 0, 168,
- 0, 0, 0, 0, 169, 170, 171, 0, 0, 172,
- 173, 0, 0, 0, 174, 156, 7, 8, 9, 10,
- 157, 158, 0, 159, 11, 12, 13, 0, 0, 0,
- 0, 0, 0, 0, 175, 176, 0, 438, 0, 0,
- 15, 160, 16, 17, 0, 161, 162, 163, 164, 165,
- 0, 0, 0, 0, 166, 0, 0, 0, 0, 0,
- 167, 0, 0, 168, 0, 0, 0, 0, 169, 170,
- 171, 0, 0, 172, 173, 0, 156, 7, 174, 9,
- 10, 157, 158, 0, 159, 11, 12, 13, 262, 263,
- 264, 265, 266, 267, 268, 269, 0, 0, 175, 176,
- 0, 15, 160, 16, 17, 0, 161, 162, 163, 164,
- 165, 0, 0, 0, 0, 166, 0, 156, 0, 0,
- 0, 167, 157, 158, 168, 159, 0, 0, 0, 169,
- 170, 171, 0, 0, 172, 173, 0, 0, 0, 174,
- 0, 0, 0, 160, 0, 17, 0, 161, 162, 163,
- 164, 165, 0, 0, 0, 0, 166, 0, 156, 175,
- 176, 0, 167, 157, 158, 168, 159, 0, 0, 0,
- 169, 170, 171, 0, 0, 172, 173, 0, 0, 0,
- 174, 0, 0, 0, 160, 0, 17, 0, 161, 162,
- 163, 164, 165, 0, 0, 0, 0, 166, 697, 156,
- 175, 176, 0, 167, 157, 158, 168, 159, 0, 0,
- 0, 169, 170, 171, 0, 0, 172, 173, 0, 0,
- 0, 174, 0, 0, 0, 160, 0, 17, 0, 161,
- 162, 163, 164, 165, 0, 0, 0, 0, 166, 0,
- 156, 175, 176, 0, 167, 157, 158, 168, 159, 0,
- 0, 0, 169, 170, 171, 0, 0, 172, 173, 0,
- 0, 0, 249, 0, 0, 0, 160, 0, 17, 0,
- 161, 162, 163, 164, 165, 0, 0, 0, 0, 166,
- 0, 466, 175, 176, 0, 167, 157, 158, 168, 159,
- 0, 0, 0, 169, 170, 171, 0, 0, 172, 173,
- 0, 0, 0, 251, 0, 0, 0, 160, 0, 17,
- 0, 161, 162, 163, 164, 165, 0, 0, 0, 0,
- 166, 0, 0, 175, 176, 0, 167, 0, 0, 168,
- 0, 0, 0, 757, 169, 170, 171, 0, 0, 172,
- 173, 253, 254, 255, 174, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 0,
- 0, 0, 0, 0, 175, 176, 253, 254, 255, 758,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- 266, 267, 268, 269, 0, 253, 254, 255, 828, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 253, 254, 255, 0, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 0, 0, 0, 0, 0, 0, 253, 254, 255,
- 435, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 0, 0, 0, 436, 7,
- 116, 9, 117, 7, 0, 9, 10, 11, 12, 13,
- 0, 11, 12, 13, 0, 0, 0, 0, 0, 0,
- 0, 0, 585, 15, 0, 16, 0, 15, 0, 16,
- 7, 121, 9, 122, 7, 0, 9, 86, 11, 12,
- 13, 0, 11, 12, 13, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 15, 0, 0, 0, 15, 253,
- 254, 255, 829, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 253, 254, 255,
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 255, 0, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- 266, 267, 268, 269
-};
-
-static const short yycheck[] =
-{
- 62, 3, 64, 5, 3, 3, 5, 5, 3, 290,
- 5, 144, 11, 12, 13, 223, 316, 219, 543, 314,
- 400, 273, 322, 143, 318, 24, 296, 26, 468, 28,
- 23, 30, 543, 32, 414, 34, 599, 36, 550, 38,
- 3, 3, 5, 5, 3, 625, 5, 3, 3, 5,
- 5, 40, 41, 55, 161, 162, 55, 55, 400, 400,
- 55, 3, 543, 5, 171, 64, 151, 66, 66, 400,
- 177, 66, 414, 414, 1, 48, 229, 602, 559, 1,
- 1, 188, 556, 414, 772, 543, 59, 60, 61, 10,
- 566, 306, 55, 55, 1, 468, 55, 1, 9, 55,
- 55, 559, 75, 66, 66, 214, 46, 5, 1, 46,
- 460, 84, 1, 55, 625, 4, 5, 6, 7, 1,
- 93, 10, 174, 12, 13, 14, 689, 7, 816, 102,
- 3, 4, 50, 51, 52, 387, 3, 4, 111, 28,
- 665, 670, 543, 83, 625, 857, 83, 120, 498, 9,
- 30, 144, 214, 3, 4, 684, 129, 55, 46, 0,
- 30, 511, 89, 85, 514, 138, 381, 625, 89, 0,
- 550, 859, 83, 66, 886, 174, 46, 0, 85, 559,
- 868, 85, 555, 556, 337, 535, 388, 239, 469, 381,
- 299, 754, 191, 300, 193, 83, 195, 249, 197, 251,
- 89, 602, 201, 85, 203, 83, 27, 67, 550, 550,
- 88, 899, 274, 206, 207, 214, 89, 559, 559, 550,
- 219, 219, 89, 573, 219, 575, 30, 229, 559, 705,
- 229, 229, 66, 813, 229, 208, 381, 299, 83, 89,
- 239, 303, 457, 88, 351, 66, 67, 84, 30, 167,
- 249, 88, 251, 338, 43, 340, 219, 219, 66, 733,
- 734, 453, 454, 455, 456, 7, 229, 229, 3, 4,
- 229, 189, 83, 229, 229, 787, 65, 88, 67, 66,
- 720, 576, 58, 578, 66, 67, 3, 229, 30, 729,
- 66, 67, 84, 545, 7, 66, 358, 505, 83, 406,
- 299, 294, 813, 88, 4, 5, 6, 7, 453, 454,
- 455, 456, 12, 13, 14, 233, 83, 30, 311, 312,
- 67, 88, 84, 58, 3, 4, 88, 326, 28, 328,
- 30, 330, 813, 332, 89, 337, 3, 89, 337, 337,
- 402, 58, 337, 405, 89, 334, 335, 720, 3, 66,
- 67, 876, 877, 703, 272, 813, 729, 275, 83, 1,
- 733, 734, 4, 5, 6, 7, 58, 59, 60, 3,
- 12, 13, 14, 84, 337, 337, 84, 88, 337, 58,
- 88, 337, 337, 435, 84, 437, 28, 66, 67, 388,
- 388, 58, 742, 388, 84, 337, 66, 84, 88, 66,
- 67, 88, 400, 58, 84, 400, 84, 787, 88, 66,
- 88, 66, 46, 5, 6, 7, 414, 66, 67, 414,
- 12, 13, 14, 66, 58, 388, 388, 345, 630, 723,
- 88, 725, 66, 9, 83, 568, 435, 639, 437, 84,
- 721, 400, 83, 88, 400, 787, 787, 89, 1, 730,
- 83, 4, 5, 6, 7, 414, 787, 577, 414, 12,
- 13, 14, 380, 5, 6, 7, 213, 7, 386, 216,
- 12, 13, 14, 220, 27, 28, 7, 30, 477, 66,
- 479, 543, 481, 1, 483, 3, 4, 30, 30, 671,
- 43, 673, 84, 5, 6, 7, 485, 486, 66, 67,
- 12, 13, 14, 46, 3, 4, 85, 807, 46, 809,
- 85, 500, 501, 83, 432, 83, 866, 867, 625, 4,
- 5, 6, 7, 66, 67, 84, 85, 12, 13, 14,
- 84, 84, 66, 67, 83, 88, 89, 3, 4, 83,
- 602, 543, 84, 28, 543, 543, 83, 609, 543, 83,
- 3, 4, 550, 453, 454, 550, 456, 559, 766, 58,
- 559, 559, 555, 556, 559, 66, 67, 66, 66, 67,
- 317, 318, 84, 706, 32, 568, 323, 84, 85, 83,
- 543, 543, 66, 67, 543, 705, 579, 543, 543, 224,
- 66, 550, 339, 46, 550, 9, 559, 559, 90, 84,
- 559, 543, 84, 559, 559, 58, 24, 25, 26, 27,
- 528, 43, 882, 66, 32, 33, 34, 35, 3, 4,
- 5, 6, 7, 625, 894, 543, 625, 625, 617, 618,
- 625, 630, 630, 27, 84, 630, 30, 699, 43, 638,
- 639, 639, 389, 88, 639, 88, 645, 83, 647, 43,
- 649, 46, 651, 83, 653, 290, 655, 83, 657, 90,
- 659, 83, 625, 625, 66, 67, 625, 630, 630, 625,
- 625, 589, 661, 662, 794, 90, 639, 639, 24, 25,
- 26, 27, 27, 625, 602, 30, 32, 33, 34, 35,
- 84, 90, 610, 43, 88, 5, 6, 7, 43, 85,
- 762, 85, 12, 13, 14, 85, 28, 29, 30, 31,
- 66, 67, 774, 706, 36, 37, 38, 39, 780, 89,
- 30, 66, 67, 46, 471, 6, 7, 720, 721, 181,
- 182, 12, 13, 14, 311, 312, 729, 730, 1, 84,
- 733, 734, 90, 88, 85, 5, 6, 7, 810, 811,
- 83, 813, 12, 13, 14, 728, 5, 6, 7, 394,
- 720, 721, 83, 12, 13, 14, 83, 85, 515, 516,
- 30, 90, 519, 191, 192, 193, 194, 5, 6, 7,
- 84, 416, 417, 84, 12, 13, 14, 27, 4, 787,
- 6, 7, 787, 88, 88, 857, 12, 13, 14, 861,
- 83, 5, 6, 7, 83, 83, 3, 46, 12, 13,
- 14, 813, 28, 46, 813, 813, 61, 62, 813, 85,
- 65, 66, 67, 68, 886, 887, 30, 88, 787, 84,
- 84, 787, 46, 468, 469, 84, 583, 54, 55, 56,
- 57, 58, 59, 60, 46, 191, 192, 193, 194, 7,
- 813, 813, 84, 84, 813, 85, 1, 813, 813, 4,
- 5, 6, 7, 89, 84, 10, 84, 12, 13, 14,
- 66, 813, 66, 195, 196, 197, 198, 16, 85, 85,
- 84, 84, 46, 28, 631, 632, 66, 66, 635, 66,
- 5, 6, 7, 640, 641, 17, 643, 12, 13, 14,
- 83, 83, 88, 84, 28, 29, 30, 31, 326, 327,
- 328, 329, 36, 37, 38, 39, 83, 83, 66, 84,
- 555, 556, 84, 84, 237, 238, 83, 90, 84, 676,
- 848, 1, 679, 9, 4, 248, 6, 7, 83, 66,
- 253, 254, 12, 13, 14, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 83, 28, 84,
- 30, 31, 1, 83, 3, 4, 5, 6, 7, 84,
- 84, 387, 307, 12, 13, 14, 723, 559, 725, 559,
- 326, 327, 328, 329, 418, 559, 559, 414, 27, 28,
- 414, 30, 31, 386, 294, 598, 743, 733, 633, 634,
- 747, 15, 574, 17, 18, 19, 20, 337, 330, 331,
- 332, 333, 687, 720, 84, 85, 677, 434, 674, 58,
- 345, 432, 4, 5, 6, 7, 4, 66, 6, 7,
- 12, 13, 14, 817, 12, 13, 14, 621, 381, 819,
- 382, 788, 789, 863, 791, 84, 28, 360, 361, 796,
- 28, 798, 30, 56, 57, 58, 59, 60, 805, 477,
- 478, 471, 865, 481, 482, 486, -1, 410, 5, 6,
- 7, 195, 196, 197, 198, 12, 13, 14, -1, -1,
- -1, 424, 425, 6, 7, 720, 721, -1, -1, 12,
- 13, 14, -1, 30, 729, 730, -1, -1, 733, 734,
- -1, -1, 84, -1, -1, -1, -1, 30, 6, 7,
- 453, 454, 455, 456, 12, 13, 14, -1, 431, 4,
- 5, 6, 7, 436, -1, -1, -1, 12, 13, 14,
- 443, 477, 478, -1, -1, 481, 482, -1, -1, -1,
- -1, -1, -1, 28, -1, 30, -1, 782, 783, 784,
- -1, -1, -1, -1, -1, -1, -1, 479, 480, -1,
- -1, 483, 484, 506, -1, 508, -1, 4, 1, 6,
- 7, 4, 5, 6, 7, 12, 13, 14, -1, 12,
- 13, 14, -1, -1, -1, -1, -1, -1, -1, 502,
- -1, 28, -1, 30, 27, 28, -1, 30, -1, 84,
- -1, -1, -1, -1, -1, -1, 330, 331, 332, 333,
- 43, 524, 1, -1, 3, 4, 5, 6, 7, -1,
- -1, 10, -1, 12, 13, 14, -1, 645, 646, 647,
- 648, -1, -1, 66, 67, 653, 654, 655, 656, 28,
- 4, 5, 6, 7, 4, 5, 6, 7, 12, 13,
- 14, 84, 12, 13, 14, 88, 89, -1, -1, -1,
- -1, 574, -1, -1, 28, -1, 30, -1, 28, -1,
- 30, 614, 585, 4, 5, 6, 7, 590, -1, -1,
- -1, 12, 13, 14, -1, -1, 599, 600, -1, -1,
- -1, -1, 605, -1, 83, -1, -1, 28, -1, 645,
- 646, 647, 648, -1, 5, 6, 7, 653, 654, 655,
- 656, 12, 13, 14, 5, 6, 7, -1, -1, -1,
- 84, 12, 13, 14, 84, -1, -1, 649, 650, 651,
- 652, 674, -1, -1, 677, 657, 658, 659, 660, 30,
- 4, 5, 6, 7, -1, -1, 10, -1, 12, 13,
- 14, -1, -1, 84, -1, 479, 480, 670, -1, 483,
- 484, -1, 675, -1, 28, 678, 30, -1, -1, -1,
- -1, 684, -1, -1, 687, -1, 689, 4, 5, 6,
- 7, -1, 5, 6, 7, 12, 13, 14, -1, 12,
- 13, 14, 1, 84, 3, 4, 5, 6, 7, 8,
- 9, 28, 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, 36, 37, -1,
- -1, 744, -1, 42, 777, 748, -1, -1, 751, 48,
- -1, 754, 51, -1, 757, -1, -1, 56, 57, 58,
- 10, -1, 61, 62, -1, -1, -1, 66, 4, 5,
- 6, 7, 4, 5, 6, 7, 12, 13, 14, -1,
- 12, 13, 14, -1, -1, 84, 819, 86, 87, -1,
- 89, -1, 28, 43, 44, 45, 28, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, -1, -1, -1, -1, -1, 5, 6, 7, -1,
- 853, 854, -1, 12, 13, 14, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 649, 650, 651, 652, -1,
- 90, 30, -1, 657, 658, 659, 660, 1, 84, 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, 32, 33,
- 34, 35, 36, 37, 5, 6, 7, -1, 42, -1,
- -1, 12, 13, 14, 48, 84, -1, 51, -1, -1,
- -1, -1, 56, 57, 58, -1, -1, 61, 62, 43,
- 44, 45, 66, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, -1, -1, -1,
- 84, 85, 86, 87, 1, 89, 3, 4, -1, -1,
- -1, 8, 9, -1, 11, -1, -1, -1, 15, 83,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, -1, 29, -1, 31, -1, 33, 34, 35, 36,
- 37, 5, 6, 7, -1, 42, -1, -1, 12, 13,
- 14, 48, -1, 30, 51, -1, -1, -1, -1, 56,
- 57, 58, -1, -1, 61, 62, 43, 44, 45, 66,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, -1, -1, -1, 84, -1, 86,
- 87, 1, 89, 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, 36, 37, -1, 6,
- 7, -1, 42, -1, -1, 12, 13, 14, 48, -1,
- -1, 51, -1, -1, -1, -1, 56, 57, 58, -1,
- -1, 61, 62, 30, -1, 1, 66, 3, 4, -1,
- 6, 7, 8, 9, -1, 11, 12, 13, 14, -1,
- -1, -1, -1, -1, 84, -1, 86, 87, -1, 89,
- -1, -1, 28, 29, 30, 31, -1, 33, 34, 35,
- 36, 37, -1, -1, -1, -1, 42, -1, -1, -1,
- -1, -1, 48, -1, -1, 51, -1, -1, -1, -1,
- 56, 57, 58, -1, -1, 61, 62, -1, -1, 1,
- 66, 3, 4, -1, -1, -1, 8, 9, -1, 11,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 86, 87, -1, 89, -1, -1, -1, 29, -1, 31,
- -1, 33, 34, 35, 36, 37, -1, -1, -1, -1,
- 42, -1, -1, -1, -1, -1, 48, -1, -1, 51,
- -1, -1, -1, -1, 56, 57, 58, -1, -1, 61,
- 62, -1, -1, 65, 66, 67, 1, -1, 3, 4,
- -1, -1, -1, 8, 9, -1, 11, -1, -1, -1,
- -1, -1, -1, 85, 86, 87, -1, 89, -1, -1,
- -1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
- 35, 36, 37, -1, -1, -1, -1, 42, -1, -1,
- -1, -1, -1, 48, -1, -1, 51, -1, -1, -1,
- -1, 56, 57, 58, -1, -1, 61, 62, -1, -1,
- 65, 66, 67, 1, -1, 3, -1, -1, -1, -1,
- 8, 9, -1, 11, -1, -1, -1, -1, -1, -1,
- 85, 86, 87, -1, 89, -1, -1, -1, -1, -1,
- -1, 29, -1, 31, -1, 33, 34, 35, 36, 37,
- -1, -1, -1, -1, 42, 43, -1, -1, -1, -1,
- 48, -1, -1, 51, -1, -1, -1, -1, 56, 57,
- 58, -1, -1, 61, 62, -1, -1, 65, 66, 67,
- 1, -1, 3, -1, -1, -1, -1, 8, 9, -1,
- 11, -1, -1, -1, 4, 5, 6, 7, 86, 87,
- -1, 89, 12, 13, 14, -1, -1, -1, 29, -1,
- 31, -1, 33, 34, 35, 36, 37, -1, 28, -1,
- 30, 42, -1, 4, 5, 6, 7, 48, -1, -1,
- 51, 12, 13, 14, -1, 56, 57, 58, -1, -1,
- 61, 62, 1, -1, 3, 66, -1, 28, -1, 8,
- 9, -1, 11, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 86, 87, -1, 89, -1,
- 29, -1, 31, -1, 33, 34, 35, 36, 37, -1,
- -1, -1, 1, 42, -1, 4, 5, 6, 7, 48,
- -1, -1, 51, 12, 13, 14, -1, 56, 57, 58,
- -1, -1, 61, 62, -1, -1, -1, 66, 27, 28,
- 1, 30, -1, 4, -1, 6, 7, -1, -1, -1,
- -1, 12, 13, 14, 43, -1, -1, 86, 87, -1,
- 89, -1, -1, -1, -1, -1, -1, 28, -1, 30,
- 31, -1, -1, -1, -1, -1, -1, 66, 67, 3,
- 4, 5, 6, 7, 8, 9, -1, 11, 12, 13,
- 14, -1, -1, -1, -1, 84, -1, -1, -1, 88,
- 89, -1, -1, -1, 28, 29, 30, 31, -1, 33,
- 34, 35, 36, 37, -1, -1, -1, -1, 42, -1,
- 3, -1, 5, -1, 48, 8, 9, 51, 11, -1,
- -1, -1, 56, 57, 58, -1, -1, 61, 62, -1,
- -1, -1, 66, -1, -1, -1, 29, -1, 31, -1,
- 33, 34, 35, 36, 37, -1, -1, -1, -1, 42,
- -1, -1, 86, 87, -1, 48, 90, -1, 51, -1,
- -1, -1, -1, 56, 57, 58, -1, -1, 61, 62,
- 3, -1, -1, 66, -1, 8, 9, -1, 11, -1,
- -1, 4, 5, 6, 7, -1, -1, -1, -1, 12,
- 13, 14, -1, 86, 87, -1, 29, 90, 31, -1,
- 33, 34, 35, 36, 37, 28, -1, 30, -1, 42,
- -1, 3, -1, -1, -1, 48, 8, 9, 51, 11,
- -1, -1, -1, 56, 57, 58, -1, -1, 61, 62,
- -1, -1, -1, 66, -1, -1, -1, 29, -1, 31,
- -1, 33, 34, 35, 36, 37, -1, -1, -1, -1,
- 42, -1, -1, 86, 87, -1, 48, 90, -1, 51,
- -1, -1, -1, -1, 56, 57, 58, -1, -1, 61,
- 62, -1, -1, -1, 66, -1, -1, -1, -1, -1,
- -1, 3, 4, 5, 6, 7, 8, 9, -1, 11,
- 12, 13, 14, -1, 86, 87, -1, -1, 90, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- -1, 33, 34, 35, 36, 37, -1, -1, -1, -1,
- 42, -1, 4, 5, 6, 7, 48, -1, -1, 51,
- 12, 13, 14, -1, 56, 57, 58, -1, -1, 61,
- 62, -1, -1, -1, 66, -1, 28, -1, 30, -1,
- 3, 4, -1, -1, -1, 8, 9, -1, 11, -1,
- -1, -1, 84, -1, 86, 87, -1, 89, 21, 22,
- 23, 24, 25, 26, 27, -1, 29, -1, 31, -1,
- 33, 34, 35, 36, 37, -1, -1, -1, -1, 42,
- -1, 4, 5, 6, 7, 48, -1, -1, 51, 12,
- 13, 14, -1, 56, 57, 58, -1, -1, 61, 62,
- -1, 3, -1, 66, -1, 28, 8, 9, -1, 11,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 84, -1, 86, 87, -1, 89, 29, -1, 31,
- -1, 33, 34, 35, 36, 37, -1, -1, -1, -1,
- 42, -1, -1, -1, -1, -1, 48, -1, -1, 51,
- -1, -1, -1, -1, 56, 57, 58, -1, -1, 61,
- 62, -1, -1, -1, 66, 3, 4, 5, 6, 7,
- 8, 9, -1, 11, 12, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, 86, 87, -1, 89, -1, -1,
- 28, 29, 30, 31, -1, 33, 34, 35, 36, 37,
- -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
- 48, -1, -1, 51, -1, -1, -1, -1, 56, 57,
- 58, -1, -1, 61, 62, -1, 3, 4, 66, 6,
- 7, 8, 9, -1, 11, 12, 13, 14, 53, 54,
- 55, 56, 57, 58, 59, 60, -1, -1, 86, 87,
- -1, 28, 29, 30, 31, -1, 33, 34, 35, 36,
- 37, -1, -1, -1, -1, 42, -1, 3, -1, -1,
- -1, 48, 8, 9, 51, 11, -1, -1, -1, 56,
- 57, 58, -1, -1, 61, 62, -1, -1, -1, 66,
- -1, -1, -1, 29, -1, 31, -1, 33, 34, 35,
- 36, 37, -1, -1, -1, -1, 42, -1, 3, 86,
- 87, -1, 48, 8, 9, 51, 11, -1, -1, -1,
- 56, 57, 58, -1, -1, 61, 62, -1, -1, -1,
- 66, -1, -1, -1, 29, -1, 31, -1, 33, 34,
- 35, 36, 37, -1, -1, -1, -1, 42, 84, 3,
- 86, 87, -1, 48, 8, 9, 51, 11, -1, -1,
- -1, 56, 57, 58, -1, -1, 61, 62, -1, -1,
- -1, 66, -1, -1, -1, 29, -1, 31, -1, 33,
- 34, 35, 36, 37, -1, -1, -1, -1, 42, -1,
- 3, 86, 87, -1, 48, 8, 9, 51, 11, -1,
- -1, -1, 56, 57, 58, -1, -1, 61, 62, -1,
- -1, -1, 66, -1, -1, -1, 29, -1, 31, -1,
- 33, 34, 35, 36, 37, -1, -1, -1, -1, 42,
- -1, 3, 86, 87, -1, 48, 8, 9, 51, 11,
- -1, -1, -1, 56, 57, 58, -1, -1, 61, 62,
- -1, -1, -1, 66, -1, -1, -1, 29, -1, 31,
- -1, 33, 34, 35, 36, 37, -1, -1, -1, -1,
- 42, -1, -1, 86, 87, -1, 48, -1, -1, 51,
- -1, -1, -1, 10, 56, 57, 58, -1, -1, 61,
- 62, 43, 44, 45, 66, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
- -1, -1, -1, -1, 86, 87, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, -1, 43, 44, 45, 90, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 43, 44, 45, -1, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, -1, -1, -1, -1, -1, -1, 43, 44, 45,
- 88, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, -1, -1, -1, 88, 4,
- 5, 6, 7, 4, -1, 6, 7, 12, 13, 14,
- -1, 12, 13, 14, -1, -1, -1, -1, -1, -1,
- -1, -1, 88, 28, -1, 30, -1, 28, -1, 30,
- 4, 5, 6, 7, 4, -1, 6, 7, 12, 13,
- 14, -1, 12, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 28, -1, -1, -1, 28, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 43, 44, 45,
- -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 45, -1, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60
-};
-
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
-static const unsigned short yystos[] =
-{
- 0, 92, 93, 94, 0, 95, 1, 4, 5, 6,
- 7, 12, 13, 14, 27, 28, 30, 31, 84, 96,
- 97, 98, 113, 129, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 155, 157, 158, 159, 160, 161, 170, 171,
- 197, 198, 199, 200, 205, 290, 96, 84, 85, 170,
- 170, 170, 66, 66, 66, 3, 58, 66, 163, 167,
- 196, 5, 7, 157, 158, 170, 5, 7, 157, 158,
- 5, 7, 157, 158, 170, 5, 7, 157, 158, 5,
- 7, 159, 160, 170, 5, 7, 159, 160, 5, 7,
- 159, 160, 170, 5, 7, 159, 160, 5, 7, 157,
- 158, 170, 5, 7, 157, 158, 5, 7, 157, 158,
- 170, 5, 7, 157, 158, 5, 7, 159, 160, 170,
- 5, 7, 159, 160, 5, 7, 159, 160, 170, 5,
- 7, 159, 160, 129, 129, 84, 171, 3, 4, 89,
- 105, 89, 105, 89, 105, 96, 3, 8, 9, 11,
- 29, 33, 34, 35, 36, 37, 42, 48, 51, 56,
- 57, 58, 61, 62, 66, 86, 87, 106, 107, 109,
- 110, 111, 112, 114, 115, 121, 123, 244, 290, 66,
- 107, 132, 133, 134, 135, 136, 137, 138, 139, 154,
- 217, 132, 133, 134, 135, 153, 156, 169, 170, 84,
- 88, 1, 27, 66, 67, 103, 164, 225, 4, 58,
- 66, 162, 165, 191, 192, 196, 163, 196, 208, 209,
- 89, 208, 89, 204, 89, 114, 114, 66, 66, 66,
- 105, 114, 1, 89, 107, 217, 114, 83, 88, 66,
- 110, 66, 110, 43, 44, 45, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 65, 66, 67, 68, 9, 1, 85, 233,
- 242, 114, 5, 6, 7, 105, 172, 173, 174, 83,
- 218, 83, 196, 196, 130, 169, 66, 169, 285, 5,
- 58, 90, 107, 154, 1, 124, 125, 126, 232, 251,
- 169, 156, 169, 84, 88, 1, 99, 164, 66, 225,
- 84, 1, 101, 85, 1, 84, 132, 133, 134, 135,
- 136, 137, 138, 139, 152, 153, 210, 290, 201, 85,
- 202, 1, 105, 215, 216, 203, 115, 115, 217, 83,
- 83, 83, 84, 115, 217, 217, 115, 115, 118, 120,
- 117, 116, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 105, 108, 109, 107, 105, 83,
- 32, 237, 238, 239, 83, 83, 88, 66, 58, 66,
- 219, 221, 222, 223, 224, 225, 83, 167, 196, 123,
- 286, 107, 154, 90, 90, 5, 58, 90, 107, 84,
- 104, 232, 10, 125, 252, 43, 192, 192, 130, 124,
- 169, 285, 124, 169, 129, 129, 84, 210, 208, 169,
- 208, 43, 88, 207, 215, 88, 88, 88, 89, 114,
- 83, 83, 107, 46, 115, 115, 83, 90, 105, 289,
- 1, 128, 226, 227, 228, 229, 230, 231, 232, 243,
- 251, 255, 256, 239, 83, 173, 3, 108, 156, 169,
- 275, 66, 225, 83, 1, 3, 10, 132, 133, 136,
- 137, 140, 141, 144, 145, 150, 151, 277, 280, 281,
- 283, 287, 288, 90, 107, 107, 90, 90, 251, 127,
- 150, 151, 168, 83, 165, 191, 100, 43, 102, 211,
- 213, 251, 212, 214, 251, 85, 85, 115, 216, 85,
- 207, 217, 115, 217, 122, 46, 115, 84, 88, 128,
- 255, 256, 128, 255, 256, 251, 255, 256, 128, 255,
- 256, 232, 85, 252, 83, 88, 83, 222, 223, 221,
- 276, 169, 275, 83, 129, 284, 284, 83, 84, 88,
- 83, 88, 90, 90, 252, 84, 129, 84, 129, 1,
- 89, 115, 175, 251, 166, 251, 88, 252, 88, 252,
- 169, 169, 169, 85, 83, 88, 83, 1, 3, 65,
- 67, 89, 105, 115, 177, 178, 179, 181, 183, 184,
- 119, 105, 252, 234, 4, 21, 22, 23, 24, 25,
- 26, 27, 84, 89, 105, 107, 131, 148, 149, 155,
- 235, 241, 245, 267, 268, 290, 109, 83, 277, 4,
- 58, 66, 193, 194, 195, 196, 220, 221, 222, 58,
- 66, 196, 220, 278, 10, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 282, 3, 1, 240, 245, 162, 163,
- 176, 252, 175, 252, 130, 46, 191, 130, 46, 196,
- 169, 115, 105, 115, 182, 46, 85, 88, 206, 43,
- 184, 181, 115, 115, 46, 84, 84, 84, 107, 58,
- 105, 7, 269, 251, 84, 129, 129, 84, 15, 17,
- 18, 19, 20, 246, 247, 249, 257, 242, 131, 83,
- 156, 169, 169, 66, 225, 66, 225, 169, 170, 156,
- 169, 169, 169, 129, 129, 245, 84, 84, 177, 240,
- 240, 213, 251, 115, 46, 169, 214, 115, 46, 169,
- 83, 10, 90, 177, 180, 179, 181, 10, 46, 84,
- 107, 84, 66, 252, 162, 185, 191, 163, 188, 196,
- 248, 259, 250, 261, 66, 16, 1, 235, 254, 1,
- 66, 236, 194, 195, 195, 285, 285, 279, 193, 196,
- 220, 196, 220, 85, 252, 169, 115, 169, 115, 115,
- 85, 181, 115, 84, 107, 46, 84, 186, 84, 189,
- 66, 66, 254, 66, 107, 1, 258, 253, 255, 256,
- 107, 83, 277, 169, 169, 169, 169, 169, 90, 46,
- 46, 83, 169, 124, 124, 107, 107, 17, 107, 131,
- 266, 270, 83, 254, 236, 253, 83, 9, 67, 271,
- 272, 273, 84, 187, 190, 83, 83, 262, 84, 265,
- 84, 66, 105, 46, 83, 88, 251, 251, 260, 270,
- 254, 107, 90, 271, 84, 273, 252, 252, 254, 84,
- 83, 9, 46, 83, 245, 245, 263, 66, 123, 274,
- 84, 270, 107, 83, 88, 83, 83, 84, 123, 264,
- 254
-};
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#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); \
- yytoken = YYTRANSLATE (yychar); \
- YYPOPSTACK; \
- goto yybackup; \
- } \
- else \
- { \
- yyerror ("syntax error: cannot back up");\
- YYERROR; \
- } \
-while (0)
-
-#define YYTERROR 1
-#define YYERRCODE 256
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
- are run). */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- Current.first_line = Rhs[1].first_line; \
- Current.first_column = Rhs[1].first_column; \
- Current.last_line = Rhs[N].last_line; \
- Current.last_column = Rhs[N].last_column;
-#endif
-
-/* YYLEX -- calling `yylex' with the right arguments. */
-
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
-#else
-# define YYLEX yylex ()
-#endif
-
-/* Enable debugging if requested. */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-# define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (0)
-
-# define YYDSYMPRINT(Args) \
-do { \
- if (yydebug) \
- yysymprint Args; \
-} while (0)
-
-# define YYDSYMPRINTF(Title, Token, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yysymprint (stderr, \
- Token, Value); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (0)
-
-/*------------------------------------------------------------------.
-| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (cinluded). |
-`------------------------------------------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yy_stack_print (short *bottom, short *top)
-#else
-static void
-yy_stack_print (bottom, top)
- short *bottom;
- short *top;
-#endif
-{
- YYFPRINTF (stderr, "Stack now");
- for (/* Nothing. */; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
- YYFPRINTF (stderr, "\n");
-}
-
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (0)
-
-
-/*------------------------------------------------.
-| Report that the YYRULE is going to be reduced. |
-`------------------------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yy_reduce_print (int yyrule)
-#else
-static void
-yy_reduce_print (yyrule)
- int yyrule;
-#endif
-{
- int yyi;
- unsigned int yylineno = yyrline[yyrule];
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
- yyrule - 1, yylineno);
- /* Print the symbols being reduced, and their result. */
- for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
- YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
- YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
-}
-
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (Rule); \
-} while (0)
-
-/* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-# define YYDSYMPRINT(Args)
-# define YYDSYMPRINTF(Title, Token, Value, Location)
-# define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Rule)
-#endif /* !YYDEBUG */
-
-
-/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
-
- Do not make this value too large; the results are undefined if
- SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
- evaluated with infinite-precision integer arithmetic. */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-
-\f
-
-#if YYERROR_VERBOSE
-
-# ifndef yystrlen
-# if defined (__GLIBC__) && defined (_STRING_H)
-# define yystrlen strlen
-# else
-/* Return the length of YYSTR. */
-static YYSIZE_T
-# if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-# else
-yystrlen (yystr)
- const char *yystr;
-# endif
-{
- register const char *yys = yystr;
-
- while (*yys++ != '\0')
- continue;
-
- return yys - yystr - 1;
-}
-# endif
-# endif
-
-# ifndef yystpcpy
-# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-# define yystpcpy stpcpy
-# else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
- YYDEST. */
-static char *
-# if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-# else
-yystpcpy (yydest, yysrc)
- char *yydest;
- const char *yysrc;
-# endif
-{
- register char *yyd = yydest;
- register const char *yys = yysrc;
-
- while ((*yyd++ = *yys++) != '\0')
- continue;
-
- return yyd - 1;
-}
-# endif
-# endif
-
-#endif /* !YYERROR_VERBOSE */
-
-\f
-
-#if YYDEBUG
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
-#else
-static void
-yysymprint (yyoutput, yytype, yyvaluep)
- FILE *yyoutput;
- int yytype;
- YYSTYPE *yyvaluep;
-#endif
-{
- /* Pacify ``unused variable'' warnings. */
- (void) yyvaluep;
-
- if (yytype < YYNTOKENS)
- {
- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-# ifdef YYPRINT
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# endif
- }
- else
- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
-
- switch (yytype)
- {
- default:
- break;
- }
- YYFPRINTF (yyoutput, ")");
-}
-
-#endif /* ! YYDEBUG */
-/*-----------------------------------------------.
-| Release the memory associated to this symbol. |
-`-----------------------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yydestruct (int yytype, YYSTYPE *yyvaluep)
-#else
-static void
-yydestruct (yytype, yyvaluep)
- int yytype;
- YYSTYPE *yyvaluep;
-#endif
-{
- /* Pacify ``unused variable'' warnings. */
- (void) yyvaluep;
-
- switch (yytype)
- {
-
- default:
- break;
- }
-}
-\f
-
-/* Prevent warnings from -Wmissing-prototypes. */
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-int yyparse (void *YYPARSE_PARAM);
-# else
-int yyparse ();
-# endif
-#else /* ! YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
-int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
-
-
-
-/* The lookahead symbol. */
-int yychar;
-
-/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval;
-
-/* Number of syntax errors so far. */
-int yynerrs;
-
-
-
-/*----------.
-| yyparse. |
-`----------*/
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-int yyparse (void *YYPARSE_PARAM)
-# else
-int yyparse (YYPARSE_PARAM)
- void *YYPARSE_PARAM;
-# endif
-#else /* ! YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
-int
-yyparse (void)
-#else
-int
-yyparse ()
-
-#endif
-#endif
-{
-
- register int yystate;
- register int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Lookahead token as an internal (translated) token number. */
- int yytoken = 0;
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
-
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- short yyssa[YYINITDEPTH];
- short *yyss = yyssa;
- register short *yyssp;
-
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- register YYSTYPE *yyvsp;
-
-
-
-#define YYPOPSTACK (yyvsp--, yyssp--)
-
- YYSIZE_T yystacksize = YYINITDEPTH;
-
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;
-
-
- /* When reducing, the number of symbols on the RHS of the reduced
- rule. */
- int yylen;
-
- YYDPRINTF ((stderr, "Starting parse\n"));
-
- 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;
- yyvsp = yyvs;
-
- goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
-`------------------------------------------------------------*/
- yynewstate:
- /* In all cases, when you get here, the value and location stacks
- have just been pushed. so pushing a state here evens the stacks.
- */
- yyssp++;
-
- yysetstate:
- *yyssp = yystate;
-
- if (yyss + yystacksize - 1 <= yyssp)
- {
- /* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
- {
- /* 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;
-
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. 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, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
-
- &yystacksize);
-
- yyss = yyss1;
- yyvs = yyvs1;
- }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
- goto yyoverflowlab;
-# else
- /* Extend the stack our own way. */
- if (YYMAXDEPTH <= yystacksize)
- goto yyoverflowlab;
- yystacksize *= 2;
- if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
-
- {
- short *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyoverflowlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
-# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
- }
-# endif
-#endif /* no yyoverflow */
-
- yyssp = yyss + yysize - 1;
- yyvsp = yyvs + yysize - 1;
-
-
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
-
- if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
- }
-
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
- goto yybackup;
-
-/*-----------.
-| 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 == YYPACT_NINF)
- goto yydefault;
-
- /* Not known => get a lookahead token if don't already have one. */
-
- /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
- }
-
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
- }
-
- /* If the proper action on seeing token YYTOKEN is to reduce or to
- detect an error, take that action. */
- yyn += yytoken;
- if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
- goto yydefault;
- yyn = yytable[yyn];
- if (yyn <= 0)
- {
- if (yyn == 0 || yyn == YYTABLE_NINF)
- goto yyerrlab;
- yyn = -yyn;
- goto yyreduce;
- }
-
- if (yyn == YYFINAL)
- YYACCEPT;
-
- /* Shift the lookahead token. */
- YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
-
- /* Discard the token being shifted unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
-
- *++yyvsp = yylval;
-
-
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (yyerrstatus)
- yyerrstatus--;
-
- yystate = yyn;
- goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state. |
-`-----------------------------------------------------------*/
-yydefault:
- yyn = yydefact[yystate];
- if (yyn == 0)
- goto yyerrlab;
- goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction. |
-`-----------------------------*/
-yyreduce:
- /* yyn is the number of a rule to reduce with. */
- yylen = yyr2[yyn];
-
- /* If YYLEN is nonzero, implement the default value of the action:
- `$$ = $1'.
-
- Otherwise, the following line sets YYVAL to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. Assigning to YYVAL
- unconditionally makes the parser a bit smaller, and it avoids a
- GCC warning that YYVAL may be used uninitialized. */
- yyval = yyvsp[1-yylen];
-
-
- YY_REDUCE_PRINT (yyn);
- switch (yyn)
- {
- case 2:
-#line 287 "c-parse.y"
- { if (pedantic)
- pedwarn ("ISO C forbids an empty source file");
- finish_file ();
- ;}
- break;
-
- case 3:
-#line 292 "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_fname_decls ();
- finish_file ();
- ;}
- break;
-
- case 4:
-#line 307 "c-parse.y"
- {yyval.ttype = NULL_TREE; ;}
- break;
-
- case 6:
-#line 308 "c-parse.y"
- {yyval.ttype = NULL_TREE; ggc_collect(); ;}
- break;
-
- case 10:
-#line 315 "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 11:
-#line 323 "c-parse.y"
- { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;}
- break;
-
- case 12:
-#line 328 "c-parse.y"
- { if (pedantic)
- error ("ISO C forbids data definition with no type or storage class");
- else if (!flag_traditional)
- warning ("data definition has no type or storage class");
-
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 13:
-#line 335 "c-parse.y"
- { POP_DECLSPEC_STACK; ;}
- break;
-
- case 14:
-#line 337 "c-parse.y"
- { POP_DECLSPEC_STACK; ;}
- break;
-
- case 15:
-#line 339 "c-parse.y"
- { shadow_tag (yyvsp[-1].ttype); ;}
- break;
-
- case 18:
-#line 343 "c-parse.y"
- { if (pedantic)
- pedwarn ("ISO C does not allow extra `;' outside of a function"); ;}
- break;
-
- case 19:
-#line 349 "c-parse.y"
- { if (! start_function (current_declspecs, yyvsp[0].ttype,
- all_prefix_attributes))
- YYERROR1;
- ;}
- break;
-
- case 20:
-#line 354 "c-parse.y"
- { store_parm_decls (); ;}
- break;
-
- case 21:
-#line 356 "c-parse.y"
- { DECL_SOURCE_FILE (current_function_decl) = yyvsp[-2].filename;
- DECL_SOURCE_LINE (current_function_decl) = yyvsp[-1].lineno;
- finish_function (0, 1);
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 22:
-#line 361 "c-parse.y"
- { POP_DECLSPEC_STACK; ;}
- break;
-
- case 23:
-#line 363 "c-parse.y"
- { if (! start_function (current_declspecs, yyvsp[0].ttype,
- all_prefix_attributes))
- YYERROR1;
- ;}
- break;
-
- case 24:
-#line 368 "c-parse.y"
- { store_parm_decls (); ;}
- break;
-
- case 25:
-#line 370 "c-parse.y"
- { DECL_SOURCE_FILE (current_function_decl) = yyvsp[-2].filename;
- DECL_SOURCE_LINE (current_function_decl) = yyvsp[-1].lineno;
- finish_function (0, 1);
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 26:
-#line 375 "c-parse.y"
- { POP_DECLSPEC_STACK; ;}
- break;
-
- case 27:
-#line 377 "c-parse.y"
- { if (! start_function (NULL_TREE, yyvsp[0].ttype,
- all_prefix_attributes))
- YYERROR1;
- ;}
- break;
-
- case 28:
-#line 382 "c-parse.y"
- { store_parm_decls (); ;}
- break;
-
- case 29:
-#line 384 "c-parse.y"
- { DECL_SOURCE_FILE (current_function_decl) = yyvsp[-2].filename;
- DECL_SOURCE_LINE (current_function_decl) = yyvsp[-1].lineno;
- finish_function (0, 1);
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 30:
-#line 389 "c-parse.y"
- { POP_DECLSPEC_STACK; ;}
- break;
-
- case 33:
-#line 398 "c-parse.y"
- { yyval.code = ADDR_EXPR; ;}
- break;
-
- case 34:
-#line 400 "c-parse.y"
- { yyval.code = NEGATE_EXPR; ;}
- break;
-
- case 35:
-#line 402 "c-parse.y"
- { yyval.code = CONVERT_EXPR;
- if (warn_traditional && !in_system_header)
- warning ("traditional C rejects the unary plus operator");
- ;}
- break;
-
- case 36:
-#line 407 "c-parse.y"
- { yyval.code = PREINCREMENT_EXPR; ;}
- break;
-
- case 37:
-#line 409 "c-parse.y"
- { yyval.code = PREDECREMENT_EXPR; ;}
- break;
-
- case 38:
-#line 411 "c-parse.y"
- { yyval.code = BIT_NOT_EXPR; ;}
- break;
-
- case 39:
-#line 413 "c-parse.y"
- { yyval.code = TRUTH_NOT_EXPR; ;}
- break;
-
- case 40:
-#line 417 "c-parse.y"
- { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;}
- break;
-
- case 41:
-#line 422 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 43:
-#line 428 "c-parse.y"
- { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;}
- break;
-
- case 44:
-#line 430 "c-parse.y"
- { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;}
- break;
-
- case 46:
-#line 436 "c-parse.y"
- { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;}
- break;
-
- case 47:
-#line 439 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;}
- break;
-
- case 48:
-#line 442 "c-parse.y"
- { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
- overflow_warning (yyval.ttype); ;}
- break;
-
- case 49:
-#line 446 "c-parse.y"
- { yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;}
- break;
-
- case 50:
-#line 463 "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 469 "c-parse.y"
- { skip_evaluation--;
- yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;}
- break;
-
- case 52:
-#line 472 "c-parse.y"
- { skip_evaluation--;
- yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;}
- break;
-
- case 53:
-#line 475 "c-parse.y"
- { skip_evaluation--;
- yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;}
- break;
-
- case 54:
-#line 478 "c-parse.y"
- { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;}
- break;
-
- case 55:
-#line 480 "c-parse.y"
- { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;}
- break;
-
- case 56:
-#line 484 "c-parse.y"
- { skip_evaluation++; ;}
- break;
-
- case 57:
-#line 488 "c-parse.y"
- { skip_evaluation++; ;}
- break;
-
- case 58:
-#line 492 "c-parse.y"
- { skip_evaluation++; ;}
- break;
-
- case 60:
-#line 498 "c-parse.y"
- { yyval.ttype = c_cast_expr (yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 62:
-#line 504 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 63:
-#line 506 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 64:
-#line 508 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 65:
-#line 510 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 66:
-#line 512 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 67:
-#line 514 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 68:
-#line 516 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 69:
-#line 518 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 70:
-#line 520 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 71:
-#line 522 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 72:
-#line 524 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 73:
-#line 526 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 74:
-#line 528 "c-parse.y"
- { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
- skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;}
- break;
-
- case 75:
-#line 531 "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 76:
-#line 534 "c-parse.y"
- { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
- skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;}
- break;
-
- case 77:
-#line 537 "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 78:
-#line 540 "c-parse.y"
- { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
- skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;}
- break;
-
- case 79:
-#line 543 "c-parse.y"
- { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
- - (yyvsp[-4].ttype == boolean_false_node)); ;}
- break;
-
- case 80:
-#line 546 "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 81:
-#line 549 "c-parse.y"
- { if (pedantic)
- pedwarn ("ISO 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 82:
-#line 556 "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 83:
-#line 559 "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 (IS_EXPR_CODE_CLASS (class))
- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR);
- ;}
- break;
-
- case 84:
-#line 566 "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 (IS_EXPR_CODE_CLASS (class))
- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK);
- ;}
- break;
-
- case 85:
-#line 577 "c-parse.y"
- {
- if (yychar == YYEMPTY)
- yychar = YYLEX;
- yyval.ttype = build_external_ref (yyvsp[0].ttype, yychar == '(');
- ;}
- break;
-
- case 87:
-#line 584 "c-parse.y"
- { yyval.ttype = combine_strings (yyvsp[0].ttype); ;}
- break;
-
- case 88:
-#line 586 "c-parse.y"
- { yyval.ttype = fname_decl (C_RID_CODE (yyval.ttype), yyval.ttype); ;}
- break;
-
- case 89:
-#line 588 "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 90:
-#line 592 "c-parse.y"
- { tree constructor = pop_init_level (0);
- tree type = yyvsp[-5].ttype;
- finish_init ();
-
- if (pedantic && ! flag_isoc99)
- pedwarn ("ISO C89 forbids compound literals");
- yyval.ttype = build_compound_literal (type, constructor);
- ;}
- break;
-
- case 91:
-#line 601 "c-parse.y"
- { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
- if (IS_EXPR_CODE_CLASS (class))
- C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
- yyval.ttype = yyvsp[-1].ttype; ;}
- break;
-
- case 92:
-#line 606 "c-parse.y"
- { yyval.ttype = error_mark_node; ;}
- break;
-
- case 93:
-#line 608 "c-parse.y"
- { tree saved_last_tree;
-
- if (pedantic)
- pedwarn ("ISO C forbids braced-groups within expressions");
- pop_label_level ();
-
- saved_last_tree = COMPOUND_BODY (yyvsp[-2].ttype);
- RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype));
- last_tree = saved_last_tree;
- TREE_CHAIN (last_tree) = NULL_TREE;
- if (!last_expr_type)
- last_expr_type = void_type_node;
- yyval.ttype = build1 (STMT_EXPR, last_expr_type, yyvsp[-2].ttype);
- TREE_SIDE_EFFECTS (yyval.ttype) = 1;
- ;}
- break;
-
- case 94:
-#line 624 "c-parse.y"
- {
- pop_label_level ();
- last_tree = COMPOUND_BODY (yyvsp[-2].ttype);
- TREE_CHAIN (last_tree) = NULL_TREE;
- yyval.ttype = error_mark_node;
- ;}
- break;
-
- case 95:
-#line 631 "c-parse.y"
- { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;}
- break;
-
- case 96:
-#line 633 "c-parse.y"
- { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;}
- break;
-
- case 97:
-#line 636 "c-parse.y"
- {
- tree c;
-
- c = fold (yyvsp[-5].ttype);
- STRIP_NOPS (c);
- if (TREE_CODE (c) != INTEGER_CST)
- error ("first argument to __builtin_choose_expr not a constant");
- yyval.ttype = integer_zerop (c) ? yyvsp[-1].ttype : yyvsp[-3].ttype;
- ;}
- break;
-
- case 98:
-#line 646 "c-parse.y"
- {
- tree e1, e2;
-
- e1 = TYPE_MAIN_VARIANT (groktypename (yyvsp[-3].ttype));
- e2 = TYPE_MAIN_VARIANT (groktypename (yyvsp[-1].ttype));
-
- yyval.ttype = comptypes (e1, e2)
- ? build_int_2 (1, 0) : build_int_2 (0, 0);
- ;}
- break;
-
- case 99:
-#line 656 "c-parse.y"
- { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;}
- break;
-
- case 100:
-#line 658 "c-parse.y"
- {
- yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
- ;}
- break;
-
- case 101:
-#line 662 "c-parse.y"
- {
- tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
-
- yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
- ;}
- break;
-
- case 102:
-#line 668 "c-parse.y"
- { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;}
- break;
-
- case 103:
-#line 670 "c-parse.y"
- { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;}
- break;
-
- case 105:
-#line 677 "c-parse.y"
- {
- static int last_lineno = 0;
- static const char *last_input_filename = 0;
- yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
- if (warn_traditional && !in_system_header
- && (lineno != last_lineno || !last_input_filename ||
- strcmp (last_input_filename, input_filename)))
- {
- warning ("traditional C rejects string concatenation");
- last_lineno = lineno;
- last_input_filename = input_filename;
- }
- ;}
- break;
-
- case 108:
-#line 698 "c-parse.y"
- { c_mark_varargs ();
- if (pedantic)
- pedwarn ("ISO C does not permit use of `varargs.h'"); ;}
- break;
-
- case 109:
-#line 708 "c-parse.y"
- { ;}
- break;
-
- case 114:
-#line 724 "c-parse.y"
- { POP_DECLSPEC_STACK; ;}
- break;
-
- case 115:
-#line 726 "c-parse.y"
- { POP_DECLSPEC_STACK; ;}
- break;
-
- case 116:
-#line 728 "c-parse.y"
- { shadow_tag_warned (yyvsp[-1].ttype, 1);
- pedwarn ("empty declaration"); ;}
- break;
-
- case 117:
-#line 731 "c-parse.y"
- { pedwarn ("empty declaration"); ;}
- break;
-
- case 118:
-#line 740 "c-parse.y"
- { ;}
- break;
-
- case 119:
-#line 748 "c-parse.y"
- { pending_xref_error ();
- PUSH_DECLSPEC_STACK;
- split_specs_attrs (yyvsp[0].ttype,
- ¤t_declspecs, &prefix_attributes);
- all_prefix_attributes = prefix_attributes; ;}
- break;
-
- case 120:
-#line 759 "c-parse.y"
- { all_prefix_attributes = chainon (yyvsp[0].ttype, prefix_attributes); ;}
- break;
-
- case 121:
-#line 764 "c-parse.y"
- { POP_DECLSPEC_STACK; ;}
- break;
-
- case 122:
-#line 766 "c-parse.y"
- { POP_DECLSPEC_STACK; ;}
- break;
-
- case 123:
-#line 768 "c-parse.y"
- { POP_DECLSPEC_STACK; ;}
- break;
-
- case 124:
-#line 770 "c-parse.y"
- { POP_DECLSPEC_STACK; ;}
- break;
-
- case 125:
-#line 772 "c-parse.y"
- { shadow_tag (yyvsp[-1].ttype); ;}
- break;
-
- case 126:
-#line 774 "c-parse.y"
- { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;}
- break;
-
- case 127:
-#line 831 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 128:
-#line 834 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 129:
-#line 837 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 130:
-#line 843 "c-parse.y"
- { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;}
- break;
-
- case 131:
-#line 849 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 132:
-#line 852 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 133:
-#line 858 "c-parse.y"
- { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
- TREE_STATIC (yyval.ttype) = 0; ;}
- break;
-
- case 134:
-#line 861 "c-parse.y"
- { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;}
- break;
-
- case 135:
-#line 867 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 136:
-#line 870 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 137:
-#line 873 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 138:
-#line 876 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 139:
-#line 879 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 140:
-#line 882 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 141:
-#line 885 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 142:
-#line 891 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 143:
-#line 894 "c-parse.y"
- { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;}
- break;
-
- case 144:
-#line 897 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 145:
-#line 900 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 146:
-#line 903 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 147:
-#line 906 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 148:
-#line 912 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 149:
-#line 915 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 150:
-#line 918 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 151:
-#line 921 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 152:
-#line 924 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 153:
-#line 927 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 154:
-#line 933 "c-parse.y"
- { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;}
- break;
-
- case 155:
-#line 936 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 156:
-#line 939 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 157:
-#line 942 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 158:
-#line 945 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 159:
-#line 951 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
- TREE_STATIC (yyval.ttype) = 0; ;}
- break;
-
- case 160:
-#line 954 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 161:
-#line 957 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 162:
-#line 960 "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 163:
-#line 966 "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 164:
-#line 972 "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 165:
-#line 978 "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 166:
-#line 987 "c-parse.y"
- { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;}
- break;
-
- case 167:
-#line 993 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 168:
-#line 996 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 169:
-#line 999 "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 170:
-#line 1005 "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 171:
-#line 1011 "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 172:
-#line 1017 "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 173:
-#line 1026 "c-parse.y"
- { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;}
- break;
-
- case 174:
-#line 1032 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 175:
-#line 1035 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 176:
-#line 1038 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 177:
-#line 1041 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 178:
-#line 1044 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 179:
-#line 1047 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 180:
-#line 1050 "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 181:
-#line 1056 "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 182:
-#line 1062 "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 183:
-#line 1068 "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 184:
-#line 1077 "c-parse.y"
- { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;}
- break;
-
- case 185:
-#line 1080 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 186:
-#line 1083 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 187:
-#line 1086 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 188:
-#line 1089 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 189:
-#line 1095 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 190:
-#line 1098 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 191:
-#line 1101 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 192:
-#line 1104 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 193:
-#line 1107 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 194:
-#line 1110 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 195:
-#line 1113 "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 196:
-#line 1119 "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 197:
-#line 1125 "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 198:
-#line 1131 "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 199:
-#line 1140 "c-parse.y"
- { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;}
- break;
-
- case 200:
-#line 1143 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 201:
-#line 1146 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 202:
-#line 1149 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 203:
-#line 1152 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;}
- break;
-
- case 260:
-#line 1240 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 261:
-#line 1242 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype; ;}
- break;
-
- case 265:
-#line 1277 "c-parse.y"
- { OBJC_NEED_RAW_IDENTIFIER (1); ;}
- break;
-
- case 268:
-#line 1287 "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 269:
-#line 1291 "c-parse.y"
- { skip_evaluation--; yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;}
- break;
-
- case 270:
-#line 1293 "c-parse.y"
- { skip_evaluation--; yyval.ttype = groktypename (yyvsp[-1].ttype); ;}
- break;
-
- case 275:
-#line 1310 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 276:
-#line 1312 "c-parse.y"
- { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
- yyval.ttype = yyvsp[-1].ttype;
- ;}
- break;
-
- case 277:
-#line 1319 "c-parse.y"
- { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
- chainon (yyvsp[-1].ttype, all_prefix_attributes));
- start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;}
- break;
-
- case 278:
-#line 1324 "c-parse.y"
- { finish_init ();
- finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;}
- break;
-
- case 279:
-#line 1327 "c-parse.y"
- { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
- chainon (yyvsp[0].ttype, all_prefix_attributes));
- finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
- ;}
- break;
-
- case 280:
-#line 1335 "c-parse.y"
- { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
- chainon (yyvsp[-1].ttype, all_prefix_attributes));
- start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;}
- break;
-
- case 281:
-#line 1340 "c-parse.y"
- { finish_init ();
- finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;}
- break;
-
- case 282:
-#line 1343 "c-parse.y"
- { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
- chainon (yyvsp[0].ttype, all_prefix_attributes));
- finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;}
- break;
-
- case 283:
-#line 1351 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 284:
-#line 1353 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype; ;}
- break;
-
- case 285:
-#line 1358 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype; ;}
- break;
-
- case 286:
-#line 1360 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 287:
-#line 1365 "c-parse.y"
- { yyval.ttype = yyvsp[-2].ttype; ;}
- break;
-
- case 288:
-#line 1370 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype; ;}
- break;
-
- case 289:
-#line 1372 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 290:
-#line 1377 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 291:
-#line 1379 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;}
- break;
-
- case 292:
-#line 1381 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;}
- break;
-
- case 293:
-#line 1383 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;}
- break;
-
- case 294:
-#line 1385 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;}
- break;
-
- case 300:
-#line 1403 "c-parse.y"
- { really_start_incremental_init (NULL_TREE); ;}
- break;
-
- case 301:
-#line 1405 "c-parse.y"
- { yyval.ttype = pop_init_level (0); ;}
- break;
-
- case 302:
-#line 1407 "c-parse.y"
- { yyval.ttype = error_mark_node; ;}
- break;
-
- case 303:
-#line 1413 "c-parse.y"
- { if (pedantic)
- pedwarn ("ISO C forbids empty initializer braces"); ;}
- break;
-
- case 307:
-#line 1427 "c-parse.y"
- { if (pedantic && ! flag_isoc99)
- pedwarn ("ISO C89 forbids specifying subobject to initialize"); ;}
- break;
-
- case 308:
-#line 1430 "c-parse.y"
- { if (pedantic)
- pedwarn ("obsolete use of designated initializer without `='"); ;}
- break;
-
- case 309:
-#line 1433 "c-parse.y"
- { set_init_label (yyvsp[-1].ttype);
- if (pedantic)
- pedwarn ("obsolete use of designated initializer with `:'"); ;}
- break;
-
- case 310:
-#line 1437 "c-parse.y"
- {;}
- break;
-
- case 312:
-#line 1443 "c-parse.y"
- { push_init_level (0); ;}
- break;
-
- case 313:
-#line 1445 "c-parse.y"
- { process_init_element (pop_init_level (0)); ;}
- break;
-
- case 314:
-#line 1447 "c-parse.y"
- { process_init_element (yyvsp[0].ttype); ;}
- break;
-
- case 318:
-#line 1458 "c-parse.y"
- { set_init_label (yyvsp[0].ttype); ;}
- break;
-
- case 319:
-#line 1463 "c-parse.y"
- { set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype);
- if (pedantic)
- pedwarn ("ISO C forbids specifying range of elements to initialize"); ;}
- break;
-
- case 320:
-#line 1467 "c-parse.y"
- { set_init_index (yyvsp[-1].ttype, NULL_TREE); ;}
- break;
-
- case 321:
-#line 1472 "c-parse.y"
- { if (pedantic)
- pedwarn ("ISO C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, yyvsp[0].ttype,
- all_prefix_attributes))
- {
- pop_function_context ();
- YYERROR1;
- }
- ;}
- break;
-
- case 322:
-#line 1484 "c-parse.y"
- { store_parm_decls (); ;}
- break;
-
- case 323:
-#line 1492 "c-parse.y"
- { tree decl = current_function_decl;
- DECL_SOURCE_FILE (decl) = yyvsp[-2].filename;
- DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno;
- finish_function (1, 1);
- pop_function_context ();
- add_decl_stmt (decl); ;}
- break;
-
- case 324:
-#line 1502 "c-parse.y"
- { if (pedantic)
- pedwarn ("ISO C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, yyvsp[0].ttype,
- all_prefix_attributes))
- {
- pop_function_context ();
- YYERROR1;
- }
- ;}
- break;
-
- case 325:
-#line 1514 "c-parse.y"
- { store_parm_decls (); ;}
- break;
-
- case 326:
-#line 1522 "c-parse.y"
- { tree decl = current_function_decl;
- DECL_SOURCE_FILE (decl) = yyvsp[-2].filename;
- DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno;
- finish_function (1, 1);
- pop_function_context ();
- add_decl_stmt (decl); ;}
- break;
-
- case 329:
-#line 1542 "c-parse.y"
- { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;}
- break;
-
- case 330:
-#line 1544 "c-parse.y"
- { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;}
- break;
-
- case 331:
-#line 1549 "c-parse.y"
- { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;}
- break;
-
- case 332:
-#line 1551 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 336:
-#line 1566 "c-parse.y"
- { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;}
- break;
-
- case 337:
-#line 1571 "c-parse.y"
- { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;}
- break;
-
- case 339:
-#line 1577 "c-parse.y"
- { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;}
- break;
-
- case 340:
-#line 1582 "c-parse.y"
- { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;}
- break;
-
- case 341:
-#line 1584 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 342:
-#line 1586 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 343:
-#line 1588 "c-parse.y"
- { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;}
- break;
-
- case 344:
-#line 1596 "c-parse.y"
- { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;}
- break;
-
- case 345:
-#line 1601 "c-parse.y"
- { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;}
- break;
-
- case 346:
-#line 1603 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 347:
-#line 1605 "c-parse.y"
- { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;}
- break;
-
- case 349:
-#line 1611 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 350:
-#line 1613 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype; ;}
- break;
-
- case 351:
-#line 1618 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 352:
-#line 1620 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype; ;}
- break;
-
- case 353:
-#line 1625 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 354:
-#line 1627 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype; ;}
- break;
-
- case 355:
-#line 1638 "c-parse.y"
- { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
- /* Start scope of tag before parsing components. */
- ;}
- break;
-
- case 356:
-#line 1642 "c-parse.y"
- { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;}
- break;
-
- case 357:
-#line 1644 "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 358:
-#line 1648 "c-parse.y"
- { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;}
- break;
-
- case 359:
-#line 1650 "c-parse.y"
- { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;}
- break;
-
- case 360:
-#line 1652 "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 361:
-#line 1656 "c-parse.y"
- { yyval.ttype = start_enum (yyvsp[-1].ttype); ;}
- break;
-
- case 362:
-#line 1658 "c-parse.y"
- { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
- chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;}
- break;
-
- case 363:
-#line 1661 "c-parse.y"
- { yyval.ttype = start_enum (NULL_TREE); ;}
- break;
-
- case 364:
-#line 1663 "c-parse.y"
- { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
- chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;}
- break;
-
- case 365:
-#line 1669 "c-parse.y"
- { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;}
- break;
-
- case 366:
-#line 1671 "c-parse.y"
- { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;}
- break;
-
- case 367:
-#line 1673 "c-parse.y"
- { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype);
- /* In ISO C, enumerated types can be referred to
- only if already defined. */
- if (pedantic && !COMPLETE_TYPE_P (yyval.ttype))
- pedwarn ("ISO C forbids forward references to `enum' types"); ;}
- break;
-
- case 371:
-#line 1688 "c-parse.y"
- { if (pedantic && ! flag_isoc99)
- pedwarn ("comma at end of enumerator list"); ;}
- break;
-
- case 372:
-#line 1694 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype; ;}
- break;
-
- case 373:
-#line 1696 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
- pedwarn ("no semicolon at end of struct or union"); ;}
- break;
-
- case 374:
-#line 1701 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 375:
-#line 1703 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;}
- break;
-
- case 376:
-#line 1705 "c-parse.y"
- { if (pedantic)
- pedwarn ("extra semicolon in struct or union specified"); ;}
- break;
-
- case 377:
-#line 1711 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 378:
-#line 1714 "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 ("ISO C doesn't support unnamed structs/unions");
-
- yyval.ttype = grokfield(yyvsp[-1].filename, yyvsp[0].lineno, NULL, current_declspecs, NULL_TREE);
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 379:
-#line 1724 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 380:
-#line 1727 "c-parse.y"
- { if (pedantic)
- pedwarn ("ISO C forbids member declarations with no members");
- shadow_tag(yyvsp[0].ttype);
- yyval.ttype = NULL_TREE; ;}
- break;
-
- case 381:
-#line 1732 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 382:
-#line 1734 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;}
- break;
-
- case 384:
-#line 1741 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 386:
-#line 1747 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 387:
-#line 1752 "c-parse.y"
- { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
- decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;}
- break;
-
- case 388:
-#line 1756 "c-parse.y"
- { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
- decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;}
- break;
-
- case 389:
-#line 1759 "c-parse.y"
- { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
- decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;}
- break;
-
- case 390:
-#line 1765 "c-parse.y"
- { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
- decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;}
- break;
-
- case 391:
-#line 1769 "c-parse.y"
- { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
- decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;}
- break;
-
- case 392:
-#line 1772 "c-parse.y"
- { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
- decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;}
- break;
-
- case 394:
-#line 1784 "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 395:
-#line 1789 "c-parse.y"
- { yyval.ttype = error_mark_node; ;}
- break;
-
- case 396:
-#line 1795 "c-parse.y"
- { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;}
- break;
-
- case 397:
-#line 1797 "c-parse.y"
- { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 398:
-#line 1802 "c-parse.y"
- { pending_xref_error ();
- yyval.ttype = yyvsp[0].ttype; ;}
- break;
-
- case 399:
-#line 1805 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 400:
-#line 1810 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 402:
-#line 1816 "c-parse.y"
- { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- NULL_TREE),
- all_prefix_attributes); ;}
- break;
-
- case 403:
-#line 1820 "c-parse.y"
- { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[0].ttype),
- all_prefix_attributes); ;}
- break;
-
- case 404:
-#line 1824 "c-parse.y"
- { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- chainon (yyvsp[0].ttype, all_prefix_attributes)); ;}
- break;
-
- case 408:
-#line 1837 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 409:
-#line 1842 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;}
- break;
-
- case 410:
-#line 1844 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 411:
-#line 1849 "c-parse.y"
- { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;}
- break;
-
- case 412:
-#line 1851 "c-parse.y"
- { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;}
- break;
-
- case 413:
-#line 1853 "c-parse.y"
- { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 1); ;}
- break;
-
- case 414:
-#line 1855 "c-parse.y"
- { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;}
- break;
-
- case 415:
-#line 1857 "c-parse.y"
- { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, NULL_TREE, 1); ;}
- break;
-
- case 416:
-#line 1864 "c-parse.y"
- { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, NULL_TREE, 0, 0); ;}
- break;
-
- case 417:
-#line 1866 "c-parse.y"
- { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, 0); ;}
- break;
-
- case 418:
-#line 1868 "c-parse.y"
- { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 0); ;}
- break;
-
- case 419:
-#line 1870 "c-parse.y"
- { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-1].ttype, 0, 0); ;}
- break;
-
- case 420:
-#line 1872 "c-parse.y"
- { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 1); ;}
- break;
-
- case 421:
-#line 1874 "c-parse.y"
- { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-2].ttype, 0, 1); ;}
- break;
-
- case 422:
-#line 1876 "c-parse.y"
- { if (C_RID_CODE (yyvsp[-2].ttype) != RID_STATIC)
- error ("storage class specifier in array declarator");
- yyval.ttype = build_array_declarator (yyvsp[-1].ttype, NULL_TREE, 1, 0); ;}
- break;
-
- case 423:
-#line 1880 "c-parse.y"
- { if (C_RID_CODE (yyvsp[-3].ttype) != RID_STATIC)
- error ("storage class specifier in array declarator");
- yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-2].ttype, 1, 0); ;}
- break;
-
- case 424:
-#line 1884 "c-parse.y"
- { if (C_RID_CODE (yyvsp[-2].ttype) != RID_STATIC)
- error ("storage class specifier in array declarator");
- yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-3].ttype, 1, 0); ;}
- break;
-
- case 427:
-#line 1899 "c-parse.y"
- {
- pedwarn ("deprecated use of label at end of compound statement");
- ;}
- break;
-
- case 435:
-#line 1916 "c-parse.y"
- { if (pedantic && !flag_isoc99)
- pedwarn ("ISO C89 forbids mixed declarations and code"); ;}
- break;
-
- case 450:
-#line 1946 "c-parse.y"
- { pushlevel (0);
- clear_last_expr ();
- add_scope_stmt (/*begin_p=*/1, /*partial_p=*/0);
- ;}
- break;
-
- case 451:
-#line 1953 "c-parse.y"
- { yyval.ttype = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0); ;}
- break;
-
- case 452:
-#line 1958 "c-parse.y"
- { if (flag_isoc99)
- {
- yyval.ttype = c_begin_compound_stmt ();
- pushlevel (0);
- clear_last_expr ();
- add_scope_stmt (/*begin_p=*/1, /*partial_p=*/0);
- }
- else
- yyval.ttype = NULL_TREE;
- ;}
- break;
-
- case 453:
-#line 1974 "c-parse.y"
- { if (flag_isoc99)
- {
- tree scope_stmt = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0);
- yyval.ttype = poplevel (kept_level_p (), 0, 0);
- SCOPE_STMT_BLOCK (TREE_PURPOSE (scope_stmt))
- = SCOPE_STMT_BLOCK (TREE_VALUE (scope_stmt))
- = yyval.ttype;
- }
- else
- yyval.ttype = NULL_TREE; ;}
- break;
-
- case 455:
-#line 1991 "c-parse.y"
- { if (pedantic)
- pedwarn ("ISO C forbids label declarations"); ;}
- break;
-
- case 458:
-#line 2002 "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;
- add_decl_stmt (label);
- }
- ;}
- break;
-
- case 459:
-#line 2016 "c-parse.y"
- {;}
- break;
-
- case 461:
-#line 2020 "c-parse.y"
- { compstmt_count++;
- yyval.ttype = c_begin_compound_stmt (); ;}
- break;
-
- case 462:
-#line 2025 "c-parse.y"
- { yyval.ttype = convert (void_type_node, integer_zero_node); ;}
- break;
-
- case 463:
-#line 2027 "c-parse.y"
- { yyval.ttype = poplevel (kept_level_p (), 1, 0);
- SCOPE_STMT_BLOCK (TREE_PURPOSE (yyvsp[0].ttype))
- = SCOPE_STMT_BLOCK (TREE_VALUE (yyvsp[0].ttype))
- = yyval.ttype; ;}
- break;
-
- case 466:
-#line 2040 "c-parse.y"
- { if (current_function_decl == 0)
- {
- error ("braced-group within expression allowed only inside a function");
- YYERROR;
- }
- /* We must force a BLOCK for this level
- so that, if it is not expanded later,
- there is a way to turn off the entire subtree of blocks
- that are contained in it. */
- keep_next_level ();
- push_label_level ();
- compstmt_count++;
- yyval.ttype = add_stmt (build_stmt (COMPOUND_STMT, last_tree));
- ;}
- break;
-
- case 467:
-#line 2057 "c-parse.y"
- { RECHAIN_STMTS (yyvsp[-1].ttype, COMPOUND_BODY (yyvsp[-1].ttype));
- last_expr_type = NULL_TREE;
- yyval.ttype = yyvsp[-1].ttype; ;}
- break;
-
- case 468:
-#line 2065 "c-parse.y"
- { c_finish_then (); ;}
- break;
-
- case 470:
-#line 2082 "c-parse.y"
- { yyval.ttype = c_begin_if_stmt (); ;}
- break;
-
- case 471:
-#line 2084 "c-parse.y"
- { c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype),
- compstmt_count,yyvsp[-3].ttype);
- yyval.itype = stmt_count;
- if_stmt_file = yyvsp[-7].filename;
- if_stmt_line = yyvsp[-6].lineno; ;}
- break;
-
- case 472:
-#line 2096 "c-parse.y"
- { stmt_count++;
- compstmt_count++;
- yyval.ttype
- = add_stmt (build_stmt (DO_STMT, NULL_TREE,
- NULL_TREE));
- /* In the event that a parse error prevents
- parsing the complete do-statement, set the
- condition now. Otherwise, we can get crashes at
- RTL-generation time. */
- DO_COND (yyval.ttype) = error_mark_node; ;}
- break;
-
- case 473:
-#line 2107 "c-parse.y"
- { yyval.ttype = yyvsp[-2].ttype;
- RECHAIN_STMTS (yyval.ttype, DO_BODY (yyval.ttype)); ;}
- break;
-
- case 474:
-#line 2115 "c-parse.y"
- { if (yychar == YYEMPTY)
- yychar = YYLEX;
- yyval.filename = input_filename; ;}
- break;
-
- case 475:
-#line 2121 "c-parse.y"
- { if (yychar == YYEMPTY)
- yychar = YYLEX;
- yyval.lineno = lineno; ;}
- break;
-
- case 478:
-#line 2134 "c-parse.y"
- { if (flag_isoc99)
- RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); ;}
- break;
-
- case 479:
-#line 2140 "c-parse.y"
- { if (yyvsp[0].ttype)
- {
- STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno;
- /* ??? We currently have no way of recording
- the filename for a statement. This probably
- matters little in practice at the moment,
- but I suspect that problems will occur when
- doing inlining at the tree level. */
- }
- ;}
- break;
-
- case 480:
-#line 2154 "c-parse.y"
- { if (yyvsp[0].ttype)
- {
- STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno;
- }
- ;}
- break;
-
- case 481:
-#line 2163 "c-parse.y"
- { c_expand_start_else ();
- yyvsp[-1].itype = stmt_count; ;}
- break;
-
- case 482:
-#line 2166 "c-parse.y"
- { c_finish_else ();
- c_expand_end_cond ();
- if (extra_warnings && stmt_count == yyvsp[-3].itype)
- warning ("empty body in an else-statement"); ;}
- break;
-
- case 483:
-#line 2171 "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 484:
-#line 2183 "c-parse.y"
- { c_expand_end_cond (); ;}
- break;
-
- case 485:
-#line 2193 "c-parse.y"
- { stmt_count++;
- yyval.ttype = c_begin_while_stmt (); ;}
- break;
-
- case 486:
-#line 2196 "c-parse.y"
- { yyvsp[-1].ttype = truthvalue_conversion (yyvsp[-1].ttype);
- c_finish_while_stmt_cond (truthvalue_conversion (yyvsp[-1].ttype),
- yyvsp[-3].ttype);
- yyval.ttype = add_stmt (yyvsp[-3].ttype); ;}
- break;
-
- case 487:
-#line 2201 "c-parse.y"
- { RECHAIN_STMTS (yyvsp[-1].ttype, WHILE_BODY (yyvsp[-1].ttype)); ;}
- break;
-
- case 488:
-#line 2204 "c-parse.y"
- { DO_COND (yyvsp[-4].ttype) = truthvalue_conversion (yyvsp[-2].ttype); ;}
- break;
-
- case 489:
-#line 2206 "c-parse.y"
- { ;}
- break;
-
- case 490:
-#line 2208 "c-parse.y"
- { yyval.ttype = build_stmt (FOR_STMT, NULL_TREE, NULL_TREE,
- NULL_TREE, NULL_TREE);
- add_stmt (yyval.ttype); ;}
- break;
-
- case 491:
-#line 2212 "c-parse.y"
- { stmt_count++;
- RECHAIN_STMTS (yyvsp[-2].ttype, FOR_INIT_STMT (yyvsp[-2].ttype)); ;}
- break;
-
- case 492:
-#line 2215 "c-parse.y"
- { if (yyvsp[-1].ttype)
- FOR_COND (yyvsp[-5].ttype) = truthvalue_conversion (yyvsp[-1].ttype); ;}
- break;
-
- case 493:
-#line 2218 "c-parse.y"
- { FOR_EXPR (yyvsp[-8].ttype) = yyvsp[-1].ttype; ;}
- break;
-
- case 494:
-#line 2220 "c-parse.y"
- { RECHAIN_STMTS (yyvsp[-10].ttype, FOR_BODY (yyvsp[-10].ttype)); ;}
- break;
-
- case 495:
-#line 2222 "c-parse.y"
- { stmt_count++;
- yyval.ttype = c_start_case (yyvsp[-1].ttype); ;}
- break;
-
- case 496:
-#line 2225 "c-parse.y"
- { c_finish_case (); ;}
- break;
-
- case 497:
-#line 2230 "c-parse.y"
- { add_stmt (build_stmt (EXPR_STMT, yyvsp[-1].ttype)); ;}
- break;
-
- case 498:
-#line 2232 "c-parse.y"
- { check_for_loop_decls (); ;}
- break;
-
- case 499:
-#line 2238 "c-parse.y"
- { stmt_count++; yyval.ttype = yyvsp[0].ttype; ;}
- break;
-
- case 500:
-#line 2240 "c-parse.y"
- { stmt_count++;
- yyval.ttype = c_expand_expr_stmt (yyvsp[-1].ttype); ;}
- break;
-
- case 501:
-#line 2243 "c-parse.y"
- { if (flag_isoc99)
- RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype));
- yyval.ttype = NULL_TREE; ;}
- break;
-
- case 502:
-#line 2247 "c-parse.y"
- { stmt_count++;
- yyval.ttype = add_stmt (build_break_stmt ()); ;}
- break;
-
- case 503:
-#line 2250 "c-parse.y"
- { stmt_count++;
- yyval.ttype = add_stmt (build_continue_stmt ()); ;}
- break;
-
- case 504:
-#line 2253 "c-parse.y"
- { stmt_count++;
- yyval.ttype = c_expand_return (NULL_TREE); ;}
- break;
-
- case 505:
-#line 2256 "c-parse.y"
- { stmt_count++;
- yyval.ttype = c_expand_return (yyvsp[-1].ttype); ;}
- break;
-
- case 506:
-#line 2259 "c-parse.y"
- { stmt_count++;
- yyval.ttype = simple_asm_stmt (yyvsp[-2].ttype); ;}
- break;
-
- case 507:
-#line 2263 "c-parse.y"
- { stmt_count++;
- yyval.ttype = build_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ;}
- break;
-
- case 508:
-#line 2268 "c-parse.y"
- { stmt_count++;
- yyval.ttype = build_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;}
- break;
-
- case 509:
-#line 2273 "c-parse.y"
- { stmt_count++;
- yyval.ttype = build_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;}
- break;
-
- case 510:
-#line 2276 "c-parse.y"
- { tree decl;
- stmt_count++;
- decl = lookup_label (yyvsp[-1].ttype);
- if (decl != 0)
- {
- TREE_USED (decl) = 1;
- yyval.ttype = add_stmt (build_stmt (GOTO_STMT, decl));
- }
- else
- yyval.ttype = NULL_TREE;
- ;}
- break;
-
- case 511:
-#line 2288 "c-parse.y"
- { if (pedantic)
- pedwarn ("ISO C forbids `goto *expr;'");
- stmt_count++;
- yyvsp[-1].ttype = convert (ptr_type_node, yyvsp[-1].ttype);
- yyval.ttype = add_stmt (build_stmt (GOTO_STMT, yyvsp[-1].ttype)); ;}
- break;
-
- case 512:
-#line 2294 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 513:
-#line 2302 "c-parse.y"
- { stmt_count++;
- yyval.ttype = do_case (yyvsp[-1].ttype, NULL_TREE); ;}
- break;
-
- case 514:
-#line 2305 "c-parse.y"
- { stmt_count++;
- yyval.ttype = do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ;}
- break;
-
- case 515:
-#line 2308 "c-parse.y"
- { stmt_count++;
- yyval.ttype = do_case (NULL_TREE, NULL_TREE); ;}
- break;
-
- case 516:
-#line 2311 "c-parse.y"
- { tree label = define_label (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-4].ttype);
- stmt_count++;
- if (label)
- {
- decl_attributes (&label, yyvsp[0].ttype, 0);
- yyval.ttype = add_stmt (build_stmt (LABEL_STMT, label));
- }
- else
- yyval.ttype = NULL_TREE;
- ;}
- break;
-
- case 517:
-#line 2327 "c-parse.y"
- { emit_line_note (input_filename, lineno);
- yyval.ttype = NULL_TREE; ;}
- break;
-
- case 518:
-#line 2330 "c-parse.y"
- { emit_line_note (input_filename, lineno); ;}
- break;
-
- case 519:
-#line 2335 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 521:
-#line 2342 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;}
- break;
-
- case 524:
-#line 2349 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;}
- break;
-
- case 525:
-#line 2354 "c-parse.y"
- { yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ;}
- break;
-
- case 526:
-#line 2356 "c-parse.y"
- { yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ;}
- break;
-
- case 527:
-#line 2361 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;}
- break;
-
- case 528:
-#line 2363 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;}
- break;
-
- case 529:
-#line 2373 "c-parse.y"
- { pushlevel (0);
- clear_parm_order ();
- declare_parm_level (0); ;}
- break;
-
- case 530:
-#line 2377 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); ;}
- break;
-
- case 532:
-#line 2385 "c-parse.y"
- { tree parm;
- if (pedantic)
- pedwarn ("ISO 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 533:
-#line 2393 "c-parse.y"
- { /* Dummy action so attributes are in known place
- on parser stack. */ ;}
- break;
-
- case 534:
-#line 2396 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype; ;}
- break;
-
- case 535:
-#line 2398 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;}
- break;
-
- case 536:
-#line 2404 "c-parse.y"
- { yyval.ttype = get_parm_info (0); ;}
- break;
-
- case 537:
-#line 2406 "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 ("ISO C requires a named argument before `...'");
- ;}
- break;
-
- case 538:
-#line 2416 "c-parse.y"
- { yyval.ttype = get_parm_info (1); ;}
- break;
-
- case 539:
-#line 2418 "c-parse.y"
- { yyval.ttype = get_parm_info (0); ;}
- break;
-
- case 540:
-#line 2423 "c-parse.y"
- { push_parm_decl (yyvsp[0].ttype); ;}
- break;
-
- case 541:
-#line 2425 "c-parse.y"
- { push_parm_decl (yyvsp[0].ttype); ;}
- break;
-
- case 542:
-#line 2432 "c-parse.y"
- { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- chainon (yyvsp[0].ttype, all_prefix_attributes));
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 543:
-#line 2437 "c-parse.y"
- { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- chainon (yyvsp[0].ttype, all_prefix_attributes));
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 544:
-#line 2442 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 545:
-#line 2445 "c-parse.y"
- { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- chainon (yyvsp[0].ttype, all_prefix_attributes));
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 546:
-#line 2451 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 547:
-#line 2459 "c-parse.y"
- { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- chainon (yyvsp[0].ttype, all_prefix_attributes));
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 548:
-#line 2464 "c-parse.y"
- { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- chainon (yyvsp[0].ttype, all_prefix_attributes));
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 549:
-#line 2469 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 550:
-#line 2472 "c-parse.y"
- { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
- yyvsp[-1].ttype),
- chainon (yyvsp[0].ttype, all_prefix_attributes));
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 551:
-#line 2478 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- POP_DECLSPEC_STACK; ;}
- break;
-
- case 552:
-#line 2484 "c-parse.y"
- { prefix_attributes = chainon (prefix_attributes, yyvsp[-3].ttype);
- all_prefix_attributes = prefix_attributes; ;}
- break;
-
- case 553:
-#line 2493 "c-parse.y"
- { pushlevel (0);
- clear_parm_order ();
- declare_parm_level (1); ;}
- break;
-
- case 554:
-#line 2497 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); ;}
- break;
-
- case 556:
-#line 2505 "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);
-
- /* Make sure we have a parmlist after attributes. */
- if (yyvsp[-3].ttype != 0
- && (TREE_CODE (yyval.ttype) != TREE_LIST
- || TREE_PURPOSE (yyval.ttype) == 0
- || TREE_CODE (TREE_PURPOSE (yyval.ttype)) != PARM_DECL))
- YYERROR1;
- ;}
- break;
-
- case 557:
-#line 2523 "c-parse.y"
- { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;}
- break;
-
- case 558:
-#line 2525 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;}
- break;
-
- case 559:
-#line 2531 "c-parse.y"
- { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;}
- break;
-
- case 560:
-#line 2533 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;}
- break;
-
- case 561:
-#line 2538 "c-parse.y"
- { yyval.ttype = SAVE_WARN_FLAGS();
- pedantic = 0;
- warn_pointer_arith = 0;
- warn_traditional = 0; ;}
- break;
-
-
- }
-
-/* Line 991 of yacc.c. */
-#line 5246 "c-p10602.c"
-\f
- yyvsp -= yylen;
- yyssp -= yylen;
-
-
- YY_STACK_PRINT (yyss, yyssp);
-
- *++yyvsp = yyval;
-
-
- /* 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 - YYNTOKENS] + *yyssp;
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTOKENS];
-
- goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
- /* If not already recovering from an error, report this error. */
- if (!yyerrstatus)
- {
- ++yynerrs;
-#if YYERROR_VERBOSE
- yyn = yypact[yystate];
-
- if (YYPACT_NINF < yyn && yyn < YYLAST)
- {
- YYSIZE_T yysize = 0;
- int yytype = YYTRANSLATE (yychar);
- char *yymsg;
- int yyx, yycount;
-
- yycount = 0;
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. */
- for (yyx = yyn < 0 ? -yyn : 0;
- yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- yysize += yystrlen (yytname[yyx]) + 15, yycount++;
- yysize += yystrlen ("syntax error, unexpected ") + 1;
- yysize += yystrlen (yytname[yytype]);
- yymsg = (char *) YYSTACK_ALLOC (yysize);
- if (yymsg != 0)
- {
- char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
- yyp = yystpcpy (yyp, yytname[yytype]);
-
- if (yycount < 5)
- {
- yycount = 0;
- for (yyx = yyn < 0 ? -yyn : 0;
- yyx < (int) (sizeof (yytname) / sizeof (char *));
- yyx++)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- {
- const char *yyq = ! yycount ? ", expecting " : " or ";
- yyp = yystpcpy (yyp, yyq);
- yyp = yystpcpy (yyp, yytname[yyx]);
- yycount++;
- }
- }
- yyerror (yymsg);
- YYSTACK_FREE (yymsg);
- }
- else
- yyerror ("syntax error; also virtual memory exhausted");
- }
- else
-#endif /* YYERROR_VERBOSE */
- yyerror ("syntax error");
- }
-
-
-
- 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)
- {
- /* Pop the error token. */
- YYPOPSTACK;
- /* Pop the rest of the stack. */
- while (yyss < yyssp)
- {
- YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
- yydestruct (yystos[*yyssp], yyvsp);
- YYPOPSTACK;
- }
- YYABORT;
- }
-
- YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
- yydestruct (yytoken, &yylval);
- yychar = YYEMPTY;
-
- }
-
- /* Else will try to reuse lookahead token after shifting the error
- token. */
- goto yyerrlab2;
-
-
-/*----------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action. |
-`----------------------------------------------------*/
-yyerrlab1:
-
- /* Suppress GCC warning that yyerrlab1 is unused when no action
- invokes YYERROR. */
-#if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
- __attribute__ ((__unused__));
-#endif
-
-
- goto yyerrlab2;
-
-
-/*---------------------------------------------------------------.
-| yyerrlab2 -- pop states until the error token can be shifted. |
-`---------------------------------------------------------------*/
-yyerrlab2:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
-
- for (;;)
- {
- yyn = yypact[yystate];
- if (yyn != YYPACT_NINF)
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- /* Pop the current state because it cannot handle the error token. */
- if (yyssp == yyss)
- YYABORT;
-
- YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
- yydestruct (yystos[yystate], yyvsp);
- yyvsp--;
- yystate = *--yyssp;
-
- YY_STACK_PRINT (yyss, yyssp);
- }
-
- if (yyn == YYFINAL)
- YYACCEPT;
-
- YYDPRINTF ((stderr, "Shifting error token, "));
-
- *++yyvsp = yylval;
-
-
- yystate = yyn;
- goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here. |
-`-------------------------------------*/
-yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here. |
-`-----------------------------------*/
-yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
-#ifndef yyoverflow
-/*----------------------------------------------.
-| yyoverflowlab -- parser overflow comes here. |
-`----------------------------------------------*/
-yyoverflowlab:
- yyerror ("parser stack overflow");
- yyresult = 2;
- /* Fall through. */
-#endif
-
-yyreturn:
-#ifndef yyoverflow
- if (yyss != yyssa)
- YYSTACK_FREE (yyss);
-#endif
- return yyresult;
-}
-
-
-#line 2544 "c-parse.y"
-
-
-/* yylex() is a thin wrapper around c_lex(), all it does is translate
- cpplib.h's token codes into yacc's token codes. */
-
-static enum cpp_ttype last_token;
-
-/* The reserved keyword table. */
-struct resword
-{
- const char *word;
- ENUM_BITFIELD(rid) rid : 16;
- unsigned int disable : 16;
-};
-
-/* Disable mask. Keywords are disabled if (reswords[i].disable & mask) is
- _true_. */
-#define D_TRAD 0x01 /* not in traditional C */
-#define D_C89 0x02 /* not in C89 */
-#define D_EXT 0x04 /* GCC extension */
-#define D_EXT89 0x08 /* GCC extension incorporated in C99 */
-#define D_OBJC 0x10 /* Objective C only */
-
-static const struct resword reswords[] =
-{
- { "_Bool", RID_BOOL, 0 },
- { "_Complex", RID_COMPLEX, 0 },
- { "__FUNCTION__", RID_FUNCTION_NAME, 0 },
- { "__PRETTY_FUNCTION__", RID_PRETTY_FUNCTION_NAME, 0 },
- { "__alignof", RID_ALIGNOF, 0 },
- { "__alignof__", RID_ALIGNOF, 0 },
- { "__asm", RID_ASM, 0 },
- { "__asm__", RID_ASM, 0 },
- { "__attribute", RID_ATTRIBUTE, 0 },
- { "__attribute__", RID_ATTRIBUTE, 0 },
- { "__bounded", RID_BOUNDED, 0 },
- { "__bounded__", RID_BOUNDED, 0 },
- { "__builtin_choose_expr", RID_CHOOSE_EXPR, 0 },
- { "__builtin_types_compatible_p", RID_TYPES_COMPATIBLE_P, 0 },
- { "__builtin_va_arg", RID_VA_ARG, 0 },
- { "__complex", RID_COMPLEX, 0 },
- { "__complex__", RID_COMPLEX, 0 },
- { "__const", RID_CONST, 0 },
- { "__const__", RID_CONST, 0 },
- { "__extension__", RID_EXTENSION, 0 },
- { "__func__", RID_C99_FUNCTION_NAME, 0 },
- { "__imag", RID_IMAGPART, 0 },
- { "__imag__", RID_IMAGPART, 0 },
- { "__inline", RID_INLINE, 0 },
- { "__inline__", RID_INLINE, 0 },
- { "__label__", RID_LABEL, 0 },
- { "__ptrbase", RID_PTRBASE, 0 },
- { "__ptrbase__", RID_PTRBASE, 0 },
- { "__ptrextent", RID_PTREXTENT, 0 },
- { "__ptrextent__", RID_PTREXTENT, 0 },
- { "__ptrvalue", RID_PTRVALUE, 0 },
- { "__ptrvalue__", RID_PTRVALUE, 0 },
- { "__real", RID_REALPART, 0 },
- { "__real__", RID_REALPART, 0 },
- { "__restrict", RID_RESTRICT, 0 },
- { "__restrict__", RID_RESTRICT, 0 },
- { "__signed", RID_SIGNED, 0 },
- { "__signed__", RID_SIGNED, 0 },
- { "__typeof", RID_TYPEOF, 0 },
- { "__typeof__", RID_TYPEOF, 0 },
- { "__unbounded", RID_UNBOUNDED, 0 },
- { "__unbounded__", RID_UNBOUNDED, 0 },
- { "__volatile", RID_VOLATILE, 0 },
- { "__volatile__", RID_VOLATILE, 0 },
- { "asm", RID_ASM, D_EXT },
- { "auto", RID_AUTO, 0 },
- { "break", RID_BREAK, 0 },
- { "case", RID_CASE, 0 },
- { "char", RID_CHAR, 0 },
- { "const", RID_CONST, D_TRAD },
- { "continue", RID_CONTINUE, 0 },
- { "default", RID_DEFAULT, 0 },
- { "do", RID_DO, 0 },
- { "double", RID_DOUBLE, 0 },
- { "else", RID_ELSE, 0 },
- { "enum", RID_ENUM, 0 },
- { "extern", RID_EXTERN, 0 },
- { "float", RID_FLOAT, 0 },
- { "for", RID_FOR, 0 },
- { "goto", RID_GOTO, 0 },
- { "if", RID_IF, 0 },
- { "inline", RID_INLINE, D_TRAD|D_EXT89 },
- { "int", RID_INT, 0 },
- { "long", RID_LONG, 0 },
- { "register", RID_REGISTER, 0 },
- { "restrict", RID_RESTRICT, D_TRAD|D_C89 },
- { "return", RID_RETURN, 0 },
- { "short", RID_SHORT, 0 },
- { "signed", RID_SIGNED, D_TRAD },
- { "sizeof", RID_SIZEOF, 0 },
- { "static", RID_STATIC, 0 },
- { "struct", RID_STRUCT, 0 },
- { "switch", RID_SWITCH, 0 },
- { "typedef", RID_TYPEDEF, 0 },
- { "typeof", RID_TYPEOF, D_TRAD|D_EXT },
- { "union", RID_UNION, 0 },
- { "unsigned", RID_UNSIGNED, 0 },
- { "void", RID_VOID, 0 },
- { "volatile", RID_VOLATILE, D_TRAD },
- { "while", RID_WHILE, 0 },
-};
-#define N_reswords (sizeof reswords / sizeof (struct resword))
-
-/* Table mapping from RID_* constants to yacc token numbers.
- Unfortunately we have to have entries for all the keywords in all
- three languages. */
-static const short rid_to_yy[RID_MAX] =
-{
- /* RID_STATIC */ SCSPEC,
- /* RID_UNSIGNED */ TYPESPEC,
- /* RID_LONG */ TYPESPEC,
- /* RID_CONST */ TYPE_QUAL,
- /* RID_EXTERN */ SCSPEC,
- /* RID_REGISTER */ SCSPEC,
- /* RID_TYPEDEF */ SCSPEC,
- /* RID_SHORT */ TYPESPEC,
- /* RID_INLINE */ SCSPEC,
- /* RID_VOLATILE */ TYPE_QUAL,
- /* RID_SIGNED */ TYPESPEC,
- /* RID_AUTO */ SCSPEC,
- /* RID_RESTRICT */ TYPE_QUAL,
-
- /* C extensions */
- /* RID_BOUNDED */ TYPE_QUAL,
- /* RID_UNBOUNDED */ TYPE_QUAL,
- /* RID_COMPLEX */ TYPESPEC,
-
- /* C++ */
- /* RID_FRIEND */ 0,
- /* RID_VIRTUAL */ 0,
- /* RID_EXPLICIT */ 0,
- /* RID_EXPORT */ 0,
- /* RID_MUTABLE */ 0,
-
- /* ObjC */
- /* RID_IN */ TYPE_QUAL,
- /* RID_OUT */ TYPE_QUAL,
- /* RID_INOUT */ TYPE_QUAL,
- /* RID_BYCOPY */ TYPE_QUAL,
- /* RID_BYREF */ TYPE_QUAL,
- /* RID_ONEWAY */ TYPE_QUAL,
-
- /* C */
- /* RID_INT */ TYPESPEC,
- /* RID_CHAR */ TYPESPEC,
- /* RID_FLOAT */ TYPESPEC,
- /* RID_DOUBLE */ TYPESPEC,
- /* RID_VOID */ TYPESPEC,
- /* RID_ENUM */ ENUM,
- /* RID_STRUCT */ STRUCT,
- /* RID_UNION */ UNION,
- /* RID_IF */ IF,
- /* RID_ELSE */ ELSE,
- /* RID_WHILE */ WHILE,
- /* RID_DO */ DO,
- /* RID_FOR */ FOR,
- /* RID_SWITCH */ SWITCH,
- /* RID_CASE */ CASE,
- /* RID_DEFAULT */ DEFAULT,
- /* RID_BREAK */ BREAK,
- /* RID_CONTINUE */ CONTINUE,
- /* RID_RETURN */ RETURN,
- /* RID_GOTO */ GOTO,
- /* RID_SIZEOF */ SIZEOF,
-
- /* C extensions */
- /* RID_ASM */ ASM_KEYWORD,
- /* RID_TYPEOF */ TYPEOF,
- /* RID_ALIGNOF */ ALIGNOF,
- /* RID_ATTRIBUTE */ ATTRIBUTE,
- /* RID_VA_ARG */ VA_ARG,
- /* RID_EXTENSION */ EXTENSION,
- /* RID_IMAGPART */ IMAGPART,
- /* RID_REALPART */ REALPART,
- /* RID_LABEL */ LABEL,
- /* RID_PTRBASE */ PTR_BASE,
- /* RID_PTREXTENT */ PTR_EXTENT,
- /* RID_PTRVALUE */ PTR_VALUE,
-
- /* RID_CHOOSE_EXPR */ CHOOSE_EXPR,
- /* RID_TYPES_COMPATIBLE_P */ TYPES_COMPATIBLE_P,
-
- /* RID_FUNCTION_NAME */ STRING_FUNC_NAME,
- /* RID_PRETTY_FUNCTION_NAME */ STRING_FUNC_NAME,
- /* RID_C99_FUNCTION_NAME */ VAR_FUNC_NAME,
-
- /* C++ */
- /* RID_BOOL */ TYPESPEC,
- /* RID_WCHAR */ 0,
- /* RID_CLASS */ 0,
- /* RID_PUBLIC */ 0,
- /* RID_PRIVATE */ 0,
- /* RID_PROTECTED */ 0,
- /* RID_TEMPLATE */ 0,
- /* RID_NULL */ 0,
- /* RID_CATCH */ 0,
- /* RID_DELETE */ 0,
- /* RID_FALSE */ 0,
- /* RID_NAMESPACE */ 0,
- /* RID_NEW */ 0,
- /* RID_OPERATOR */ 0,
- /* RID_THIS */ 0,
- /* RID_THROW */ 0,
- /* RID_TRUE */ 0,
- /* RID_TRY */ 0,
- /* RID_TYPENAME */ 0,
- /* RID_TYPEID */ 0,
- /* RID_USING */ 0,
-
- /* casts */
- /* RID_CONSTCAST */ 0,
- /* RID_DYNCAST */ 0,
- /* RID_REINTCAST */ 0,
- /* RID_STATCAST */ 0,
-
- /* alternate spellings */
- /* RID_AND */ 0,
- /* RID_AND_EQ */ 0,
- /* RID_NOT */ 0,
- /* RID_NOT_EQ */ 0,
- /* RID_OR */ 0,
- /* RID_OR_EQ */ 0,
- /* RID_XOR */ 0,
- /* RID_XOR_EQ */ 0,
- /* RID_BITAND */ 0,
- /* RID_BITOR */ 0,
- /* RID_COMPL */ 0,
-
- /* Objective C */
- /* RID_ID */ OBJECTNAME,
- /* RID_AT_ENCODE */ ENCODE,
- /* RID_AT_END */ END,
- /* RID_AT_CLASS */ CLASS,
- /* RID_AT_ALIAS */ ALIAS,
- /* RID_AT_DEFS */ DEFS,
- /* RID_AT_PRIVATE */ PRIVATE,
- /* RID_AT_PROTECTED */ PROTECTED,
- /* RID_AT_PUBLIC */ PUBLIC,
- /* RID_AT_PROTOCOL */ PROTOCOL,
- /* RID_AT_SELECTOR */ SELECTOR,
- /* RID_AT_INTERFACE */ INTERFACE,
- /* RID_AT_IMPLEMENTATION */ IMPLEMENTATION
-};
-
-static void
-init_reswords ()
-{
- unsigned int i;
- tree id;
- int mask = (flag_isoc99 ? 0 : D_C89)
- | (flag_traditional ? D_TRAD : 0)
- | (flag_no_asm ? (flag_isoc99 ? D_EXT : D_EXT|D_EXT89) : 0);
-
- if (c_language != clk_objective_c)
- mask |= D_OBJC;
-
- /* It is not necessary to register ridpointers as a GC root, because
- all the trees it points to are permanently interned in the
- get_identifier hash anyway. */
- ridpointers = (tree *) xcalloc ((int) RID_MAX, sizeof (tree));
- for (i = 0; i < N_reswords; i++)
- {
- /* If a keyword is disabled, do not enter it into the table
- and so create a canonical spelling that isn't a keyword. */
- if (reswords[i].disable & mask)
- continue;
-
- id = get_identifier (reswords[i].word);
- C_RID_CODE (id) = reswords[i].rid;
- C_IS_RESERVED_WORD (id) = 1;
- ridpointers [(int) reswords[i].rid] = id;
- }
-}
-
-#define NAME(type) cpp_type2name (type)
-
-static void
-yyerror (msgid)
- const char *msgid;
-{
- const char *string = _(msgid);
-
- if (last_token == CPP_EOF)
- error ("%s at end of input", string);
- else if (last_token == CPP_CHAR || last_token == CPP_WCHAR)
- {
- unsigned int val = TREE_INT_CST_LOW (yylval.ttype);
- const char *const ell = (last_token == CPP_CHAR) ? "" : "L";
- if (val <= UCHAR_MAX && ISGRAPH (val))
- error ("%s before %s'%c'", string, ell, val);
- else
- error ("%s before %s'\\x%x'", string, ell, val);
- }
- else if (last_token == CPP_STRING
- || last_token == CPP_WSTRING)
- error ("%s before string constant", string);
- else if (last_token == CPP_NUMBER)
- error ("%s before numeric constant", string);
- else if (last_token == CPP_NAME)
- error ("%s before \"%s\"", string, IDENTIFIER_POINTER (yylval.ttype));
- else
- error ("%s before '%s' token", string, NAME(last_token));
-}
-
-static int
-yylexname ()
-{
- tree decl;
-
-
- if (C_IS_RESERVED_WORD (yylval.ttype))
- {
- enum rid rid_code = C_RID_CODE (yylval.ttype);
-
- {
- int yycode = rid_to_yy[(int) rid_code];
- if (yycode == STRING_FUNC_NAME)
- {
- /* __FUNCTION__ and __PRETTY_FUNCTION__ get converted
- to string constants. */
- const char *name = fname_string (rid_code);
-
- yylval.ttype = build_string (strlen (name) + 1, name);
- C_ARTIFICIAL_STRING_P (yylval.ttype) = 1;
- last_token = CPP_STRING; /* so yyerror won't choke */
- return STRING;
- }
-
- /* Return the canonical spelling for this keyword. */
- yylval.ttype = ridpointers[(int) rid_code];
- return yycode;
- }
- }
-
- decl = lookup_name (yylval.ttype);
- if (decl)
- {
- if (TREE_CODE (decl) == TYPE_DECL)
- return TYPENAME;
- }
-
- return IDENTIFIER;
-}
-
-
-static inline int
-_yylex ()
-{
- get_next:
- last_token = c_lex (&yylval.ttype);
- switch (last_token)
- {
- case CPP_EQ: return '=';
- case CPP_NOT: return '!';
- case CPP_GREATER: yylval.code = GT_EXPR; return ARITHCOMPARE;
- case CPP_LESS: yylval.code = LT_EXPR; return ARITHCOMPARE;
- case CPP_PLUS: yylval.code = PLUS_EXPR; return '+';
- case CPP_MINUS: yylval.code = MINUS_EXPR; return '-';
- case CPP_MULT: yylval.code = MULT_EXPR; return '*';
- case CPP_DIV: yylval.code = TRUNC_DIV_EXPR; return '/';
- case CPP_MOD: yylval.code = TRUNC_MOD_EXPR; return '%';
- case CPP_AND: yylval.code = BIT_AND_EXPR; return '&';
- case CPP_OR: yylval.code = BIT_IOR_EXPR; return '|';
- case CPP_XOR: yylval.code = BIT_XOR_EXPR; return '^';
- case CPP_RSHIFT: yylval.code = RSHIFT_EXPR; return RSHIFT;
- case CPP_LSHIFT: yylval.code = LSHIFT_EXPR; return LSHIFT;
-
- case CPP_COMPL: return '~';
- case CPP_AND_AND: return ANDAND;
- case CPP_OR_OR: return OROR;
- case CPP_QUERY: return '?';
- case CPP_OPEN_PAREN: return '(';
- case CPP_EQ_EQ: yylval.code = EQ_EXPR; return EQCOMPARE;
- case CPP_NOT_EQ: yylval.code = NE_EXPR; return EQCOMPARE;
- case CPP_GREATER_EQ:yylval.code = GE_EXPR; return ARITHCOMPARE;
- case CPP_LESS_EQ: yylval.code = LE_EXPR; return ARITHCOMPARE;
-
- case CPP_PLUS_EQ: yylval.code = PLUS_EXPR; return ASSIGN;
- case CPP_MINUS_EQ: yylval.code = MINUS_EXPR; return ASSIGN;
- case CPP_MULT_EQ: yylval.code = MULT_EXPR; return ASSIGN;
- case CPP_DIV_EQ: yylval.code = TRUNC_DIV_EXPR; return ASSIGN;
- case CPP_MOD_EQ: yylval.code = TRUNC_MOD_EXPR; return ASSIGN;
- case CPP_AND_EQ: yylval.code = BIT_AND_EXPR; return ASSIGN;
- case CPP_OR_EQ: yylval.code = BIT_IOR_EXPR; return ASSIGN;
- case CPP_XOR_EQ: yylval.code = BIT_XOR_EXPR; return ASSIGN;
- case CPP_RSHIFT_EQ: yylval.code = RSHIFT_EXPR; return ASSIGN;
- case CPP_LSHIFT_EQ: yylval.code = LSHIFT_EXPR; return ASSIGN;
-
- case CPP_OPEN_SQUARE: return '[';
- case CPP_CLOSE_SQUARE: return ']';
- case CPP_OPEN_BRACE: return '{';
- case CPP_CLOSE_BRACE: return '}';
- case CPP_ELLIPSIS: return ELLIPSIS;
-
- case CPP_PLUS_PLUS: return PLUSPLUS;
- case CPP_MINUS_MINUS: return MINUSMINUS;
- case CPP_DEREF: return POINTSAT;
- case CPP_DOT: return '.';
-
- /* The following tokens may affect the interpretation of any
- identifiers following, if doing Objective-C. */
- case CPP_COLON: OBJC_NEED_RAW_IDENTIFIER (0); return ':';
- case CPP_COMMA: OBJC_NEED_RAW_IDENTIFIER (0); return ',';
- case CPP_CLOSE_PAREN: OBJC_NEED_RAW_IDENTIFIER (0); return ')';
- case CPP_SEMICOLON: OBJC_NEED_RAW_IDENTIFIER (0); return ';';
-
- case CPP_EOF:
- return 0;
-
- case CPP_NAME:
- return yylexname ();
-
- case CPP_NUMBER:
- case CPP_CHAR:
- case CPP_WCHAR:
- return CONSTANT;
-
- case CPP_STRING:
- case CPP_WSTRING:
- return STRING;
-
- /* This token is Objective-C specific. It gives the next token
- special significance. */
- case CPP_ATSIGN:
-
- /* These tokens are C++ specific (and will not be generated
- in C mode, but let's be cautious). */
- case CPP_SCOPE:
- case CPP_DEREF_STAR:
- case CPP_DOT_STAR:
- case CPP_MIN_EQ:
- case CPP_MAX_EQ:
- case CPP_MIN:
- case CPP_MAX:
- /* These tokens should not survive translation phase 4. */
- case CPP_HASH:
- case CPP_PASTE:
- error ("syntax error at '%s' token", NAME(last_token));
- goto get_next;
-
- default:
- abort ();
- }
- /* NOTREACHED */
-}
-
-static int
-yylex()
-{
- int r;
- timevar_push (TV_LEX);
- r = _yylex();
- timevar_pop (TV_LEX);
- return r;
-}
-
-/* Sets the value of the 'yydebug' variable to VALUE.
- This is a function so we don't have to have YYDEBUG defined
- in order to build the compiler. */
-
-void
-c_set_yydebug (value)
- int value;
-{
-#if YYDEBUG != 0
- yydebug = value;
-#else
- warning ("YYDEBUG not defined");
-#endif
-}
-
-/* Function used when yydebug is set, to print a token in more detail. */
-
-static void
-yyprint (file, yychar, yyl)
- FILE *file;
- int yychar;
- YYSTYPE yyl;
-{
- tree t = yyl.ttype;
-
- fprintf (file, " [%s]", NAME(last_token));
-
- switch (yychar)
- {
- case IDENTIFIER:
- case TYPENAME:
- case OBJECTNAME:
- case TYPESPEC:
- case TYPE_QUAL:
- case SCSPEC:
- if (IDENTIFIER_POINTER (t))
- fprintf (file, " `%s'", IDENTIFIER_POINTER (t));
- break;
-
- case CONSTANT:
- fprintf (file, " %s", GET_MODE_NAME (TYPE_MODE (TREE_TYPE (t))));
- if (TREE_CODE (t) == INTEGER_CST)
- fprintf (file,
-#if HOST_BITS_PER_WIDE_INT == 64
-#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
- " 0x%x%016x",
-#else
-#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
- " 0x%lx%016lx",
-#else
- " 0x%llx%016llx",
-#endif
-#endif
-#else
-#if HOST_BITS_PER_WIDE_INT != HOST_BITS_PER_INT
- " 0x%lx%08lx",
-#else
- " 0x%x%08x",
-#endif
-#endif
- TREE_INT_CST_HIGH (t), TREE_INT_CST_LOW (t));
- break;
- }
-}
-\f
-/* This is not the ideal place to put these, but we have to get them out
- of c-lex.c because cp/lex.c has its own versions. */
-
-/* Return something to represent absolute declarators containing a *.
- TARGET is the absolute declarator that the * contains.
- TYPE_QUALS_ATTRS is a list of modifiers such as const or volatile
- to apply to the pointer type, represented as identifiers, possible mixed
- with attributes.
-
- We return an INDIRECT_REF whose "contents" are TARGET (inside a TREE_LIST,
- if attributes are present) and whose type is the modifier list. */
-
-tree
-make_pointer_declarator (type_quals_attrs, target)
- tree type_quals_attrs, target;
-{
- tree quals, attrs;
- tree itarget = target;
- split_specs_attrs (type_quals_attrs, &quals, &attrs);
- if (attrs != NULL_TREE)
- itarget = tree_cons (attrs, target, NULL_TREE);
- return build1 (INDIRECT_REF, quals, itarget);
-}
-
-