X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=gcc%2Fc-parse.c;fp=gcc%2Fc-parse.c;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=ae4619800ee1e3e76280fef93c0d3a7ed296de86;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/c-parse.c b/gcc/c-parse.c deleted file mode 100644 index ae461980..00000000 --- a/gcc/c-parse.c +++ /dev/null @@ -1,6006 +0,0 @@ -/* 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 -#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 /* 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 /* 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 /* 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 - - - -#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 */ - - - -#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; - } -} - - -/* 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" - - 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; - } -} - -/* 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); -} - -