1*53ee8cc1Swenshuai.xi 2*53ee8cc1Swenshuai.xi/* A Bison parser, made by GNU Bison 2.4.1. */ 3*53ee8cc1Swenshuai.xi 4*53ee8cc1Swenshuai.xi/* Skeleton implementation for Bison's Yacc-like parsers in C 5*53ee8cc1Swenshuai.xi 6*53ee8cc1Swenshuai.xi Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 7*53ee8cc1Swenshuai.xi Free Software Foundation, Inc. 8*53ee8cc1Swenshuai.xi 9*53ee8cc1Swenshuai.xi This program is free software: you can redistribute it and/or modify 10*53ee8cc1Swenshuai.xi it under the terms of the GNU General Public License as published by 11*53ee8cc1Swenshuai.xi the Free Software Foundation, either version 3 of the License, or 12*53ee8cc1Swenshuai.xi (at your option) any later version. 13*53ee8cc1Swenshuai.xi 14*53ee8cc1Swenshuai.xi This program is distributed in the hope that it will be useful, 15*53ee8cc1Swenshuai.xi but WITHOUT ANY WARRANTY; without even the implied warranty of 16*53ee8cc1Swenshuai.xi MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17*53ee8cc1Swenshuai.xi GNU General Public License for more details. 18*53ee8cc1Swenshuai.xi 19*53ee8cc1Swenshuai.xi You should have received a copy of the GNU General Public License 20*53ee8cc1Swenshuai.xi along with this program. If not, see <http://www.gnu.org/licenses/>. */ 21*53ee8cc1Swenshuai.xi 22*53ee8cc1Swenshuai.xi/* As a special exception, you may create a larger work that contains 23*53ee8cc1Swenshuai.xi part or all of the Bison parser skeleton and distribute that work 24*53ee8cc1Swenshuai.xi under terms of your choice, so long as that work isn't itself a 25*53ee8cc1Swenshuai.xi parser generator using the skeleton or a modified version thereof 26*53ee8cc1Swenshuai.xi as a parser skeleton. Alternatively, if you modify or redistribute 27*53ee8cc1Swenshuai.xi the parser skeleton itself, you may (at your option) remove this 28*53ee8cc1Swenshuai.xi special exception, which will cause the skeleton and the resulting 29*53ee8cc1Swenshuai.xi Bison output files to be licensed under the GNU General Public 30*53ee8cc1Swenshuai.xi License without this special exception. 31*53ee8cc1Swenshuai.xi 32*53ee8cc1Swenshuai.xi This special exception was added by the Free Software Foundation in 33*53ee8cc1Swenshuai.xi version 2.2 of Bison. */ 34*53ee8cc1Swenshuai.xi 35*53ee8cc1Swenshuai.xi/* C LALR(1) parser skeleton written by Richard Stallman, by 36*53ee8cc1Swenshuai.xi simplifying the original so-called "semantic" parser. */ 37*53ee8cc1Swenshuai.xi 38*53ee8cc1Swenshuai.xi/* All symbols defined below should begin with yy or YY, to avoid 39*53ee8cc1Swenshuai.xi infringing on user name space. This should be done even for local 40*53ee8cc1Swenshuai.xi variables, as they might otherwise be expanded by user macros. 41*53ee8cc1Swenshuai.xi There are some unavoidable exceptions within include files to 42*53ee8cc1Swenshuai.xi define necessary library symbols; they are noted "INFRINGES ON 43*53ee8cc1Swenshuai.xi USER NAME SPACE" below. */ 44*53ee8cc1Swenshuai.xi 45*53ee8cc1Swenshuai.xi/* Identify Bison output. */ 46*53ee8cc1Swenshuai.xi#define YYBISON 1 47*53ee8cc1Swenshuai.xi 48*53ee8cc1Swenshuai.xi/* Bison version. */ 49*53ee8cc1Swenshuai.xi#define YYBISON_VERSION "2.4.1" 50*53ee8cc1Swenshuai.xi 51*53ee8cc1Swenshuai.xi/* Skeleton name. */ 52*53ee8cc1Swenshuai.xi#define YYSKELETON_NAME "yacc.c" 53*53ee8cc1Swenshuai.xi 54*53ee8cc1Swenshuai.xi/* Pure parsers. */ 55*53ee8cc1Swenshuai.xi#define YYPURE 0 56*53ee8cc1Swenshuai.xi 57*53ee8cc1Swenshuai.xi/* Push parsers. */ 58*53ee8cc1Swenshuai.xi#define YYPUSH 0 59*53ee8cc1Swenshuai.xi 60*53ee8cc1Swenshuai.xi/* Pull parsers. */ 61*53ee8cc1Swenshuai.xi#define YYPULL 1 62*53ee8cc1Swenshuai.xi 63*53ee8cc1Swenshuai.xi/* Using locations. */ 64*53ee8cc1Swenshuai.xi#define YYLSP_NEEDED 0 65*53ee8cc1Swenshuai.xi 66*53ee8cc1Swenshuai.xi 67*53ee8cc1Swenshuai.xi 68*53ee8cc1Swenshuai.xi/* Copy the first part of user declarations. */ 69*53ee8cc1Swenshuai.xi 70*53ee8cc1Swenshuai.xi/* Line 189 of yacc.c */ 71*53ee8cc1Swenshuai.xi#line 24 "scripts/genksyms/parse.y" 72*53ee8cc1Swenshuai.xi 73*53ee8cc1Swenshuai.xi 74*53ee8cc1Swenshuai.xi#include <assert.h> 75*53ee8cc1Swenshuai.xi#include <stdlib.h> 76*53ee8cc1Swenshuai.xi#include <string.h> 77*53ee8cc1Swenshuai.xi#include "genksyms.h" 78*53ee8cc1Swenshuai.xi 79*53ee8cc1Swenshuai.xistatic int is_typedef; 80*53ee8cc1Swenshuai.xistatic int is_extern; 81*53ee8cc1Swenshuai.xistatic char *current_name; 82*53ee8cc1Swenshuai.xistatic struct string_list *decl_spec; 83*53ee8cc1Swenshuai.xi 84*53ee8cc1Swenshuai.xistatic void yyerror(const char *); 85*53ee8cc1Swenshuai.xi 86*53ee8cc1Swenshuai.xistatic inline void 87*53ee8cc1Swenshuai.xiremove_node(struct string_list **p) 88*53ee8cc1Swenshuai.xi{ 89*53ee8cc1Swenshuai.xi struct string_list *node = *p; 90*53ee8cc1Swenshuai.xi *p = node->next; 91*53ee8cc1Swenshuai.xi free_node(node); 92*53ee8cc1Swenshuai.xi} 93*53ee8cc1Swenshuai.xi 94*53ee8cc1Swenshuai.xistatic inline void 95*53ee8cc1Swenshuai.xiremove_list(struct string_list **pb, struct string_list **pe) 96*53ee8cc1Swenshuai.xi{ 97*53ee8cc1Swenshuai.xi struct string_list *b = *pb, *e = *pe; 98*53ee8cc1Swenshuai.xi *pb = e; 99*53ee8cc1Swenshuai.xi free_list(b, e); 100*53ee8cc1Swenshuai.xi} 101*53ee8cc1Swenshuai.xi 102*53ee8cc1Swenshuai.xi 103*53ee8cc1Swenshuai.xi 104*53ee8cc1Swenshuai.xi/* Line 189 of yacc.c */ 105*53ee8cc1Swenshuai.xi#line 106 "scripts/genksyms/parse.c" 106*53ee8cc1Swenshuai.xi 107*53ee8cc1Swenshuai.xi/* Enabling traces. */ 108*53ee8cc1Swenshuai.xi#ifndef YYDEBUG 109*53ee8cc1Swenshuai.xi# define YYDEBUG 1 110*53ee8cc1Swenshuai.xi#endif 111*53ee8cc1Swenshuai.xi 112*53ee8cc1Swenshuai.xi/* Enabling verbose error messages. */ 113*53ee8cc1Swenshuai.xi#ifdef YYERROR_VERBOSE 114*53ee8cc1Swenshuai.xi# undef YYERROR_VERBOSE 115*53ee8cc1Swenshuai.xi# define YYERROR_VERBOSE 1 116*53ee8cc1Swenshuai.xi#else 117*53ee8cc1Swenshuai.xi# define YYERROR_VERBOSE 0 118*53ee8cc1Swenshuai.xi#endif 119*53ee8cc1Swenshuai.xi 120*53ee8cc1Swenshuai.xi/* Enabling the token table. */ 121*53ee8cc1Swenshuai.xi#ifndef YYTOKEN_TABLE 122*53ee8cc1Swenshuai.xi# define YYTOKEN_TABLE 0 123*53ee8cc1Swenshuai.xi#endif 124*53ee8cc1Swenshuai.xi 125*53ee8cc1Swenshuai.xi 126*53ee8cc1Swenshuai.xi/* Tokens. */ 127*53ee8cc1Swenshuai.xi#ifndef YYTOKENTYPE 128*53ee8cc1Swenshuai.xi# define YYTOKENTYPE 129*53ee8cc1Swenshuai.xi /* Put the tokens into the symbol table, so that GDB and other debuggers 130*53ee8cc1Swenshuai.xi know about them. */ 131*53ee8cc1Swenshuai.xi enum yytokentype { 132*53ee8cc1Swenshuai.xi ASM_KEYW = 258, 133*53ee8cc1Swenshuai.xi ATTRIBUTE_KEYW = 259, 134*53ee8cc1Swenshuai.xi AUTO_KEYW = 260, 135*53ee8cc1Swenshuai.xi BOOL_KEYW = 261, 136*53ee8cc1Swenshuai.xi CHAR_KEYW = 262, 137*53ee8cc1Swenshuai.xi CONST_KEYW = 263, 138*53ee8cc1Swenshuai.xi DOUBLE_KEYW = 264, 139*53ee8cc1Swenshuai.xi ENUM_KEYW = 265, 140*53ee8cc1Swenshuai.xi EXTERN_KEYW = 266, 141*53ee8cc1Swenshuai.xi EXTENSION_KEYW = 267, 142*53ee8cc1Swenshuai.xi FLOAT_KEYW = 268, 143*53ee8cc1Swenshuai.xi INLINE_KEYW = 269, 144*53ee8cc1Swenshuai.xi INT_KEYW = 270, 145*53ee8cc1Swenshuai.xi LONG_KEYW = 271, 146*53ee8cc1Swenshuai.xi REGISTER_KEYW = 272, 147*53ee8cc1Swenshuai.xi RESTRICT_KEYW = 273, 148*53ee8cc1Swenshuai.xi SHORT_KEYW = 274, 149*53ee8cc1Swenshuai.xi SIGNED_KEYW = 275, 150*53ee8cc1Swenshuai.xi STATIC_KEYW = 276, 151*53ee8cc1Swenshuai.xi STRUCT_KEYW = 277, 152*53ee8cc1Swenshuai.xi TYPEDEF_KEYW = 278, 153*53ee8cc1Swenshuai.xi UNION_KEYW = 279, 154*53ee8cc1Swenshuai.xi UNSIGNED_KEYW = 280, 155*53ee8cc1Swenshuai.xi VOID_KEYW = 281, 156*53ee8cc1Swenshuai.xi VOLATILE_KEYW = 282, 157*53ee8cc1Swenshuai.xi TYPEOF_KEYW = 283, 158*53ee8cc1Swenshuai.xi EXPORT_SYMBOL_KEYW = 284, 159*53ee8cc1Swenshuai.xi ASM_PHRASE = 285, 160*53ee8cc1Swenshuai.xi ATTRIBUTE_PHRASE = 286, 161*53ee8cc1Swenshuai.xi BRACE_PHRASE = 287, 162*53ee8cc1Swenshuai.xi BRACKET_PHRASE = 288, 163*53ee8cc1Swenshuai.xi EXPRESSION_PHRASE = 289, 164*53ee8cc1Swenshuai.xi CHAR = 290, 165*53ee8cc1Swenshuai.xi DOTS = 291, 166*53ee8cc1Swenshuai.xi IDENT = 292, 167*53ee8cc1Swenshuai.xi INT = 293, 168*53ee8cc1Swenshuai.xi REAL = 294, 169*53ee8cc1Swenshuai.xi STRING = 295, 170*53ee8cc1Swenshuai.xi TYPE = 296, 171*53ee8cc1Swenshuai.xi OTHER = 297, 172*53ee8cc1Swenshuai.xi FILENAME = 298 173*53ee8cc1Swenshuai.xi }; 174*53ee8cc1Swenshuai.xi#endif 175*53ee8cc1Swenshuai.xi 176*53ee8cc1Swenshuai.xi 177*53ee8cc1Swenshuai.xi 178*53ee8cc1Swenshuai.xi#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 179*53ee8cc1Swenshuai.xitypedef int YYSTYPE; 180*53ee8cc1Swenshuai.xi# define YYSTYPE_IS_TRIVIAL 1 181*53ee8cc1Swenshuai.xi# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 182*53ee8cc1Swenshuai.xi# define YYSTYPE_IS_DECLARED 1 183*53ee8cc1Swenshuai.xi#endif 184*53ee8cc1Swenshuai.xi 185*53ee8cc1Swenshuai.xi 186*53ee8cc1Swenshuai.xi/* Copy the second part of user declarations. */ 187*53ee8cc1Swenshuai.xi 188*53ee8cc1Swenshuai.xi 189*53ee8cc1Swenshuai.xi/* Line 264 of yacc.c */ 190*53ee8cc1Swenshuai.xi#line 191 "scripts/genksyms/parse.c" 191*53ee8cc1Swenshuai.xi 192*53ee8cc1Swenshuai.xi#ifdef short 193*53ee8cc1Swenshuai.xi# undef short 194*53ee8cc1Swenshuai.xi#endif 195*53ee8cc1Swenshuai.xi 196*53ee8cc1Swenshuai.xi#ifdef YYTYPE_UINT8 197*53ee8cc1Swenshuai.xitypedef YYTYPE_UINT8 yytype_uint8; 198*53ee8cc1Swenshuai.xi#else 199*53ee8cc1Swenshuai.xitypedef unsigned char yytype_uint8; 200*53ee8cc1Swenshuai.xi#endif 201*53ee8cc1Swenshuai.xi 202*53ee8cc1Swenshuai.xi#ifdef YYTYPE_INT8 203*53ee8cc1Swenshuai.xitypedef YYTYPE_INT8 yytype_int8; 204*53ee8cc1Swenshuai.xi#elif (defined __STDC__ || defined __C99__FUNC__ \ 205*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 206*53ee8cc1Swenshuai.xitypedef signed char yytype_int8; 207*53ee8cc1Swenshuai.xi#else 208*53ee8cc1Swenshuai.xitypedef short int yytype_int8; 209*53ee8cc1Swenshuai.xi#endif 210*53ee8cc1Swenshuai.xi 211*53ee8cc1Swenshuai.xi#ifdef YYTYPE_UINT16 212*53ee8cc1Swenshuai.xitypedef YYTYPE_UINT16 yytype_uint16; 213*53ee8cc1Swenshuai.xi#else 214*53ee8cc1Swenshuai.xitypedef unsigned short int yytype_uint16; 215*53ee8cc1Swenshuai.xi#endif 216*53ee8cc1Swenshuai.xi 217*53ee8cc1Swenshuai.xi#ifdef YYTYPE_INT16 218*53ee8cc1Swenshuai.xitypedef YYTYPE_INT16 yytype_int16; 219*53ee8cc1Swenshuai.xi#else 220*53ee8cc1Swenshuai.xitypedef short int yytype_int16; 221*53ee8cc1Swenshuai.xi#endif 222*53ee8cc1Swenshuai.xi 223*53ee8cc1Swenshuai.xi#ifndef YYSIZE_T 224*53ee8cc1Swenshuai.xi# ifdef __SIZE_TYPE__ 225*53ee8cc1Swenshuai.xi# define YYSIZE_T __SIZE_TYPE__ 226*53ee8cc1Swenshuai.xi# elif defined size_t 227*53ee8cc1Swenshuai.xi# define YYSIZE_T size_t 228*53ee8cc1Swenshuai.xi# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 229*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 230*53ee8cc1Swenshuai.xi# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 231*53ee8cc1Swenshuai.xi# define YYSIZE_T size_t 232*53ee8cc1Swenshuai.xi# else 233*53ee8cc1Swenshuai.xi# define YYSIZE_T unsigned int 234*53ee8cc1Swenshuai.xi# endif 235*53ee8cc1Swenshuai.xi#endif 236*53ee8cc1Swenshuai.xi 237*53ee8cc1Swenshuai.xi#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 238*53ee8cc1Swenshuai.xi 239*53ee8cc1Swenshuai.xi#ifndef YY_ 240*53ee8cc1Swenshuai.xi# if YYENABLE_NLS 241*53ee8cc1Swenshuai.xi# if ENABLE_NLS 242*53ee8cc1Swenshuai.xi# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 243*53ee8cc1Swenshuai.xi# define YY_(msgid) dgettext ("bison-runtime", msgid) 244*53ee8cc1Swenshuai.xi# endif 245*53ee8cc1Swenshuai.xi# endif 246*53ee8cc1Swenshuai.xi# ifndef YY_ 247*53ee8cc1Swenshuai.xi# define YY_(msgid) msgid 248*53ee8cc1Swenshuai.xi# endif 249*53ee8cc1Swenshuai.xi#endif 250*53ee8cc1Swenshuai.xi 251*53ee8cc1Swenshuai.xi/* Suppress unused-variable warnings by "using" E. */ 252*53ee8cc1Swenshuai.xi#if ! defined lint || defined __GNUC__ 253*53ee8cc1Swenshuai.xi# define YYUSE(e) ((void) (e)) 254*53ee8cc1Swenshuai.xi#else 255*53ee8cc1Swenshuai.xi# define YYUSE(e) /* empty */ 256*53ee8cc1Swenshuai.xi#endif 257*53ee8cc1Swenshuai.xi 258*53ee8cc1Swenshuai.xi/* Identity function, used to suppress warnings about constant conditions. */ 259*53ee8cc1Swenshuai.xi#ifndef lint 260*53ee8cc1Swenshuai.xi# define YYID(n) (n) 261*53ee8cc1Swenshuai.xi#else 262*53ee8cc1Swenshuai.xi#if (defined __STDC__ || defined __C99__FUNC__ \ 263*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 264*53ee8cc1Swenshuai.xistatic int 265*53ee8cc1Swenshuai.xiYYID (int yyi) 266*53ee8cc1Swenshuai.xi#else 267*53ee8cc1Swenshuai.xistatic int 268*53ee8cc1Swenshuai.xiYYID (yyi) 269*53ee8cc1Swenshuai.xi int yyi; 270*53ee8cc1Swenshuai.xi#endif 271*53ee8cc1Swenshuai.xi{ 272*53ee8cc1Swenshuai.xi return yyi; 273*53ee8cc1Swenshuai.xi} 274*53ee8cc1Swenshuai.xi#endif 275*53ee8cc1Swenshuai.xi 276*53ee8cc1Swenshuai.xi#if ! defined yyoverflow || YYERROR_VERBOSE 277*53ee8cc1Swenshuai.xi 278*53ee8cc1Swenshuai.xi/* The parser invokes alloca or malloc; define the necessary symbols. */ 279*53ee8cc1Swenshuai.xi 280*53ee8cc1Swenshuai.xi# ifdef YYSTACK_USE_ALLOCA 281*53ee8cc1Swenshuai.xi# if YYSTACK_USE_ALLOCA 282*53ee8cc1Swenshuai.xi# ifdef __GNUC__ 283*53ee8cc1Swenshuai.xi# define YYSTACK_ALLOC __builtin_alloca 284*53ee8cc1Swenshuai.xi# elif defined __BUILTIN_VA_ARG_INCR 285*53ee8cc1Swenshuai.xi# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 286*53ee8cc1Swenshuai.xi# elif defined _AIX 287*53ee8cc1Swenshuai.xi# define YYSTACK_ALLOC __alloca 288*53ee8cc1Swenshuai.xi# elif defined _MSC_VER 289*53ee8cc1Swenshuai.xi# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 290*53ee8cc1Swenshuai.xi# define alloca _alloca 291*53ee8cc1Swenshuai.xi# else 292*53ee8cc1Swenshuai.xi# define YYSTACK_ALLOC alloca 293*53ee8cc1Swenshuai.xi# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 294*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 295*53ee8cc1Swenshuai.xi# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 296*53ee8cc1Swenshuai.xi# ifndef _STDLIB_H 297*53ee8cc1Swenshuai.xi# define _STDLIB_H 1 298*53ee8cc1Swenshuai.xi# endif 299*53ee8cc1Swenshuai.xi# endif 300*53ee8cc1Swenshuai.xi# endif 301*53ee8cc1Swenshuai.xi# endif 302*53ee8cc1Swenshuai.xi# endif 303*53ee8cc1Swenshuai.xi 304*53ee8cc1Swenshuai.xi# ifdef YYSTACK_ALLOC 305*53ee8cc1Swenshuai.xi /* Pacify GCC's `empty if-body' warning. */ 306*53ee8cc1Swenshuai.xi# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 307*53ee8cc1Swenshuai.xi# ifndef YYSTACK_ALLOC_MAXIMUM 308*53ee8cc1Swenshuai.xi /* The OS might guarantee only one guard page at the bottom of the stack, 309*53ee8cc1Swenshuai.xi and a page size can be as small as 4096 bytes. So we cannot safely 310*53ee8cc1Swenshuai.xi invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 311*53ee8cc1Swenshuai.xi to allow for a few compiler-allocated temporary stack slots. */ 312*53ee8cc1Swenshuai.xi# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 313*53ee8cc1Swenshuai.xi# endif 314*53ee8cc1Swenshuai.xi# else 315*53ee8cc1Swenshuai.xi# define YYSTACK_ALLOC YYMALLOC 316*53ee8cc1Swenshuai.xi# define YYSTACK_FREE YYFREE 317*53ee8cc1Swenshuai.xi# ifndef YYSTACK_ALLOC_MAXIMUM 318*53ee8cc1Swenshuai.xi# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 319*53ee8cc1Swenshuai.xi# endif 320*53ee8cc1Swenshuai.xi# if (defined __cplusplus && ! defined _STDLIB_H \ 321*53ee8cc1Swenshuai.xi && ! ((defined YYMALLOC || defined malloc) \ 322*53ee8cc1Swenshuai.xi && (defined YYFREE || defined free))) 323*53ee8cc1Swenshuai.xi# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 324*53ee8cc1Swenshuai.xi# ifndef _STDLIB_H 325*53ee8cc1Swenshuai.xi# define _STDLIB_H 1 326*53ee8cc1Swenshuai.xi# endif 327*53ee8cc1Swenshuai.xi# endif 328*53ee8cc1Swenshuai.xi# ifndef YYMALLOC 329*53ee8cc1Swenshuai.xi# define YYMALLOC malloc 330*53ee8cc1Swenshuai.xi# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 331*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 332*53ee8cc1Swenshuai.xivoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 333*53ee8cc1Swenshuai.xi# endif 334*53ee8cc1Swenshuai.xi# endif 335*53ee8cc1Swenshuai.xi# ifndef YYFREE 336*53ee8cc1Swenshuai.xi# define YYFREE free 337*53ee8cc1Swenshuai.xi# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 338*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 339*53ee8cc1Swenshuai.xivoid free (void *); /* INFRINGES ON USER NAME SPACE */ 340*53ee8cc1Swenshuai.xi# endif 341*53ee8cc1Swenshuai.xi# endif 342*53ee8cc1Swenshuai.xi# endif 343*53ee8cc1Swenshuai.xi#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ 344*53ee8cc1Swenshuai.xi 345*53ee8cc1Swenshuai.xi 346*53ee8cc1Swenshuai.xi#if (! defined yyoverflow \ 347*53ee8cc1Swenshuai.xi && (! defined __cplusplus \ 348*53ee8cc1Swenshuai.xi || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 349*53ee8cc1Swenshuai.xi 350*53ee8cc1Swenshuai.xi/* A type that is properly aligned for any stack member. */ 351*53ee8cc1Swenshuai.xiunion yyalloc 352*53ee8cc1Swenshuai.xi{ 353*53ee8cc1Swenshuai.xi yytype_int16 yyss_alloc; 354*53ee8cc1Swenshuai.xi YYSTYPE yyvs_alloc; 355*53ee8cc1Swenshuai.xi}; 356*53ee8cc1Swenshuai.xi 357*53ee8cc1Swenshuai.xi/* The size of the maximum gap between one aligned stack and the next. */ 358*53ee8cc1Swenshuai.xi# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 359*53ee8cc1Swenshuai.xi 360*53ee8cc1Swenshuai.xi/* The size of an array large to enough to hold all stacks, each with 361*53ee8cc1Swenshuai.xi N elements. */ 362*53ee8cc1Swenshuai.xi# define YYSTACK_BYTES(N) \ 363*53ee8cc1Swenshuai.xi ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 364*53ee8cc1Swenshuai.xi + YYSTACK_GAP_MAXIMUM) 365*53ee8cc1Swenshuai.xi 366*53ee8cc1Swenshuai.xi/* Copy COUNT objects from FROM to TO. The source and destination do 367*53ee8cc1Swenshuai.xi not overlap. */ 368*53ee8cc1Swenshuai.xi# ifndef YYCOPY 369*53ee8cc1Swenshuai.xi# if defined __GNUC__ && 1 < __GNUC__ 370*53ee8cc1Swenshuai.xi# define YYCOPY(To, From, Count) \ 371*53ee8cc1Swenshuai.xi __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 372*53ee8cc1Swenshuai.xi# else 373*53ee8cc1Swenshuai.xi# define YYCOPY(To, From, Count) \ 374*53ee8cc1Swenshuai.xi do \ 375*53ee8cc1Swenshuai.xi { \ 376*53ee8cc1Swenshuai.xi YYSIZE_T yyi; \ 377*53ee8cc1Swenshuai.xi for (yyi = 0; yyi < (Count); yyi++) \ 378*53ee8cc1Swenshuai.xi (To)[yyi] = (From)[yyi]; \ 379*53ee8cc1Swenshuai.xi } \ 380*53ee8cc1Swenshuai.xi while (YYID (0)) 381*53ee8cc1Swenshuai.xi# endif 382*53ee8cc1Swenshuai.xi# endif 383*53ee8cc1Swenshuai.xi 384*53ee8cc1Swenshuai.xi/* Relocate STACK from its old location to the new one. The 385*53ee8cc1Swenshuai.xi local variables YYSIZE and YYSTACKSIZE give the old and new number of 386*53ee8cc1Swenshuai.xi elements in the stack, and YYPTR gives the new location of the 387*53ee8cc1Swenshuai.xi stack. Advance YYPTR to a properly aligned location for the next 388*53ee8cc1Swenshuai.xi stack. */ 389*53ee8cc1Swenshuai.xi# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 390*53ee8cc1Swenshuai.xi do \ 391*53ee8cc1Swenshuai.xi { \ 392*53ee8cc1Swenshuai.xi YYSIZE_T yynewbytes; \ 393*53ee8cc1Swenshuai.xi YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 394*53ee8cc1Swenshuai.xi Stack = &yyptr->Stack_alloc; \ 395*53ee8cc1Swenshuai.xi yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 396*53ee8cc1Swenshuai.xi yyptr += yynewbytes / sizeof (*yyptr); \ 397*53ee8cc1Swenshuai.xi } \ 398*53ee8cc1Swenshuai.xi while (YYID (0)) 399*53ee8cc1Swenshuai.xi 400*53ee8cc1Swenshuai.xi#endif 401*53ee8cc1Swenshuai.xi 402*53ee8cc1Swenshuai.xi/* YYFINAL -- State number of the termination state. */ 403*53ee8cc1Swenshuai.xi#define YYFINAL 4 404*53ee8cc1Swenshuai.xi/* YYLAST -- Last index in YYTABLE. */ 405*53ee8cc1Swenshuai.xi#define YYLAST 532 406*53ee8cc1Swenshuai.xi 407*53ee8cc1Swenshuai.xi/* YYNTOKENS -- Number of terminals. */ 408*53ee8cc1Swenshuai.xi#define YYNTOKENS 53 409*53ee8cc1Swenshuai.xi/* YYNNTS -- Number of nonterminals. */ 410*53ee8cc1Swenshuai.xi#define YYNNTS 49 411*53ee8cc1Swenshuai.xi/* YYNRULES -- Number of rules. */ 412*53ee8cc1Swenshuai.xi#define YYNRULES 132 413*53ee8cc1Swenshuai.xi/* YYNRULES -- Number of states. */ 414*53ee8cc1Swenshuai.xi#define YYNSTATES 188 415*53ee8cc1Swenshuai.xi 416*53ee8cc1Swenshuai.xi/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 417*53ee8cc1Swenshuai.xi#define YYUNDEFTOK 2 418*53ee8cc1Swenshuai.xi#define YYMAXUTOK 298 419*53ee8cc1Swenshuai.xi 420*53ee8cc1Swenshuai.xi#define YYTRANSLATE(YYX) \ 421*53ee8cc1Swenshuai.xi ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 422*53ee8cc1Swenshuai.xi 423*53ee8cc1Swenshuai.xi/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 424*53ee8cc1Swenshuai.xistatic const yytype_uint8 yytranslate[] = 425*53ee8cc1Swenshuai.xi{ 426*53ee8cc1Swenshuai.xi 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 427*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 428*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 429*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 430*53ee8cc1Swenshuai.xi 47, 49, 48, 2, 46, 2, 2, 2, 2, 2, 431*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 52, 44, 432*53ee8cc1Swenshuai.xi 2, 50, 2, 2, 2, 2, 2, 2, 2, 2, 433*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 434*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 435*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 436*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 437*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 438*53ee8cc1Swenshuai.xi 2, 2, 2, 51, 2, 45, 2, 2, 2, 2, 439*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 440*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 441*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 442*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 443*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 444*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 445*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 446*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 447*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 448*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 449*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 450*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 451*53ee8cc1Swenshuai.xi 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 452*53ee8cc1Swenshuai.xi 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 453*53ee8cc1Swenshuai.xi 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 454*53ee8cc1Swenshuai.xi 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 455*53ee8cc1Swenshuai.xi 35, 36, 37, 38, 39, 40, 41, 42, 43 456*53ee8cc1Swenshuai.xi}; 457*53ee8cc1Swenshuai.xi 458*53ee8cc1Swenshuai.xi#if YYDEBUG 459*53ee8cc1Swenshuai.xi/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 460*53ee8cc1Swenshuai.xi YYRHS. */ 461*53ee8cc1Swenshuai.xistatic const yytype_uint16 yyprhs[] = 462*53ee8cc1Swenshuai.xi{ 463*53ee8cc1Swenshuai.xi 0, 0, 3, 5, 8, 9, 12, 13, 18, 19, 464*53ee8cc1Swenshuai.xi 23, 25, 27, 29, 31, 34, 37, 41, 42, 44, 465*53ee8cc1Swenshuai.xi 46, 50, 55, 56, 58, 60, 63, 65, 67, 69, 466*53ee8cc1Swenshuai.xi 71, 73, 75, 77, 79, 81, 87, 92, 95, 98, 467*53ee8cc1Swenshuai.xi 101, 105, 109, 113, 116, 119, 122, 124, 126, 128, 468*53ee8cc1Swenshuai.xi 130, 132, 134, 136, 138, 140, 142, 144, 147, 148, 469*53ee8cc1Swenshuai.xi 150, 152, 155, 157, 159, 161, 163, 166, 168, 170, 470*53ee8cc1Swenshuai.xi 175, 180, 183, 187, 191, 194, 196, 198, 200, 205, 471*53ee8cc1Swenshuai.xi 210, 213, 217, 221, 224, 226, 230, 231, 233, 235, 472*53ee8cc1Swenshuai.xi 239, 242, 245, 247, 248, 250, 252, 257, 262, 265, 473*53ee8cc1Swenshuai.xi 269, 273, 277, 278, 280, 283, 287, 291, 292, 294, 474*53ee8cc1Swenshuai.xi 296, 299, 303, 306, 307, 309, 311, 315, 318, 321, 475*53ee8cc1Swenshuai.xi 323, 326, 327, 330, 334, 339, 341, 345, 347, 351, 476*53ee8cc1Swenshuai.xi 354, 355, 357 477*53ee8cc1Swenshuai.xi}; 478*53ee8cc1Swenshuai.xi 479*53ee8cc1Swenshuai.xi/* YYRHS -- A `-1'-separated list of the rules' RHS. */ 480*53ee8cc1Swenshuai.xistatic const yytype_int8 yyrhs[] = 481*53ee8cc1Swenshuai.xi{ 482*53ee8cc1Swenshuai.xi 54, 0, -1, 55, -1, 54, 55, -1, -1, 56, 483*53ee8cc1Swenshuai.xi 57, -1, -1, 12, 23, 58, 60, -1, -1, 23, 484*53ee8cc1Swenshuai.xi 59, 60, -1, 60, -1, 84, -1, 99, -1, 101, 485*53ee8cc1Swenshuai.xi -1, 1, 44, -1, 1, 45, -1, 64, 61, 44, 486*53ee8cc1Swenshuai.xi -1, -1, 62, -1, 63, -1, 62, 46, 63, -1, 487*53ee8cc1Swenshuai.xi 74, 100, 95, 85, -1, -1, 65, -1, 66, -1, 488*53ee8cc1Swenshuai.xi 65, 66, -1, 67, -1, 68, -1, 5, -1, 17, 489*53ee8cc1Swenshuai.xi -1, 21, -1, 11, -1, 14, -1, 69, -1, 73, 490*53ee8cc1Swenshuai.xi -1, 28, 47, 65, 48, 49, -1, 28, 47, 65, 491*53ee8cc1Swenshuai.xi 49, -1, 22, 37, -1, 24, 37, -1, 10, 37, 492*53ee8cc1Swenshuai.xi -1, 22, 37, 87, -1, 24, 37, 87, -1, 10, 493*53ee8cc1Swenshuai.xi 37, 96, -1, 10, 96, -1, 22, 87, -1, 24, 494*53ee8cc1Swenshuai.xi 87, -1, 7, -1, 19, -1, 15, -1, 16, -1, 495*53ee8cc1Swenshuai.xi 20, -1, 25, -1, 13, -1, 9, -1, 26, -1, 496*53ee8cc1Swenshuai.xi 6, -1, 41, -1, 48, 71, -1, -1, 72, -1, 497*53ee8cc1Swenshuai.xi 73, -1, 72, 73, -1, 8, -1, 27, -1, 31, 498*53ee8cc1Swenshuai.xi -1, 18, -1, 70, 74, -1, 75, -1, 37, -1, 499*53ee8cc1Swenshuai.xi 75, 47, 78, 49, -1, 75, 47, 1, 49, -1, 500*53ee8cc1Swenshuai.xi 75, 33, -1, 47, 74, 49, -1, 47, 1, 49, 501*53ee8cc1Swenshuai.xi -1, 70, 76, -1, 77, -1, 37, -1, 41, -1, 502*53ee8cc1Swenshuai.xi 77, 47, 78, 49, -1, 77, 47, 1, 49, -1, 503*53ee8cc1Swenshuai.xi 77, 33, -1, 47, 76, 49, -1, 47, 1, 49, 504*53ee8cc1Swenshuai.xi -1, 79, 36, -1, 79, -1, 80, 46, 36, -1, 505*53ee8cc1Swenshuai.xi -1, 80, -1, 81, -1, 80, 46, 81, -1, 65, 506*53ee8cc1Swenshuai.xi 82, -1, 70, 82, -1, 83, -1, -1, 37, -1, 507*53ee8cc1Swenshuai.xi 41, -1, 83, 47, 78, 49, -1, 83, 47, 1, 508*53ee8cc1Swenshuai.xi 49, -1, 83, 33, -1, 47, 82, 49, -1, 47, 509*53ee8cc1Swenshuai.xi 1, 49, -1, 64, 74, 32, -1, -1, 86, -1, 510*53ee8cc1Swenshuai.xi 50, 34, -1, 51, 88, 45, -1, 51, 1, 45, 511*53ee8cc1Swenshuai.xi -1, -1, 89, -1, 90, -1, 89, 90, -1, 64, 512*53ee8cc1Swenshuai.xi 91, 44, -1, 1, 44, -1, -1, 92, -1, 93, 513*53ee8cc1Swenshuai.xi -1, 92, 46, 93, -1, 76, 95, -1, 37, 94, 514*53ee8cc1Swenshuai.xi -1, 94, -1, 52, 34, -1, -1, 95, 31, -1, 515*53ee8cc1Swenshuai.xi 51, 97, 45, -1, 51, 97, 46, 45, -1, 98, 516*53ee8cc1Swenshuai.xi -1, 97, 46, 98, -1, 37, -1, 37, 50, 34, 517*53ee8cc1Swenshuai.xi -1, 30, 44, -1, -1, 30, -1, 29, 47, 37, 518*53ee8cc1Swenshuai.xi 49, 44, -1 519*53ee8cc1Swenshuai.xi}; 520*53ee8cc1Swenshuai.xi 521*53ee8cc1Swenshuai.xi/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 522*53ee8cc1Swenshuai.xistatic const yytype_uint16 yyrline[] = 523*53ee8cc1Swenshuai.xi{ 524*53ee8cc1Swenshuai.xi 0, 104, 104, 105, 109, 109, 115, 115, 117, 117, 525*53ee8cc1Swenshuai.xi 119, 120, 121, 122, 123, 124, 128, 142, 143, 147, 526*53ee8cc1Swenshuai.xi 155, 168, 174, 175, 179, 180, 184, 190, 194, 195, 527*53ee8cc1Swenshuai.xi 196, 197, 198, 202, 203, 204, 205, 209, 211, 213, 528*53ee8cc1Swenshuai.xi 217, 224, 231, 241, 244, 245, 249, 250, 251, 252, 529*53ee8cc1Swenshuai.xi 253, 254, 255, 256, 257, 258, 259, 263, 268, 269, 530*53ee8cc1Swenshuai.xi 273, 274, 278, 278, 278, 279, 287, 288, 292, 301, 531*53ee8cc1Swenshuai.xi 303, 305, 307, 309, 316, 317, 321, 322, 323, 325, 532*53ee8cc1Swenshuai.xi 327, 329, 331, 336, 337, 338, 342, 343, 347, 348, 533*53ee8cc1Swenshuai.xi 353, 358, 360, 364, 365, 373, 377, 379, 381, 383, 534*53ee8cc1Swenshuai.xi 385, 390, 399, 400, 405, 410, 411, 415, 416, 420, 535*53ee8cc1Swenshuai.xi 421, 425, 427, 432, 433, 437, 438, 442, 443, 444, 536*53ee8cc1Swenshuai.xi 448, 452, 453, 457, 458, 462, 463, 466, 471, 479, 537*53ee8cc1Swenshuai.xi 483, 484, 488 538*53ee8cc1Swenshuai.xi}; 539*53ee8cc1Swenshuai.xi#endif 540*53ee8cc1Swenshuai.xi 541*53ee8cc1Swenshuai.xi#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 542*53ee8cc1Swenshuai.xi/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 543*53ee8cc1Swenshuai.xi First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 544*53ee8cc1Swenshuai.xistatic const char *const yytname[] = 545*53ee8cc1Swenshuai.xi{ 546*53ee8cc1Swenshuai.xi "$end", "error", "$undefined", "ASM_KEYW", "ATTRIBUTE_KEYW", 547*53ee8cc1Swenshuai.xi "AUTO_KEYW", "BOOL_KEYW", "CHAR_KEYW", "CONST_KEYW", "DOUBLE_KEYW", 548*53ee8cc1Swenshuai.xi "ENUM_KEYW", "EXTERN_KEYW", "EXTENSION_KEYW", "FLOAT_KEYW", 549*53ee8cc1Swenshuai.xi "INLINE_KEYW", "INT_KEYW", "LONG_KEYW", "REGISTER_KEYW", "RESTRICT_KEYW", 550*53ee8cc1Swenshuai.xi "SHORT_KEYW", "SIGNED_KEYW", "STATIC_KEYW", "STRUCT_KEYW", 551*53ee8cc1Swenshuai.xi "TYPEDEF_KEYW", "UNION_KEYW", "UNSIGNED_KEYW", "VOID_KEYW", 552*53ee8cc1Swenshuai.xi "VOLATILE_KEYW", "TYPEOF_KEYW", "EXPORT_SYMBOL_KEYW", "ASM_PHRASE", 553*53ee8cc1Swenshuai.xi "ATTRIBUTE_PHRASE", "BRACE_PHRASE", "BRACKET_PHRASE", 554*53ee8cc1Swenshuai.xi "EXPRESSION_PHRASE", "CHAR", "DOTS", "IDENT", "INT", "REAL", "STRING", 555*53ee8cc1Swenshuai.xi "TYPE", "OTHER", "FILENAME", "';'", "'}'", "','", "'('", "'*'", "')'", 556*53ee8cc1Swenshuai.xi "'='", "'{'", "':'", "$accept", "declaration_seq", "declaration", "$@1", 557*53ee8cc1Swenshuai.xi "declaration1", "$@2", "$@3", "simple_declaration", 558*53ee8cc1Swenshuai.xi "init_declarator_list_opt", "init_declarator_list", "init_declarator", 559*53ee8cc1Swenshuai.xi "decl_specifier_seq_opt", "decl_specifier_seq", "decl_specifier", 560*53ee8cc1Swenshuai.xi "storage_class_specifier", "type_specifier", "simple_type_specifier", 561*53ee8cc1Swenshuai.xi "ptr_operator", "cvar_qualifier_seq_opt", "cvar_qualifier_seq", 562*53ee8cc1Swenshuai.xi "cvar_qualifier", "declarator", "direct_declarator", "nested_declarator", 563*53ee8cc1Swenshuai.xi "direct_nested_declarator", "parameter_declaration_clause", 564*53ee8cc1Swenshuai.xi "parameter_declaration_list_opt", "parameter_declaration_list", 565*53ee8cc1Swenshuai.xi "parameter_declaration", "m_abstract_declarator", 566*53ee8cc1Swenshuai.xi "direct_m_abstract_declarator", "function_definition", "initializer_opt", 567*53ee8cc1Swenshuai.xi "initializer", "class_body", "member_specification_opt", 568*53ee8cc1Swenshuai.xi "member_specification", "member_declaration", 569*53ee8cc1Swenshuai.xi "member_declarator_list_opt", "member_declarator_list", 570*53ee8cc1Swenshuai.xi "member_declarator", "member_bitfield_declarator", "attribute_opt", 571*53ee8cc1Swenshuai.xi "enum_body", "enumerator_list", "enumerator", "asm_definition", 572*53ee8cc1Swenshuai.xi "asm_phrase_opt", "export_definition", 0 573*53ee8cc1Swenshuai.xi}; 574*53ee8cc1Swenshuai.xi#endif 575*53ee8cc1Swenshuai.xi 576*53ee8cc1Swenshuai.xi# ifdef YYPRINT 577*53ee8cc1Swenshuai.xi/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 578*53ee8cc1Swenshuai.xi token YYLEX-NUM. */ 579*53ee8cc1Swenshuai.xistatic const yytype_uint16 yytoknum[] = 580*53ee8cc1Swenshuai.xi{ 581*53ee8cc1Swenshuai.xi 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 582*53ee8cc1Swenshuai.xi 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 583*53ee8cc1Swenshuai.xi 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 584*53ee8cc1Swenshuai.xi 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 585*53ee8cc1Swenshuai.xi 295, 296, 297, 298, 59, 125, 44, 40, 42, 41, 586*53ee8cc1Swenshuai.xi 61, 123, 58 587*53ee8cc1Swenshuai.xi}; 588*53ee8cc1Swenshuai.xi# endif 589*53ee8cc1Swenshuai.xi 590*53ee8cc1Swenshuai.xi/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 591*53ee8cc1Swenshuai.xistatic const yytype_uint8 yyr1[] = 592*53ee8cc1Swenshuai.xi{ 593*53ee8cc1Swenshuai.xi 0, 53, 54, 54, 56, 55, 58, 57, 59, 57, 594*53ee8cc1Swenshuai.xi 57, 57, 57, 57, 57, 57, 60, 61, 61, 62, 595*53ee8cc1Swenshuai.xi 62, 63, 64, 64, 65, 65, 66, 66, 67, 67, 596*53ee8cc1Swenshuai.xi 67, 67, 67, 68, 68, 68, 68, 68, 68, 68, 597*53ee8cc1Swenshuai.xi 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 598*53ee8cc1Swenshuai.xi 69, 69, 69, 69, 69, 69, 69, 70, 71, 71, 599*53ee8cc1Swenshuai.xi 72, 72, 73, 73, 73, 73, 74, 74, 75, 75, 600*53ee8cc1Swenshuai.xi 75, 75, 75, 75, 76, 76, 77, 77, 77, 77, 601*53ee8cc1Swenshuai.xi 77, 77, 77, 78, 78, 78, 79, 79, 80, 80, 602*53ee8cc1Swenshuai.xi 81, 82, 82, 83, 83, 83, 83, 83, 83, 83, 603*53ee8cc1Swenshuai.xi 83, 84, 85, 85, 86, 87, 87, 88, 88, 89, 604*53ee8cc1Swenshuai.xi 89, 90, 90, 91, 91, 92, 92, 93, 93, 93, 605*53ee8cc1Swenshuai.xi 94, 95, 95, 96, 96, 97, 97, 98, 98, 99, 606*53ee8cc1Swenshuai.xi 100, 100, 101 607*53ee8cc1Swenshuai.xi}; 608*53ee8cc1Swenshuai.xi 609*53ee8cc1Swenshuai.xi/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 610*53ee8cc1Swenshuai.xistatic const yytype_uint8 yyr2[] = 611*53ee8cc1Swenshuai.xi{ 612*53ee8cc1Swenshuai.xi 0, 2, 1, 2, 0, 2, 0, 4, 0, 3, 613*53ee8cc1Swenshuai.xi 1, 1, 1, 1, 2, 2, 3, 0, 1, 1, 614*53ee8cc1Swenshuai.xi 3, 4, 0, 1, 1, 2, 1, 1, 1, 1, 615*53ee8cc1Swenshuai.xi 1, 1, 1, 1, 1, 5, 4, 2, 2, 2, 616*53ee8cc1Swenshuai.xi 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 617*53ee8cc1Swenshuai.xi 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 618*53ee8cc1Swenshuai.xi 1, 2, 1, 1, 1, 1, 2, 1, 1, 4, 619*53ee8cc1Swenshuai.xi 4, 2, 3, 3, 2, 1, 1, 1, 4, 4, 620*53ee8cc1Swenshuai.xi 2, 3, 3, 2, 1, 3, 0, 1, 1, 3, 621*53ee8cc1Swenshuai.xi 2, 2, 1, 0, 1, 1, 4, 4, 2, 3, 622*53ee8cc1Swenshuai.xi 3, 3, 0, 1, 2, 3, 3, 0, 1, 1, 623*53ee8cc1Swenshuai.xi 2, 3, 2, 0, 1, 1, 3, 2, 2, 1, 624*53ee8cc1Swenshuai.xi 2, 0, 2, 3, 4, 1, 3, 1, 3, 2, 625*53ee8cc1Swenshuai.xi 0, 1, 5 626*53ee8cc1Swenshuai.xi}; 627*53ee8cc1Swenshuai.xi 628*53ee8cc1Swenshuai.xi/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state 629*53ee8cc1Swenshuai.xi STATE-NUM when YYTABLE doesn't specify something else to do. Zero 630*53ee8cc1Swenshuai.xi means the default is an error. */ 631*53ee8cc1Swenshuai.xistatic const yytype_uint8 yydefact[] = 632*53ee8cc1Swenshuai.xi{ 633*53ee8cc1Swenshuai.xi 4, 4, 2, 0, 1, 3, 0, 28, 55, 46, 634*53ee8cc1Swenshuai.xi 62, 53, 0, 31, 0, 52, 32, 48, 49, 29, 635*53ee8cc1Swenshuai.xi 65, 47, 50, 30, 0, 8, 0, 51, 54, 63, 636*53ee8cc1Swenshuai.xi 0, 0, 0, 64, 56, 5, 10, 17, 23, 24, 637*53ee8cc1Swenshuai.xi 26, 27, 33, 34, 11, 12, 13, 14, 15, 39, 638*53ee8cc1Swenshuai.xi 0, 43, 6, 37, 0, 44, 22, 38, 45, 0, 639*53ee8cc1Swenshuai.xi 0, 129, 68, 0, 58, 0, 18, 19, 0, 130, 640*53ee8cc1Swenshuai.xi 67, 25, 42, 127, 0, 125, 22, 40, 0, 113, 641*53ee8cc1Swenshuai.xi 0, 0, 109, 9, 17, 41, 0, 0, 0, 0, 642*53ee8cc1Swenshuai.xi 57, 59, 60, 16, 0, 66, 131, 101, 121, 71, 643*53ee8cc1Swenshuai.xi 0, 0, 123, 0, 7, 112, 106, 76, 77, 0, 644*53ee8cc1Swenshuai.xi 0, 0, 121, 75, 0, 114, 115, 119, 105, 0, 645*53ee8cc1Swenshuai.xi 110, 130, 0, 36, 0, 73, 72, 61, 20, 102, 646*53ee8cc1Swenshuai.xi 0, 93, 0, 84, 87, 88, 128, 124, 126, 118, 647*53ee8cc1Swenshuai.xi 0, 76, 0, 120, 74, 117, 80, 0, 111, 0, 648*53ee8cc1Swenshuai.xi 35, 132, 122, 0, 21, 103, 70, 94, 56, 0, 649*53ee8cc1Swenshuai.xi 93, 90, 92, 69, 83, 0, 82, 81, 0, 0, 650*53ee8cc1Swenshuai.xi 116, 104, 0, 95, 0, 91, 98, 0, 85, 89, 651*53ee8cc1Swenshuai.xi 79, 78, 100, 99, 0, 0, 97, 96 652*53ee8cc1Swenshuai.xi}; 653*53ee8cc1Swenshuai.xi 654*53ee8cc1Swenshuai.xi/* YYDEFGOTO[NTERM-NUM]. */ 655*53ee8cc1Swenshuai.xistatic const yytype_int16 yydefgoto[] = 656*53ee8cc1Swenshuai.xi{ 657*53ee8cc1Swenshuai.xi -1, 1, 2, 3, 35, 76, 56, 36, 65, 66, 658*53ee8cc1Swenshuai.xi 67, 79, 38, 39, 40, 41, 42, 68, 90, 91, 659*53ee8cc1Swenshuai.xi 43, 121, 70, 112, 113, 132, 133, 134, 135, 161, 660*53ee8cc1Swenshuai.xi 162, 44, 154, 155, 55, 80, 81, 82, 114, 115, 661*53ee8cc1Swenshuai.xi 116, 117, 129, 51, 74, 75, 45, 98, 46 662*53ee8cc1Swenshuai.xi}; 663*53ee8cc1Swenshuai.xi 664*53ee8cc1Swenshuai.xi/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 665*53ee8cc1Swenshuai.xi STATE-NUM. */ 666*53ee8cc1Swenshuai.xi#define YYPACT_NINF -135 667*53ee8cc1Swenshuai.xistatic const yytype_int16 yypact[] = 668*53ee8cc1Swenshuai.xi{ 669*53ee8cc1Swenshuai.xi -135, 20, -135, 321, -135, -135, 30, -135, -135, -135, 670*53ee8cc1Swenshuai.xi -135, -135, -28, -135, 2, -135, -135, -135, -135, -135, 671*53ee8cc1Swenshuai.xi -135, -135, -135, -135, -6, -135, 9, -135, -135, -135, 672*53ee8cc1Swenshuai.xi -5, 15, -17, -135, -135, -135, -135, 18, 491, -135, 673*53ee8cc1Swenshuai.xi -135, -135, -135, -135, -135, -135, -135, -135, -135, -22, 674*53ee8cc1Swenshuai.xi 31, -135, -135, 19, 106, -135, 491, 19, -135, 491, 675*53ee8cc1Swenshuai.xi 50, -135, -135, 11, -3, 51, 57, -135, 18, -14, 676*53ee8cc1Swenshuai.xi 14, -135, -135, 48, 46, -135, 491, -135, 33, 32, 677*53ee8cc1Swenshuai.xi 59, 154, -135, -135, 18, -135, 365, 56, 60, 61, 678*53ee8cc1Swenshuai.xi -135, -3, -135, -135, 18, -135, -135, -135, -135, -135, 679*53ee8cc1Swenshuai.xi 202, 74, -135, -23, -135, -135, -135, 77, -135, 16, 680*53ee8cc1Swenshuai.xi 101, 49, -135, 34, 92, 93, -135, -135, -135, 94, 681*53ee8cc1Swenshuai.xi -135, 110, 95, -135, 97, -135, -135, -135, -135, -20, 682*53ee8cc1Swenshuai.xi 96, 410, 99, 113, 100, -135, -135, -135, -135, -135, 683*53ee8cc1Swenshuai.xi 103, -135, 107, -135, -135, 111, -135, 239, -135, 32, 684*53ee8cc1Swenshuai.xi -135, -135, -135, 123, -135, -135, -135, -135, -135, 3, 685*53ee8cc1Swenshuai.xi 52, -135, 38, -135, -135, 454, -135, -135, 117, 128, 686*53ee8cc1Swenshuai.xi -135, -135, 134, -135, 135, -135, -135, 276, -135, -135, 687*53ee8cc1Swenshuai.xi -135, -135, -135, -135, 137, 138, -135, -135 688*53ee8cc1Swenshuai.xi}; 689*53ee8cc1Swenshuai.xi 690*53ee8cc1Swenshuai.xi/* YYPGOTO[NTERM-NUM]. */ 691*53ee8cc1Swenshuai.xistatic const yytype_int16 yypgoto[] = 692*53ee8cc1Swenshuai.xi{ 693*53ee8cc1Swenshuai.xi -135, -135, 187, -135, -135, -135, -135, -50, -135, -135, 694*53ee8cc1Swenshuai.xi 98, 0, -59, -37, -135, -135, -135, -77, -135, -135, 695*53ee8cc1Swenshuai.xi -54, -30, -135, -90, -135, -134, -135, -135, 24, -58, 696*53ee8cc1Swenshuai.xi -135, -135, -135, -135, -18, -135, -135, 109, -135, -135, 697*53ee8cc1Swenshuai.xi 44, 87, 84, 148, -135, 102, -135, -135, -135 698*53ee8cc1Swenshuai.xi}; 699*53ee8cc1Swenshuai.xi 700*53ee8cc1Swenshuai.xi/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 701*53ee8cc1Swenshuai.xi positive, shift that token. If negative, reduce the rule which 702*53ee8cc1Swenshuai.xi number is the opposite. If zero, do what YYDEFACT says. 703*53ee8cc1Swenshuai.xi If YYTABLE_NINF, syntax error. */ 704*53ee8cc1Swenshuai.xi#define YYTABLE_NINF -109 705*53ee8cc1Swenshuai.xistatic const yytype_int16 yytable[] = 706*53ee8cc1Swenshuai.xi{ 707*53ee8cc1Swenshuai.xi 86, 71, 111, 37, 172, 10, 83, 69, 58, 49, 708*53ee8cc1Swenshuai.xi 92, 152, 88, 169, 73, 20, 96, 140, 97, 142, 709*53ee8cc1Swenshuai.xi 4, 144, 137, 50, 29, 52, 104, 61, 33, 50, 710*53ee8cc1Swenshuai.xi 153, 53, 111, 89, 111, 77, -93, 127, 95, 85, 711*53ee8cc1Swenshuai.xi 157, 131, 59, 185, 173, 54, 57, 99, 62, 71, 712*53ee8cc1Swenshuai.xi 159, 64, -93, 141, 160, 62, 84, 108, 63, 64, 713*53ee8cc1Swenshuai.xi 54, 100, 60, 109, 64, 63, 64, 146, 73, 107, 714*53ee8cc1Swenshuai.xi 54, 176, 111, 108, 47, 48, 84, 105, 106, 109, 715*53ee8cc1Swenshuai.xi 64, 147, 160, 160, 110, 177, 141, 87, 131, 157, 716*53ee8cc1Swenshuai.xi 108, 102, 103, 173, 71, 93, 109, 64, 101, 159, 717*53ee8cc1Swenshuai.xi 64, 174, 175, 94, 118, 124, 131, 78, 136, 125, 718*53ee8cc1Swenshuai.xi 126, 7, 8, 9, 10, 11, 12, 13, 131, 15, 719*53ee8cc1Swenshuai.xi 16, 17, 18, 19, 20, 21, 22, 23, 24, 110, 720*53ee8cc1Swenshuai.xi 26, 27, 28, 29, 30, 143, 148, 33, 105, 149, 721*53ee8cc1Swenshuai.xi 96, 151, 152, -22, 150, 156, 165, 34, 163, 164, 722*53ee8cc1Swenshuai.xi -22, -107, 166, -22, -22, 119, 167, 171, -22, 7, 723*53ee8cc1Swenshuai.xi 8, 9, 10, 11, 12, 13, 180, 15, 16, 17, 724*53ee8cc1Swenshuai.xi 18, 19, 20, 21, 22, 23, 24, 181, 26, 27, 725*53ee8cc1Swenshuai.xi 28, 29, 30, 182, 183, 33, 186, 187, 5, 179, 726*53ee8cc1Swenshuai.xi 120, -22, 128, 170, 139, 34, 145, 72, -22, -108, 727*53ee8cc1Swenshuai.xi 0, -22, -22, 130, 0, 138, -22, 7, 8, 9, 728*53ee8cc1Swenshuai.xi 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 729*53ee8cc1Swenshuai.xi 20, 21, 22, 23, 24, 0, 26, 27, 28, 29, 730*53ee8cc1Swenshuai.xi 30, 0, 0, 33, 0, 0, 0, 0, -86, 0, 731*53ee8cc1Swenshuai.xi 168, 0, 0, 34, 7, 8, 9, 10, 11, 12, 732*53ee8cc1Swenshuai.xi 13, -86, 15, 16, 17, 18, 19, 20, 21, 22, 733*53ee8cc1Swenshuai.xi 23, 24, 0, 26, 27, 28, 29, 30, 0, 0, 734*53ee8cc1Swenshuai.xi 33, 0, 0, 0, 0, -86, 0, 184, 0, 0, 735*53ee8cc1Swenshuai.xi 34, 7, 8, 9, 10, 11, 12, 13, -86, 15, 736*53ee8cc1Swenshuai.xi 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 737*53ee8cc1Swenshuai.xi 26, 27, 28, 29, 30, 0, 0, 33, 0, 0, 738*53ee8cc1Swenshuai.xi 0, 0, -86, 0, 0, 0, 0, 34, 0, 0, 739*53ee8cc1Swenshuai.xi 0, 0, 6, 0, 0, -86, 7, 8, 9, 10, 740*53ee8cc1Swenshuai.xi 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 741*53ee8cc1Swenshuai.xi 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 742*53ee8cc1Swenshuai.xi 31, 32, 33, 0, 0, 0, 0, 0, -22, 0, 743*53ee8cc1Swenshuai.xi 0, 0, 34, 0, 0, -22, 0, 0, -22, -22, 744*53ee8cc1Swenshuai.xi 7, 8, 9, 10, 11, 12, 13, 0, 15, 16, 745*53ee8cc1Swenshuai.xi 17, 18, 19, 20, 21, 22, 23, 24, 0, 26, 746*53ee8cc1Swenshuai.xi 27, 28, 29, 30, 0, 0, 33, 0, 0, 0, 747*53ee8cc1Swenshuai.xi 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 748*53ee8cc1Swenshuai.xi 0, 0, 0, 122, 123, 7, 8, 9, 10, 11, 749*53ee8cc1Swenshuai.xi 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 750*53ee8cc1Swenshuai.xi 22, 23, 24, 0, 26, 27, 28, 29, 30, 0, 751*53ee8cc1Swenshuai.xi 0, 33, 0, 0, 0, 0, 0, 157, 0, 0, 752*53ee8cc1Swenshuai.xi 0, 158, 0, 0, 0, 0, 0, 159, 64, 7, 753*53ee8cc1Swenshuai.xi 8, 9, 10, 11, 12, 13, 0, 15, 16, 17, 754*53ee8cc1Swenshuai.xi 18, 19, 20, 21, 22, 23, 24, 0, 26, 27, 755*53ee8cc1Swenshuai.xi 28, 29, 30, 0, 0, 33, 0, 0, 0, 0, 756*53ee8cc1Swenshuai.xi 178, 0, 0, 0, 0, 34, 7, 8, 9, 10, 757*53ee8cc1Swenshuai.xi 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 758*53ee8cc1Swenshuai.xi 21, 22, 23, 24, 0, 26, 27, 28, 29, 30, 759*53ee8cc1Swenshuai.xi 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 760*53ee8cc1Swenshuai.xi 0, 0, 34 761*53ee8cc1Swenshuai.xi}; 762*53ee8cc1Swenshuai.xi 763*53ee8cc1Swenshuai.xistatic const yytype_int16 yycheck[] = 764*53ee8cc1Swenshuai.xi{ 765*53ee8cc1Swenshuai.xi 59, 38, 79, 3, 1, 8, 56, 37, 26, 37, 766*53ee8cc1Swenshuai.xi 64, 31, 1, 147, 37, 18, 30, 1, 32, 109, 767*53ee8cc1Swenshuai.xi 0, 111, 45, 51, 27, 23, 76, 44, 31, 51, 768*53ee8cc1Swenshuai.xi 50, 37, 109, 63, 111, 53, 33, 91, 68, 57, 769*53ee8cc1Swenshuai.xi 37, 100, 47, 177, 41, 51, 37, 33, 37, 86, 770*53ee8cc1Swenshuai.xi 47, 48, 49, 37, 131, 37, 56, 41, 47, 48, 771*53ee8cc1Swenshuai.xi 51, 47, 47, 47, 48, 47, 48, 33, 37, 37, 772*53ee8cc1Swenshuai.xi 51, 33, 149, 41, 44, 45, 76, 44, 45, 47, 773*53ee8cc1Swenshuai.xi 48, 47, 159, 160, 52, 47, 37, 37, 147, 37, 774*53ee8cc1Swenshuai.xi 41, 45, 46, 41, 131, 44, 47, 48, 50, 47, 775*53ee8cc1Swenshuai.xi 48, 159, 160, 46, 45, 49, 165, 1, 34, 49, 776*53ee8cc1Swenshuai.xi 49, 5, 6, 7, 8, 9, 10, 11, 177, 13, 777*53ee8cc1Swenshuai.xi 14, 15, 16, 17, 18, 19, 20, 21, 22, 52, 778*53ee8cc1Swenshuai.xi 24, 25, 26, 27, 28, 34, 44, 31, 44, 46, 779*53ee8cc1Swenshuai.xi 30, 44, 31, 37, 49, 49, 46, 41, 49, 36, 780*53ee8cc1Swenshuai.xi 44, 45, 49, 47, 48, 1, 49, 34, 52, 5, 781*53ee8cc1Swenshuai.xi 6, 7, 8, 9, 10, 11, 49, 13, 14, 15, 782*53ee8cc1Swenshuai.xi 16, 17, 18, 19, 20, 21, 22, 49, 24, 25, 783*53ee8cc1Swenshuai.xi 26, 27, 28, 49, 49, 31, 49, 49, 1, 165, 784*53ee8cc1Swenshuai.xi 81, 37, 94, 149, 107, 41, 112, 49, 44, 45, 785*53ee8cc1Swenshuai.xi -1, 47, 48, 1, -1, 103, 52, 5, 6, 7, 786*53ee8cc1Swenshuai.xi 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 787*53ee8cc1Swenshuai.xi 18, 19, 20, 21, 22, -1, 24, 25, 26, 27, 788*53ee8cc1Swenshuai.xi 28, -1, -1, 31, -1, -1, -1, -1, 36, -1, 789*53ee8cc1Swenshuai.xi 1, -1, -1, 41, 5, 6, 7, 8, 9, 10, 790*53ee8cc1Swenshuai.xi 11, 49, 13, 14, 15, 16, 17, 18, 19, 20, 791*53ee8cc1Swenshuai.xi 21, 22, -1, 24, 25, 26, 27, 28, -1, -1, 792*53ee8cc1Swenshuai.xi 31, -1, -1, -1, -1, 36, -1, 1, -1, -1, 793*53ee8cc1Swenshuai.xi 41, 5, 6, 7, 8, 9, 10, 11, 49, 13, 794*53ee8cc1Swenshuai.xi 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, 795*53ee8cc1Swenshuai.xi 24, 25, 26, 27, 28, -1, -1, 31, -1, -1, 796*53ee8cc1Swenshuai.xi -1, -1, 36, -1, -1, -1, -1, 41, -1, -1, 797*53ee8cc1Swenshuai.xi -1, -1, 1, -1, -1, 49, 5, 6, 7, 8, 798*53ee8cc1Swenshuai.xi 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 799*53ee8cc1Swenshuai.xi 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 800*53ee8cc1Swenshuai.xi 29, 30, 31, -1, -1, -1, -1, -1, 37, -1, 801*53ee8cc1Swenshuai.xi -1, -1, 41, -1, -1, 44, -1, -1, 47, 48, 802*53ee8cc1Swenshuai.xi 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 803*53ee8cc1Swenshuai.xi 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, 804*53ee8cc1Swenshuai.xi 25, 26, 27, 28, -1, -1, 31, -1, -1, -1, 805*53ee8cc1Swenshuai.xi -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, 806*53ee8cc1Swenshuai.xi -1, -1, -1, 48, 49, 5, 6, 7, 8, 9, 807*53ee8cc1Swenshuai.xi 10, 11, -1, 13, 14, 15, 16, 17, 18, 19, 808*53ee8cc1Swenshuai.xi 20, 21, 22, -1, 24, 25, 26, 27, 28, -1, 809*53ee8cc1Swenshuai.xi -1, 31, -1, -1, -1, -1, -1, 37, -1, -1, 810*53ee8cc1Swenshuai.xi -1, 41, -1, -1, -1, -1, -1, 47, 48, 5, 811*53ee8cc1Swenshuai.xi 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 812*53ee8cc1Swenshuai.xi 16, 17, 18, 19, 20, 21, 22, -1, 24, 25, 813*53ee8cc1Swenshuai.xi 26, 27, 28, -1, -1, 31, -1, -1, -1, -1, 814*53ee8cc1Swenshuai.xi 36, -1, -1, -1, -1, 41, 5, 6, 7, 8, 815*53ee8cc1Swenshuai.xi 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, 816*53ee8cc1Swenshuai.xi 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 817*53ee8cc1Swenshuai.xi -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, 818*53ee8cc1Swenshuai.xi -1, -1, 41 819*53ee8cc1Swenshuai.xi}; 820*53ee8cc1Swenshuai.xi 821*53ee8cc1Swenshuai.xi/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 822*53ee8cc1Swenshuai.xi symbol of state STATE-NUM. */ 823*53ee8cc1Swenshuai.xistatic const yytype_uint8 yystos[] = 824*53ee8cc1Swenshuai.xi{ 825*53ee8cc1Swenshuai.xi 0, 54, 55, 56, 0, 55, 1, 5, 6, 7, 826*53ee8cc1Swenshuai.xi 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 827*53ee8cc1Swenshuai.xi 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 828*53ee8cc1Swenshuai.xi 28, 29, 30, 31, 41, 57, 60, 64, 65, 66, 829*53ee8cc1Swenshuai.xi 67, 68, 69, 73, 84, 99, 101, 44, 45, 37, 830*53ee8cc1Swenshuai.xi 51, 96, 23, 37, 51, 87, 59, 37, 87, 47, 831*53ee8cc1Swenshuai.xi 47, 44, 37, 47, 48, 61, 62, 63, 70, 74, 832*53ee8cc1Swenshuai.xi 75, 66, 96, 37, 97, 98, 58, 87, 1, 64, 833*53ee8cc1Swenshuai.xi 88, 89, 90, 60, 64, 87, 65, 37, 1, 74, 834*53ee8cc1Swenshuai.xi 71, 72, 73, 44, 46, 74, 30, 32, 100, 33, 835*53ee8cc1Swenshuai.xi 47, 50, 45, 46, 60, 44, 45, 37, 41, 47, 836*53ee8cc1Swenshuai.xi 52, 70, 76, 77, 91, 92, 93, 94, 45, 1, 837*53ee8cc1Swenshuai.xi 90, 74, 48, 49, 49, 49, 49, 73, 63, 95, 838*53ee8cc1Swenshuai.xi 1, 65, 78, 79, 80, 81, 34, 45, 98, 94, 839*53ee8cc1Swenshuai.xi 1, 37, 76, 34, 76, 95, 33, 47, 44, 46, 840*53ee8cc1Swenshuai.xi 49, 44, 31, 50, 85, 86, 49, 37, 41, 47, 841*53ee8cc1Swenshuai.xi 70, 82, 83, 49, 36, 46, 49, 49, 1, 78, 842*53ee8cc1Swenshuai.xi 93, 34, 1, 41, 82, 82, 33, 47, 36, 81, 843*53ee8cc1Swenshuai.xi 49, 49, 49, 49, 1, 78, 49, 49 844*53ee8cc1Swenshuai.xi}; 845*53ee8cc1Swenshuai.xi 846*53ee8cc1Swenshuai.xi#define yyerrok (yyerrstatus = 0) 847*53ee8cc1Swenshuai.xi#define yyclearin (yychar = YYEMPTY) 848*53ee8cc1Swenshuai.xi#define YYEMPTY (-2) 849*53ee8cc1Swenshuai.xi#define YYEOF 0 850*53ee8cc1Swenshuai.xi 851*53ee8cc1Swenshuai.xi#define YYACCEPT goto yyacceptlab 852*53ee8cc1Swenshuai.xi#define YYABORT goto yyabortlab 853*53ee8cc1Swenshuai.xi#define YYERROR goto yyerrorlab 854*53ee8cc1Swenshuai.xi 855*53ee8cc1Swenshuai.xi 856*53ee8cc1Swenshuai.xi/* Like YYERROR except do call yyerror. This remains here temporarily 857*53ee8cc1Swenshuai.xi to ease the transition to the new meaning of YYERROR, for GCC. 858*53ee8cc1Swenshuai.xi Once GCC version 2 has supplanted version 1, this can go. */ 859*53ee8cc1Swenshuai.xi 860*53ee8cc1Swenshuai.xi#define YYFAIL goto yyerrlab 861*53ee8cc1Swenshuai.xi 862*53ee8cc1Swenshuai.xi#define YYRECOVERING() (!!yyerrstatus) 863*53ee8cc1Swenshuai.xi 864*53ee8cc1Swenshuai.xi#define YYBACKUP(Token, Value) \ 865*53ee8cc1Swenshuai.xido \ 866*53ee8cc1Swenshuai.xi if (yychar == YYEMPTY && yylen == 1) \ 867*53ee8cc1Swenshuai.xi { \ 868*53ee8cc1Swenshuai.xi yychar = (Token); \ 869*53ee8cc1Swenshuai.xi yylval = (Value); \ 870*53ee8cc1Swenshuai.xi yytoken = YYTRANSLATE (yychar); \ 871*53ee8cc1Swenshuai.xi YYPOPSTACK (1); \ 872*53ee8cc1Swenshuai.xi goto yybackup; \ 873*53ee8cc1Swenshuai.xi } \ 874*53ee8cc1Swenshuai.xi else \ 875*53ee8cc1Swenshuai.xi { \ 876*53ee8cc1Swenshuai.xi yyerror (YY_("syntax error: cannot back up")); \ 877*53ee8cc1Swenshuai.xi YYERROR; \ 878*53ee8cc1Swenshuai.xi } \ 879*53ee8cc1Swenshuai.xiwhile (YYID (0)) 880*53ee8cc1Swenshuai.xi 881*53ee8cc1Swenshuai.xi 882*53ee8cc1Swenshuai.xi#define YYTERROR 1 883*53ee8cc1Swenshuai.xi#define YYERRCODE 256 884*53ee8cc1Swenshuai.xi 885*53ee8cc1Swenshuai.xi 886*53ee8cc1Swenshuai.xi/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 887*53ee8cc1Swenshuai.xi If N is 0, then set CURRENT to the empty location which ends 888*53ee8cc1Swenshuai.xi the previous symbol: RHS[0] (always defined). */ 889*53ee8cc1Swenshuai.xi 890*53ee8cc1Swenshuai.xi#define YYRHSLOC(Rhs, K) ((Rhs)[K]) 891*53ee8cc1Swenshuai.xi#ifndef YYLLOC_DEFAULT 892*53ee8cc1Swenshuai.xi# define YYLLOC_DEFAULT(Current, Rhs, N) \ 893*53ee8cc1Swenshuai.xi do \ 894*53ee8cc1Swenshuai.xi if (YYID (N)) \ 895*53ee8cc1Swenshuai.xi { \ 896*53ee8cc1Swenshuai.xi (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 897*53ee8cc1Swenshuai.xi (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 898*53ee8cc1Swenshuai.xi (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 899*53ee8cc1Swenshuai.xi (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 900*53ee8cc1Swenshuai.xi } \ 901*53ee8cc1Swenshuai.xi else \ 902*53ee8cc1Swenshuai.xi { \ 903*53ee8cc1Swenshuai.xi (Current).first_line = (Current).last_line = \ 904*53ee8cc1Swenshuai.xi YYRHSLOC (Rhs, 0).last_line; \ 905*53ee8cc1Swenshuai.xi (Current).first_column = (Current).last_column = \ 906*53ee8cc1Swenshuai.xi YYRHSLOC (Rhs, 0).last_column; \ 907*53ee8cc1Swenshuai.xi } \ 908*53ee8cc1Swenshuai.xi while (YYID (0)) 909*53ee8cc1Swenshuai.xi#endif 910*53ee8cc1Swenshuai.xi 911*53ee8cc1Swenshuai.xi 912*53ee8cc1Swenshuai.xi/* YY_LOCATION_PRINT -- Print the location on the stream. 913*53ee8cc1Swenshuai.xi This macro was not mandated originally: define only if we know 914*53ee8cc1Swenshuai.xi we won't break user code: when these are the locations we know. */ 915*53ee8cc1Swenshuai.xi 916*53ee8cc1Swenshuai.xi#ifndef YY_LOCATION_PRINT 917*53ee8cc1Swenshuai.xi# if YYLTYPE_IS_TRIVIAL 918*53ee8cc1Swenshuai.xi# define YY_LOCATION_PRINT(File, Loc) \ 919*53ee8cc1Swenshuai.xi fprintf (File, "%d.%d-%d.%d", \ 920*53ee8cc1Swenshuai.xi (Loc).first_line, (Loc).first_column, \ 921*53ee8cc1Swenshuai.xi (Loc).last_line, (Loc).last_column) 922*53ee8cc1Swenshuai.xi# else 923*53ee8cc1Swenshuai.xi# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 924*53ee8cc1Swenshuai.xi# endif 925*53ee8cc1Swenshuai.xi#endif 926*53ee8cc1Swenshuai.xi 927*53ee8cc1Swenshuai.xi 928*53ee8cc1Swenshuai.xi/* YYLEX -- calling `yylex' with the right arguments. */ 929*53ee8cc1Swenshuai.xi 930*53ee8cc1Swenshuai.xi#ifdef YYLEX_PARAM 931*53ee8cc1Swenshuai.xi# define YYLEX yylex (YYLEX_PARAM) 932*53ee8cc1Swenshuai.xi#else 933*53ee8cc1Swenshuai.xi# define YYLEX yylex () 934*53ee8cc1Swenshuai.xi#endif 935*53ee8cc1Swenshuai.xi 936*53ee8cc1Swenshuai.xi/* Enable debugging if requested. */ 937*53ee8cc1Swenshuai.xi#if YYDEBUG 938*53ee8cc1Swenshuai.xi 939*53ee8cc1Swenshuai.xi# ifndef YYFPRINTF 940*53ee8cc1Swenshuai.xi# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 941*53ee8cc1Swenshuai.xi# define YYFPRINTF fprintf 942*53ee8cc1Swenshuai.xi# endif 943*53ee8cc1Swenshuai.xi 944*53ee8cc1Swenshuai.xi# define YYDPRINTF(Args) \ 945*53ee8cc1Swenshuai.xido { \ 946*53ee8cc1Swenshuai.xi if (yydebug) \ 947*53ee8cc1Swenshuai.xi YYFPRINTF Args; \ 948*53ee8cc1Swenshuai.xi} while (YYID (0)) 949*53ee8cc1Swenshuai.xi 950*53ee8cc1Swenshuai.xi# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 951*53ee8cc1Swenshuai.xido { \ 952*53ee8cc1Swenshuai.xi if (yydebug) \ 953*53ee8cc1Swenshuai.xi { \ 954*53ee8cc1Swenshuai.xi YYFPRINTF (stderr, "%s ", Title); \ 955*53ee8cc1Swenshuai.xi yy_symbol_print (stderr, \ 956*53ee8cc1Swenshuai.xi Type, Value); \ 957*53ee8cc1Swenshuai.xi YYFPRINTF (stderr, "\n"); \ 958*53ee8cc1Swenshuai.xi } \ 959*53ee8cc1Swenshuai.xi} while (YYID (0)) 960*53ee8cc1Swenshuai.xi 961*53ee8cc1Swenshuai.xi 962*53ee8cc1Swenshuai.xi/*--------------------------------. 963*53ee8cc1Swenshuai.xi| Print this symbol on YYOUTPUT. | 964*53ee8cc1Swenshuai.xi`--------------------------------*/ 965*53ee8cc1Swenshuai.xi 966*53ee8cc1Swenshuai.xi/*ARGSUSED*/ 967*53ee8cc1Swenshuai.xi#if (defined __STDC__ || defined __C99__FUNC__ \ 968*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 969*53ee8cc1Swenshuai.xistatic void 970*53ee8cc1Swenshuai.xiyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 971*53ee8cc1Swenshuai.xi#else 972*53ee8cc1Swenshuai.xistatic void 973*53ee8cc1Swenshuai.xiyy_symbol_value_print (yyoutput, yytype, yyvaluep) 974*53ee8cc1Swenshuai.xi FILE *yyoutput; 975*53ee8cc1Swenshuai.xi int yytype; 976*53ee8cc1Swenshuai.xi YYSTYPE const * const yyvaluep; 977*53ee8cc1Swenshuai.xi#endif 978*53ee8cc1Swenshuai.xi{ 979*53ee8cc1Swenshuai.xi if (!yyvaluep) 980*53ee8cc1Swenshuai.xi return; 981*53ee8cc1Swenshuai.xi# ifdef YYPRINT 982*53ee8cc1Swenshuai.xi if (yytype < YYNTOKENS) 983*53ee8cc1Swenshuai.xi YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 984*53ee8cc1Swenshuai.xi# else 985*53ee8cc1Swenshuai.xi YYUSE (yyoutput); 986*53ee8cc1Swenshuai.xi# endif 987*53ee8cc1Swenshuai.xi switch (yytype) 988*53ee8cc1Swenshuai.xi { 989*53ee8cc1Swenshuai.xi default: 990*53ee8cc1Swenshuai.xi break; 991*53ee8cc1Swenshuai.xi } 992*53ee8cc1Swenshuai.xi} 993*53ee8cc1Swenshuai.xi 994*53ee8cc1Swenshuai.xi 995*53ee8cc1Swenshuai.xi/*--------------------------------. 996*53ee8cc1Swenshuai.xi| Print this symbol on YYOUTPUT. | 997*53ee8cc1Swenshuai.xi`--------------------------------*/ 998*53ee8cc1Swenshuai.xi 999*53ee8cc1Swenshuai.xi#if (defined __STDC__ || defined __C99__FUNC__ \ 1000*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 1001*53ee8cc1Swenshuai.xistatic void 1002*53ee8cc1Swenshuai.xiyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1003*53ee8cc1Swenshuai.xi#else 1004*53ee8cc1Swenshuai.xistatic void 1005*53ee8cc1Swenshuai.xiyy_symbol_print (yyoutput, yytype, yyvaluep) 1006*53ee8cc1Swenshuai.xi FILE *yyoutput; 1007*53ee8cc1Swenshuai.xi int yytype; 1008*53ee8cc1Swenshuai.xi YYSTYPE const * const yyvaluep; 1009*53ee8cc1Swenshuai.xi#endif 1010*53ee8cc1Swenshuai.xi{ 1011*53ee8cc1Swenshuai.xi if (yytype < YYNTOKENS) 1012*53ee8cc1Swenshuai.xi YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 1013*53ee8cc1Swenshuai.xi else 1014*53ee8cc1Swenshuai.xi YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 1015*53ee8cc1Swenshuai.xi 1016*53ee8cc1Swenshuai.xi yy_symbol_value_print (yyoutput, yytype, yyvaluep); 1017*53ee8cc1Swenshuai.xi YYFPRINTF (yyoutput, ")"); 1018*53ee8cc1Swenshuai.xi} 1019*53ee8cc1Swenshuai.xi 1020*53ee8cc1Swenshuai.xi/*------------------------------------------------------------------. 1021*53ee8cc1Swenshuai.xi| yy_stack_print -- Print the state stack from its BOTTOM up to its | 1022*53ee8cc1Swenshuai.xi| TOP (included). | 1023*53ee8cc1Swenshuai.xi`------------------------------------------------------------------*/ 1024*53ee8cc1Swenshuai.xi 1025*53ee8cc1Swenshuai.xi#if (defined __STDC__ || defined __C99__FUNC__ \ 1026*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 1027*53ee8cc1Swenshuai.xistatic void 1028*53ee8cc1Swenshuai.xiyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 1029*53ee8cc1Swenshuai.xi#else 1030*53ee8cc1Swenshuai.xistatic void 1031*53ee8cc1Swenshuai.xiyy_stack_print (yybottom, yytop) 1032*53ee8cc1Swenshuai.xi yytype_int16 *yybottom; 1033*53ee8cc1Swenshuai.xi yytype_int16 *yytop; 1034*53ee8cc1Swenshuai.xi#endif 1035*53ee8cc1Swenshuai.xi{ 1036*53ee8cc1Swenshuai.xi YYFPRINTF (stderr, "Stack now"); 1037*53ee8cc1Swenshuai.xi for (; yybottom <= yytop; yybottom++) 1038*53ee8cc1Swenshuai.xi { 1039*53ee8cc1Swenshuai.xi int yybot = *yybottom; 1040*53ee8cc1Swenshuai.xi YYFPRINTF (stderr, " %d", yybot); 1041*53ee8cc1Swenshuai.xi } 1042*53ee8cc1Swenshuai.xi YYFPRINTF (stderr, "\n"); 1043*53ee8cc1Swenshuai.xi} 1044*53ee8cc1Swenshuai.xi 1045*53ee8cc1Swenshuai.xi# define YY_STACK_PRINT(Bottom, Top) \ 1046*53ee8cc1Swenshuai.xido { \ 1047*53ee8cc1Swenshuai.xi if (yydebug) \ 1048*53ee8cc1Swenshuai.xi yy_stack_print ((Bottom), (Top)); \ 1049*53ee8cc1Swenshuai.xi} while (YYID (0)) 1050*53ee8cc1Swenshuai.xi 1051*53ee8cc1Swenshuai.xi 1052*53ee8cc1Swenshuai.xi/*------------------------------------------------. 1053*53ee8cc1Swenshuai.xi| Report that the YYRULE is going to be reduced. | 1054*53ee8cc1Swenshuai.xi`------------------------------------------------*/ 1055*53ee8cc1Swenshuai.xi 1056*53ee8cc1Swenshuai.xi#if (defined __STDC__ || defined __C99__FUNC__ \ 1057*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 1058*53ee8cc1Swenshuai.xistatic void 1059*53ee8cc1Swenshuai.xiyy_reduce_print (YYSTYPE *yyvsp, int yyrule) 1060*53ee8cc1Swenshuai.xi#else 1061*53ee8cc1Swenshuai.xistatic void 1062*53ee8cc1Swenshuai.xiyy_reduce_print (yyvsp, yyrule) 1063*53ee8cc1Swenshuai.xi YYSTYPE *yyvsp; 1064*53ee8cc1Swenshuai.xi int yyrule; 1065*53ee8cc1Swenshuai.xi#endif 1066*53ee8cc1Swenshuai.xi{ 1067*53ee8cc1Swenshuai.xi int yynrhs = yyr2[yyrule]; 1068*53ee8cc1Swenshuai.xi int yyi; 1069*53ee8cc1Swenshuai.xi unsigned long int yylno = yyrline[yyrule]; 1070*53ee8cc1Swenshuai.xi YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 1071*53ee8cc1Swenshuai.xi yyrule - 1, yylno); 1072*53ee8cc1Swenshuai.xi /* The symbols being reduced. */ 1073*53ee8cc1Swenshuai.xi for (yyi = 0; yyi < yynrhs; yyi++) 1074*53ee8cc1Swenshuai.xi { 1075*53ee8cc1Swenshuai.xi YYFPRINTF (stderr, " $%d = ", yyi + 1); 1076*53ee8cc1Swenshuai.xi yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 1077*53ee8cc1Swenshuai.xi &(yyvsp[(yyi + 1) - (yynrhs)]) 1078*53ee8cc1Swenshuai.xi ); 1079*53ee8cc1Swenshuai.xi YYFPRINTF (stderr, "\n"); 1080*53ee8cc1Swenshuai.xi } 1081*53ee8cc1Swenshuai.xi} 1082*53ee8cc1Swenshuai.xi 1083*53ee8cc1Swenshuai.xi# define YY_REDUCE_PRINT(Rule) \ 1084*53ee8cc1Swenshuai.xido { \ 1085*53ee8cc1Swenshuai.xi if (yydebug) \ 1086*53ee8cc1Swenshuai.xi yy_reduce_print (yyvsp, Rule); \ 1087*53ee8cc1Swenshuai.xi} while (YYID (0)) 1088*53ee8cc1Swenshuai.xi 1089*53ee8cc1Swenshuai.xi/* Nonzero means print parse trace. It is left uninitialized so that 1090*53ee8cc1Swenshuai.xi multiple parsers can coexist. */ 1091*53ee8cc1Swenshuai.xiint yydebug; 1092*53ee8cc1Swenshuai.xi#else /* !YYDEBUG */ 1093*53ee8cc1Swenshuai.xi# define YYDPRINTF(Args) 1094*53ee8cc1Swenshuai.xi# define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1095*53ee8cc1Swenshuai.xi# define YY_STACK_PRINT(Bottom, Top) 1096*53ee8cc1Swenshuai.xi# define YY_REDUCE_PRINT(Rule) 1097*53ee8cc1Swenshuai.xi#endif /* !YYDEBUG */ 1098*53ee8cc1Swenshuai.xi 1099*53ee8cc1Swenshuai.xi 1100*53ee8cc1Swenshuai.xi/* YYINITDEPTH -- initial size of the parser's stacks. */ 1101*53ee8cc1Swenshuai.xi#ifndef YYINITDEPTH 1102*53ee8cc1Swenshuai.xi# define YYINITDEPTH 200 1103*53ee8cc1Swenshuai.xi#endif 1104*53ee8cc1Swenshuai.xi 1105*53ee8cc1Swenshuai.xi/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 1106*53ee8cc1Swenshuai.xi if the built-in stack extension method is used). 1107*53ee8cc1Swenshuai.xi 1108*53ee8cc1Swenshuai.xi Do not make this value too large; the results are undefined if 1109*53ee8cc1Swenshuai.xi YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 1110*53ee8cc1Swenshuai.xi evaluated with infinite-precision integer arithmetic. */ 1111*53ee8cc1Swenshuai.xi 1112*53ee8cc1Swenshuai.xi#ifndef YYMAXDEPTH 1113*53ee8cc1Swenshuai.xi# define YYMAXDEPTH 10000 1114*53ee8cc1Swenshuai.xi#endif 1115*53ee8cc1Swenshuai.xi 1116*53ee8cc1Swenshuai.xi 1117*53ee8cc1Swenshuai.xi 1118*53ee8cc1Swenshuai.xi#if YYERROR_VERBOSE 1119*53ee8cc1Swenshuai.xi 1120*53ee8cc1Swenshuai.xi# ifndef yystrlen 1121*53ee8cc1Swenshuai.xi# if defined __GLIBC__ && defined _STRING_H 1122*53ee8cc1Swenshuai.xi# define yystrlen strlen 1123*53ee8cc1Swenshuai.xi# else 1124*53ee8cc1Swenshuai.xi/* Return the length of YYSTR. */ 1125*53ee8cc1Swenshuai.xi#if (defined __STDC__ || defined __C99__FUNC__ \ 1126*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 1127*53ee8cc1Swenshuai.xistatic YYSIZE_T 1128*53ee8cc1Swenshuai.xiyystrlen (const char *yystr) 1129*53ee8cc1Swenshuai.xi#else 1130*53ee8cc1Swenshuai.xistatic YYSIZE_T 1131*53ee8cc1Swenshuai.xiyystrlen (yystr) 1132*53ee8cc1Swenshuai.xi const char *yystr; 1133*53ee8cc1Swenshuai.xi#endif 1134*53ee8cc1Swenshuai.xi{ 1135*53ee8cc1Swenshuai.xi YYSIZE_T yylen; 1136*53ee8cc1Swenshuai.xi for (yylen = 0; yystr[yylen]; yylen++) 1137*53ee8cc1Swenshuai.xi continue; 1138*53ee8cc1Swenshuai.xi return yylen; 1139*53ee8cc1Swenshuai.xi} 1140*53ee8cc1Swenshuai.xi# endif 1141*53ee8cc1Swenshuai.xi# endif 1142*53ee8cc1Swenshuai.xi 1143*53ee8cc1Swenshuai.xi# ifndef yystpcpy 1144*53ee8cc1Swenshuai.xi# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1145*53ee8cc1Swenshuai.xi# define yystpcpy stpcpy 1146*53ee8cc1Swenshuai.xi# else 1147*53ee8cc1Swenshuai.xi/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1148*53ee8cc1Swenshuai.xi YYDEST. */ 1149*53ee8cc1Swenshuai.xi#if (defined __STDC__ || defined __C99__FUNC__ \ 1150*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 1151*53ee8cc1Swenshuai.xistatic char * 1152*53ee8cc1Swenshuai.xiyystpcpy (char *yydest, const char *yysrc) 1153*53ee8cc1Swenshuai.xi#else 1154*53ee8cc1Swenshuai.xistatic char * 1155*53ee8cc1Swenshuai.xiyystpcpy (yydest, yysrc) 1156*53ee8cc1Swenshuai.xi char *yydest; 1157*53ee8cc1Swenshuai.xi const char *yysrc; 1158*53ee8cc1Swenshuai.xi#endif 1159*53ee8cc1Swenshuai.xi{ 1160*53ee8cc1Swenshuai.xi char *yyd = yydest; 1161*53ee8cc1Swenshuai.xi const char *yys = yysrc; 1162*53ee8cc1Swenshuai.xi 1163*53ee8cc1Swenshuai.xi while ((*yyd++ = *yys++) != '\0') 1164*53ee8cc1Swenshuai.xi continue; 1165*53ee8cc1Swenshuai.xi 1166*53ee8cc1Swenshuai.xi return yyd - 1; 1167*53ee8cc1Swenshuai.xi} 1168*53ee8cc1Swenshuai.xi# endif 1169*53ee8cc1Swenshuai.xi# endif 1170*53ee8cc1Swenshuai.xi 1171*53ee8cc1Swenshuai.xi# ifndef yytnamerr 1172*53ee8cc1Swenshuai.xi/* Copy to YYRES the contents of YYSTR after stripping away unnecessary 1173*53ee8cc1Swenshuai.xi quotes and backslashes, so that it's suitable for yyerror. The 1174*53ee8cc1Swenshuai.xi heuristic is that double-quoting is unnecessary unless the string 1175*53ee8cc1Swenshuai.xi contains an apostrophe, a comma, or backslash (other than 1176*53ee8cc1Swenshuai.xi backslash-backslash). YYSTR is taken from yytname. If YYRES is 1177*53ee8cc1Swenshuai.xi null, do not copy; instead, return the length of what the result 1178*53ee8cc1Swenshuai.xi would have been. */ 1179*53ee8cc1Swenshuai.xistatic YYSIZE_T 1180*53ee8cc1Swenshuai.xiyytnamerr (char *yyres, const char *yystr) 1181*53ee8cc1Swenshuai.xi{ 1182*53ee8cc1Swenshuai.xi if (*yystr == '"') 1183*53ee8cc1Swenshuai.xi { 1184*53ee8cc1Swenshuai.xi YYSIZE_T yyn = 0; 1185*53ee8cc1Swenshuai.xi char const *yyp = yystr; 1186*53ee8cc1Swenshuai.xi 1187*53ee8cc1Swenshuai.xi for (;;) 1188*53ee8cc1Swenshuai.xi switch (*++yyp) 1189*53ee8cc1Swenshuai.xi { 1190*53ee8cc1Swenshuai.xi case '\'': 1191*53ee8cc1Swenshuai.xi case ',': 1192*53ee8cc1Swenshuai.xi goto do_not_strip_quotes; 1193*53ee8cc1Swenshuai.xi 1194*53ee8cc1Swenshuai.xi case '\\': 1195*53ee8cc1Swenshuai.xi if (*++yyp != '\\') 1196*53ee8cc1Swenshuai.xi goto do_not_strip_quotes; 1197*53ee8cc1Swenshuai.xi /* Fall through. */ 1198*53ee8cc1Swenshuai.xi default: 1199*53ee8cc1Swenshuai.xi if (yyres) 1200*53ee8cc1Swenshuai.xi yyres[yyn] = *yyp; 1201*53ee8cc1Swenshuai.xi yyn++; 1202*53ee8cc1Swenshuai.xi break; 1203*53ee8cc1Swenshuai.xi 1204*53ee8cc1Swenshuai.xi case '"': 1205*53ee8cc1Swenshuai.xi if (yyres) 1206*53ee8cc1Swenshuai.xi yyres[yyn] = '\0'; 1207*53ee8cc1Swenshuai.xi return yyn; 1208*53ee8cc1Swenshuai.xi } 1209*53ee8cc1Swenshuai.xi do_not_strip_quotes: ; 1210*53ee8cc1Swenshuai.xi } 1211*53ee8cc1Swenshuai.xi 1212*53ee8cc1Swenshuai.xi if (! yyres) 1213*53ee8cc1Swenshuai.xi return yystrlen (yystr); 1214*53ee8cc1Swenshuai.xi 1215*53ee8cc1Swenshuai.xi return yystpcpy (yyres, yystr) - yyres; 1216*53ee8cc1Swenshuai.xi} 1217*53ee8cc1Swenshuai.xi# endif 1218*53ee8cc1Swenshuai.xi 1219*53ee8cc1Swenshuai.xi/* Copy into YYRESULT an error message about the unexpected token 1220*53ee8cc1Swenshuai.xi YYCHAR while in state YYSTATE. Return the number of bytes copied, 1221*53ee8cc1Swenshuai.xi including the terminating null byte. If YYRESULT is null, do not 1222*53ee8cc1Swenshuai.xi copy anything; just return the number of bytes that would be 1223*53ee8cc1Swenshuai.xi copied. As a special case, return 0 if an ordinary "syntax error" 1224*53ee8cc1Swenshuai.xi message will do. Return YYSIZE_MAXIMUM if overflow occurs during 1225*53ee8cc1Swenshuai.xi size calculation. */ 1226*53ee8cc1Swenshuai.xistatic YYSIZE_T 1227*53ee8cc1Swenshuai.xiyysyntax_error (char *yyresult, int yystate, int yychar) 1228*53ee8cc1Swenshuai.xi{ 1229*53ee8cc1Swenshuai.xi int yyn = yypact[yystate]; 1230*53ee8cc1Swenshuai.xi 1231*53ee8cc1Swenshuai.xi if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) 1232*53ee8cc1Swenshuai.xi return 0; 1233*53ee8cc1Swenshuai.xi else 1234*53ee8cc1Swenshuai.xi { 1235*53ee8cc1Swenshuai.xi int yytype = YYTRANSLATE (yychar); 1236*53ee8cc1Swenshuai.xi YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); 1237*53ee8cc1Swenshuai.xi YYSIZE_T yysize = yysize0; 1238*53ee8cc1Swenshuai.xi YYSIZE_T yysize1; 1239*53ee8cc1Swenshuai.xi int yysize_overflow = 0; 1240*53ee8cc1Swenshuai.xi enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 1241*53ee8cc1Swenshuai.xi char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 1242*53ee8cc1Swenshuai.xi int yyx; 1243*53ee8cc1Swenshuai.xi 1244*53ee8cc1Swenshuai.xi# if 0 1245*53ee8cc1Swenshuai.xi /* This is so xgettext sees the translatable formats that are 1246*53ee8cc1Swenshuai.xi constructed on the fly. */ 1247*53ee8cc1Swenshuai.xi YY_("syntax error, unexpected %s"); 1248*53ee8cc1Swenshuai.xi YY_("syntax error, unexpected %s, expecting %s"); 1249*53ee8cc1Swenshuai.xi YY_("syntax error, unexpected %s, expecting %s or %s"); 1250*53ee8cc1Swenshuai.xi YY_("syntax error, unexpected %s, expecting %s or %s or %s"); 1251*53ee8cc1Swenshuai.xi YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); 1252*53ee8cc1Swenshuai.xi# endif 1253*53ee8cc1Swenshuai.xi char *yyfmt; 1254*53ee8cc1Swenshuai.xi char const *yyf; 1255*53ee8cc1Swenshuai.xi static char const yyunexpected[] = "syntax error, unexpected %s"; 1256*53ee8cc1Swenshuai.xi static char const yyexpecting[] = ", expecting %s"; 1257*53ee8cc1Swenshuai.xi static char const yyor[] = " or %s"; 1258*53ee8cc1Swenshuai.xi char yyformat[sizeof yyunexpected 1259*53ee8cc1Swenshuai.xi + sizeof yyexpecting - 1 1260*53ee8cc1Swenshuai.xi + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) 1261*53ee8cc1Swenshuai.xi * (sizeof yyor - 1))]; 1262*53ee8cc1Swenshuai.xi char const *yyprefix = yyexpecting; 1263*53ee8cc1Swenshuai.xi 1264*53ee8cc1Swenshuai.xi /* Start YYX at -YYN if negative to avoid negative indexes in 1265*53ee8cc1Swenshuai.xi YYCHECK. */ 1266*53ee8cc1Swenshuai.xi int yyxbegin = yyn < 0 ? -yyn : 0; 1267*53ee8cc1Swenshuai.xi 1268*53ee8cc1Swenshuai.xi /* Stay within bounds of both yycheck and yytname. */ 1269*53ee8cc1Swenshuai.xi int yychecklim = YYLAST - yyn + 1; 1270*53ee8cc1Swenshuai.xi int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 1271*53ee8cc1Swenshuai.xi int yycount = 1; 1272*53ee8cc1Swenshuai.xi 1273*53ee8cc1Swenshuai.xi yyarg[0] = yytname[yytype]; 1274*53ee8cc1Swenshuai.xi yyfmt = yystpcpy (yyformat, yyunexpected); 1275*53ee8cc1Swenshuai.xi 1276*53ee8cc1Swenshuai.xi for (yyx = yyxbegin; yyx < yyxend; ++yyx) 1277*53ee8cc1Swenshuai.xi if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) 1278*53ee8cc1Swenshuai.xi { 1279*53ee8cc1Swenshuai.xi if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 1280*53ee8cc1Swenshuai.xi { 1281*53ee8cc1Swenshuai.xi yycount = 1; 1282*53ee8cc1Swenshuai.xi yysize = yysize0; 1283*53ee8cc1Swenshuai.xi yyformat[sizeof yyunexpected - 1] = '\0'; 1284*53ee8cc1Swenshuai.xi break; 1285*53ee8cc1Swenshuai.xi } 1286*53ee8cc1Swenshuai.xi yyarg[yycount++] = yytname[yyx]; 1287*53ee8cc1Swenshuai.xi yysize1 = yysize + yytnamerr (0, yytname[yyx]); 1288*53ee8cc1Swenshuai.xi yysize_overflow |= (yysize1 < yysize); 1289*53ee8cc1Swenshuai.xi yysize = yysize1; 1290*53ee8cc1Swenshuai.xi yyfmt = yystpcpy (yyfmt, yyprefix); 1291*53ee8cc1Swenshuai.xi yyprefix = yyor; 1292*53ee8cc1Swenshuai.xi } 1293*53ee8cc1Swenshuai.xi 1294*53ee8cc1Swenshuai.xi yyf = YY_(yyformat); 1295*53ee8cc1Swenshuai.xi yysize1 = yysize + yystrlen (yyf); 1296*53ee8cc1Swenshuai.xi yysize_overflow |= (yysize1 < yysize); 1297*53ee8cc1Swenshuai.xi yysize = yysize1; 1298*53ee8cc1Swenshuai.xi 1299*53ee8cc1Swenshuai.xi if (yysize_overflow) 1300*53ee8cc1Swenshuai.xi return YYSIZE_MAXIMUM; 1301*53ee8cc1Swenshuai.xi 1302*53ee8cc1Swenshuai.xi if (yyresult) 1303*53ee8cc1Swenshuai.xi { 1304*53ee8cc1Swenshuai.xi /* Avoid sprintf, as that infringes on the user's name space. 1305*53ee8cc1Swenshuai.xi Don't have undefined behavior even if the translation 1306*53ee8cc1Swenshuai.xi produced a string with the wrong number of "%s"s. */ 1307*53ee8cc1Swenshuai.xi char *yyp = yyresult; 1308*53ee8cc1Swenshuai.xi int yyi = 0; 1309*53ee8cc1Swenshuai.xi while ((*yyp = *yyf) != '\0') 1310*53ee8cc1Swenshuai.xi { 1311*53ee8cc1Swenshuai.xi if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) 1312*53ee8cc1Swenshuai.xi { 1313*53ee8cc1Swenshuai.xi yyp += yytnamerr (yyp, yyarg[yyi++]); 1314*53ee8cc1Swenshuai.xi yyf += 2; 1315*53ee8cc1Swenshuai.xi } 1316*53ee8cc1Swenshuai.xi else 1317*53ee8cc1Swenshuai.xi { 1318*53ee8cc1Swenshuai.xi yyp++; 1319*53ee8cc1Swenshuai.xi yyf++; 1320*53ee8cc1Swenshuai.xi } 1321*53ee8cc1Swenshuai.xi } 1322*53ee8cc1Swenshuai.xi } 1323*53ee8cc1Swenshuai.xi return yysize; 1324*53ee8cc1Swenshuai.xi } 1325*53ee8cc1Swenshuai.xi} 1326*53ee8cc1Swenshuai.xi#endif /* YYERROR_VERBOSE */ 1327*53ee8cc1Swenshuai.xi 1328*53ee8cc1Swenshuai.xi 1329*53ee8cc1Swenshuai.xi/*-----------------------------------------------. 1330*53ee8cc1Swenshuai.xi| Release the memory associated to this symbol. | 1331*53ee8cc1Swenshuai.xi`-----------------------------------------------*/ 1332*53ee8cc1Swenshuai.xi 1333*53ee8cc1Swenshuai.xi/*ARGSUSED*/ 1334*53ee8cc1Swenshuai.xi#if (defined __STDC__ || defined __C99__FUNC__ \ 1335*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 1336*53ee8cc1Swenshuai.xistatic void 1337*53ee8cc1Swenshuai.xiyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 1338*53ee8cc1Swenshuai.xi#else 1339*53ee8cc1Swenshuai.xistatic void 1340*53ee8cc1Swenshuai.xiyydestruct (yymsg, yytype, yyvaluep) 1341*53ee8cc1Swenshuai.xi const char *yymsg; 1342*53ee8cc1Swenshuai.xi int yytype; 1343*53ee8cc1Swenshuai.xi YYSTYPE *yyvaluep; 1344*53ee8cc1Swenshuai.xi#endif 1345*53ee8cc1Swenshuai.xi{ 1346*53ee8cc1Swenshuai.xi YYUSE (yyvaluep); 1347*53ee8cc1Swenshuai.xi 1348*53ee8cc1Swenshuai.xi if (!yymsg) 1349*53ee8cc1Swenshuai.xi yymsg = "Deleting"; 1350*53ee8cc1Swenshuai.xi YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 1351*53ee8cc1Swenshuai.xi 1352*53ee8cc1Swenshuai.xi switch (yytype) 1353*53ee8cc1Swenshuai.xi { 1354*53ee8cc1Swenshuai.xi 1355*53ee8cc1Swenshuai.xi default: 1356*53ee8cc1Swenshuai.xi break; 1357*53ee8cc1Swenshuai.xi } 1358*53ee8cc1Swenshuai.xi} 1359*53ee8cc1Swenshuai.xi 1360*53ee8cc1Swenshuai.xi/* Prevent warnings from -Wmissing-prototypes. */ 1361*53ee8cc1Swenshuai.xi#ifdef YYPARSE_PARAM 1362*53ee8cc1Swenshuai.xi#if defined __STDC__ || defined __cplusplus 1363*53ee8cc1Swenshuai.xiint yyparse (void *YYPARSE_PARAM); 1364*53ee8cc1Swenshuai.xi#else 1365*53ee8cc1Swenshuai.xiint yyparse (); 1366*53ee8cc1Swenshuai.xi#endif 1367*53ee8cc1Swenshuai.xi#else /* ! YYPARSE_PARAM */ 1368*53ee8cc1Swenshuai.xi#if defined __STDC__ || defined __cplusplus 1369*53ee8cc1Swenshuai.xiint yyparse (void); 1370*53ee8cc1Swenshuai.xi#else 1371*53ee8cc1Swenshuai.xiint yyparse (); 1372*53ee8cc1Swenshuai.xi#endif 1373*53ee8cc1Swenshuai.xi#endif /* ! YYPARSE_PARAM */ 1374*53ee8cc1Swenshuai.xi 1375*53ee8cc1Swenshuai.xi 1376*53ee8cc1Swenshuai.xi/* The lookahead symbol. */ 1377*53ee8cc1Swenshuai.xiint yychar; 1378*53ee8cc1Swenshuai.xi 1379*53ee8cc1Swenshuai.xi/* The semantic value of the lookahead symbol. */ 1380*53ee8cc1Swenshuai.xiYYSTYPE yylval; 1381*53ee8cc1Swenshuai.xi 1382*53ee8cc1Swenshuai.xi/* Number of syntax errors so far. */ 1383*53ee8cc1Swenshuai.xiint yynerrs; 1384*53ee8cc1Swenshuai.xi 1385*53ee8cc1Swenshuai.xi 1386*53ee8cc1Swenshuai.xi 1387*53ee8cc1Swenshuai.xi/*-------------------------. 1388*53ee8cc1Swenshuai.xi| yyparse or yypush_parse. | 1389*53ee8cc1Swenshuai.xi`-------------------------*/ 1390*53ee8cc1Swenshuai.xi 1391*53ee8cc1Swenshuai.xi#ifdef YYPARSE_PARAM 1392*53ee8cc1Swenshuai.xi#if (defined __STDC__ || defined __C99__FUNC__ \ 1393*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 1394*53ee8cc1Swenshuai.xiint 1395*53ee8cc1Swenshuai.xiyyparse (void *YYPARSE_PARAM) 1396*53ee8cc1Swenshuai.xi#else 1397*53ee8cc1Swenshuai.xiint 1398*53ee8cc1Swenshuai.xiyyparse (YYPARSE_PARAM) 1399*53ee8cc1Swenshuai.xi void *YYPARSE_PARAM; 1400*53ee8cc1Swenshuai.xi#endif 1401*53ee8cc1Swenshuai.xi#else /* ! YYPARSE_PARAM */ 1402*53ee8cc1Swenshuai.xi#if (defined __STDC__ || defined __C99__FUNC__ \ 1403*53ee8cc1Swenshuai.xi || defined __cplusplus || defined _MSC_VER) 1404*53ee8cc1Swenshuai.xiint 1405*53ee8cc1Swenshuai.xiyyparse (void) 1406*53ee8cc1Swenshuai.xi#else 1407*53ee8cc1Swenshuai.xiint 1408*53ee8cc1Swenshuai.xiyyparse () 1409*53ee8cc1Swenshuai.xi 1410*53ee8cc1Swenshuai.xi#endif 1411*53ee8cc1Swenshuai.xi#endif 1412*53ee8cc1Swenshuai.xi{ 1413*53ee8cc1Swenshuai.xi 1414*53ee8cc1Swenshuai.xi 1415*53ee8cc1Swenshuai.xi int yystate; 1416*53ee8cc1Swenshuai.xi /* Number of tokens to shift before error messages enabled. */ 1417*53ee8cc1Swenshuai.xi int yyerrstatus; 1418*53ee8cc1Swenshuai.xi 1419*53ee8cc1Swenshuai.xi /* The stacks and their tools: 1420*53ee8cc1Swenshuai.xi `yyss': related to states. 1421*53ee8cc1Swenshuai.xi `yyvs': related to semantic values. 1422*53ee8cc1Swenshuai.xi 1423*53ee8cc1Swenshuai.xi Refer to the stacks thru separate pointers, to allow yyoverflow 1424*53ee8cc1Swenshuai.xi to reallocate them elsewhere. */ 1425*53ee8cc1Swenshuai.xi 1426*53ee8cc1Swenshuai.xi /* The state stack. */ 1427*53ee8cc1Swenshuai.xi yytype_int16 yyssa[YYINITDEPTH]; 1428*53ee8cc1Swenshuai.xi yytype_int16 *yyss; 1429*53ee8cc1Swenshuai.xi yytype_int16 *yyssp; 1430*53ee8cc1Swenshuai.xi 1431*53ee8cc1Swenshuai.xi /* The semantic value stack. */ 1432*53ee8cc1Swenshuai.xi YYSTYPE yyvsa[YYINITDEPTH]; 1433*53ee8cc1Swenshuai.xi YYSTYPE *yyvs; 1434*53ee8cc1Swenshuai.xi YYSTYPE *yyvsp; 1435*53ee8cc1Swenshuai.xi 1436*53ee8cc1Swenshuai.xi YYSIZE_T yystacksize; 1437*53ee8cc1Swenshuai.xi 1438*53ee8cc1Swenshuai.xi int yyn; 1439*53ee8cc1Swenshuai.xi int yyresult; 1440*53ee8cc1Swenshuai.xi /* Lookahead token as an internal (translated) token number. */ 1441*53ee8cc1Swenshuai.xi int yytoken; 1442*53ee8cc1Swenshuai.xi /* The variables used to return semantic value and location from the 1443*53ee8cc1Swenshuai.xi action routines. */ 1444*53ee8cc1Swenshuai.xi YYSTYPE yyval; 1445*53ee8cc1Swenshuai.xi 1446*53ee8cc1Swenshuai.xi#if YYERROR_VERBOSE 1447*53ee8cc1Swenshuai.xi /* Buffer for error messages, and its allocated size. */ 1448*53ee8cc1Swenshuai.xi char yymsgbuf[128]; 1449*53ee8cc1Swenshuai.xi char *yymsg = yymsgbuf; 1450*53ee8cc1Swenshuai.xi YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 1451*53ee8cc1Swenshuai.xi#endif 1452*53ee8cc1Swenshuai.xi 1453*53ee8cc1Swenshuai.xi#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 1454*53ee8cc1Swenshuai.xi 1455*53ee8cc1Swenshuai.xi /* The number of symbols on the RHS of the reduced rule. 1456*53ee8cc1Swenshuai.xi Keep to zero when no symbol should be popped. */ 1457*53ee8cc1Swenshuai.xi int yylen = 0; 1458*53ee8cc1Swenshuai.xi 1459*53ee8cc1Swenshuai.xi yytoken = 0; 1460*53ee8cc1Swenshuai.xi yyss = yyssa; 1461*53ee8cc1Swenshuai.xi yyvs = yyvsa; 1462*53ee8cc1Swenshuai.xi yystacksize = YYINITDEPTH; 1463*53ee8cc1Swenshuai.xi 1464*53ee8cc1Swenshuai.xi YYDPRINTF ((stderr, "Starting parse\n")); 1465*53ee8cc1Swenshuai.xi 1466*53ee8cc1Swenshuai.xi yystate = 0; 1467*53ee8cc1Swenshuai.xi yyerrstatus = 0; 1468*53ee8cc1Swenshuai.xi yynerrs = 0; 1469*53ee8cc1Swenshuai.xi yychar = YYEMPTY; /* Cause a token to be read. */ 1470*53ee8cc1Swenshuai.xi 1471*53ee8cc1Swenshuai.xi /* Initialize stack pointers. 1472*53ee8cc1Swenshuai.xi Waste one element of value and location stack 1473*53ee8cc1Swenshuai.xi so that they stay on the same level as the state stack. 1474*53ee8cc1Swenshuai.xi The wasted elements are never initialized. */ 1475*53ee8cc1Swenshuai.xi yyssp = yyss; 1476*53ee8cc1Swenshuai.xi yyvsp = yyvs; 1477*53ee8cc1Swenshuai.xi 1478*53ee8cc1Swenshuai.xi goto yysetstate; 1479*53ee8cc1Swenshuai.xi 1480*53ee8cc1Swenshuai.xi/*------------------------------------------------------------. 1481*53ee8cc1Swenshuai.xi| yynewstate -- Push a new state, which is found in yystate. | 1482*53ee8cc1Swenshuai.xi`------------------------------------------------------------*/ 1483*53ee8cc1Swenshuai.xi yynewstate: 1484*53ee8cc1Swenshuai.xi /* In all cases, when you get here, the value and location stacks 1485*53ee8cc1Swenshuai.xi have just been pushed. So pushing a state here evens the stacks. */ 1486*53ee8cc1Swenshuai.xi yyssp++; 1487*53ee8cc1Swenshuai.xi 1488*53ee8cc1Swenshuai.xi yysetstate: 1489*53ee8cc1Swenshuai.xi *yyssp = yystate; 1490*53ee8cc1Swenshuai.xi 1491*53ee8cc1Swenshuai.xi if (yyss + yystacksize - 1 <= yyssp) 1492*53ee8cc1Swenshuai.xi { 1493*53ee8cc1Swenshuai.xi /* Get the current used size of the three stacks, in elements. */ 1494*53ee8cc1Swenshuai.xi YYSIZE_T yysize = yyssp - yyss + 1; 1495*53ee8cc1Swenshuai.xi 1496*53ee8cc1Swenshuai.xi#ifdef yyoverflow 1497*53ee8cc1Swenshuai.xi { 1498*53ee8cc1Swenshuai.xi /* Give user a chance to reallocate the stack. Use copies of 1499*53ee8cc1Swenshuai.xi these so that the &'s don't force the real ones into 1500*53ee8cc1Swenshuai.xi memory. */ 1501*53ee8cc1Swenshuai.xi YYSTYPE *yyvs1 = yyvs; 1502*53ee8cc1Swenshuai.xi yytype_int16 *yyss1 = yyss; 1503*53ee8cc1Swenshuai.xi 1504*53ee8cc1Swenshuai.xi /* Each stack pointer address is followed by the size of the 1505*53ee8cc1Swenshuai.xi data in use in that stack, in bytes. This used to be a 1506*53ee8cc1Swenshuai.xi conditional around just the two extra args, but that might 1507*53ee8cc1Swenshuai.xi be undefined if yyoverflow is a macro. */ 1508*53ee8cc1Swenshuai.xi yyoverflow (YY_("memory exhausted"), 1509*53ee8cc1Swenshuai.xi &yyss1, yysize * sizeof (*yyssp), 1510*53ee8cc1Swenshuai.xi &yyvs1, yysize * sizeof (*yyvsp), 1511*53ee8cc1Swenshuai.xi &yystacksize); 1512*53ee8cc1Swenshuai.xi 1513*53ee8cc1Swenshuai.xi yyss = yyss1; 1514*53ee8cc1Swenshuai.xi yyvs = yyvs1; 1515*53ee8cc1Swenshuai.xi } 1516*53ee8cc1Swenshuai.xi#else /* no yyoverflow */ 1517*53ee8cc1Swenshuai.xi# ifndef YYSTACK_RELOCATE 1518*53ee8cc1Swenshuai.xi goto yyexhaustedlab; 1519*53ee8cc1Swenshuai.xi# else 1520*53ee8cc1Swenshuai.xi /* Extend the stack our own way. */ 1521*53ee8cc1Swenshuai.xi if (YYMAXDEPTH <= yystacksize) 1522*53ee8cc1Swenshuai.xi goto yyexhaustedlab; 1523*53ee8cc1Swenshuai.xi yystacksize *= 2; 1524*53ee8cc1Swenshuai.xi if (YYMAXDEPTH < yystacksize) 1525*53ee8cc1Swenshuai.xi yystacksize = YYMAXDEPTH; 1526*53ee8cc1Swenshuai.xi 1527*53ee8cc1Swenshuai.xi { 1528*53ee8cc1Swenshuai.xi yytype_int16 *yyss1 = yyss; 1529*53ee8cc1Swenshuai.xi union yyalloc *yyptr = 1530*53ee8cc1Swenshuai.xi (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 1531*53ee8cc1Swenshuai.xi if (! yyptr) 1532*53ee8cc1Swenshuai.xi goto yyexhaustedlab; 1533*53ee8cc1Swenshuai.xi YYSTACK_RELOCATE (yyss_alloc, yyss); 1534*53ee8cc1Swenshuai.xi YYSTACK_RELOCATE (yyvs_alloc, yyvs); 1535*53ee8cc1Swenshuai.xi# undef YYSTACK_RELOCATE 1536*53ee8cc1Swenshuai.xi if (yyss1 != yyssa) 1537*53ee8cc1Swenshuai.xi YYSTACK_FREE (yyss1); 1538*53ee8cc1Swenshuai.xi } 1539*53ee8cc1Swenshuai.xi# endif 1540*53ee8cc1Swenshuai.xi#endif /* no yyoverflow */ 1541*53ee8cc1Swenshuai.xi 1542*53ee8cc1Swenshuai.xi yyssp = yyss + yysize - 1; 1543*53ee8cc1Swenshuai.xi yyvsp = yyvs + yysize - 1; 1544*53ee8cc1Swenshuai.xi 1545*53ee8cc1Swenshuai.xi YYDPRINTF ((stderr, "Stack size increased to %lu\n", 1546*53ee8cc1Swenshuai.xi (unsigned long int) yystacksize)); 1547*53ee8cc1Swenshuai.xi 1548*53ee8cc1Swenshuai.xi if (yyss + yystacksize - 1 <= yyssp) 1549*53ee8cc1Swenshuai.xi YYABORT; 1550*53ee8cc1Swenshuai.xi } 1551*53ee8cc1Swenshuai.xi 1552*53ee8cc1Swenshuai.xi YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 1553*53ee8cc1Swenshuai.xi 1554*53ee8cc1Swenshuai.xi if (yystate == YYFINAL) 1555*53ee8cc1Swenshuai.xi YYACCEPT; 1556*53ee8cc1Swenshuai.xi 1557*53ee8cc1Swenshuai.xi goto yybackup; 1558*53ee8cc1Swenshuai.xi 1559*53ee8cc1Swenshuai.xi/*-----------. 1560*53ee8cc1Swenshuai.xi| yybackup. | 1561*53ee8cc1Swenshuai.xi`-----------*/ 1562*53ee8cc1Swenshuai.xiyybackup: 1563*53ee8cc1Swenshuai.xi 1564*53ee8cc1Swenshuai.xi /* Do appropriate processing given the current state. Read a 1565*53ee8cc1Swenshuai.xi lookahead token if we need one and don't already have one. */ 1566*53ee8cc1Swenshuai.xi 1567*53ee8cc1Swenshuai.xi /* First try to decide what to do without reference to lookahead token. */ 1568*53ee8cc1Swenshuai.xi yyn = yypact[yystate]; 1569*53ee8cc1Swenshuai.xi if (yyn == YYPACT_NINF) 1570*53ee8cc1Swenshuai.xi goto yydefault; 1571*53ee8cc1Swenshuai.xi 1572*53ee8cc1Swenshuai.xi /* Not known => get a lookahead token if don't already have one. */ 1573*53ee8cc1Swenshuai.xi 1574*53ee8cc1Swenshuai.xi /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 1575*53ee8cc1Swenshuai.xi if (yychar == YYEMPTY) 1576*53ee8cc1Swenshuai.xi { 1577*53ee8cc1Swenshuai.xi YYDPRINTF ((stderr, "Reading a token: ")); 1578*53ee8cc1Swenshuai.xi yychar = YYLEX; 1579*53ee8cc1Swenshuai.xi } 1580*53ee8cc1Swenshuai.xi 1581*53ee8cc1Swenshuai.xi if (yychar <= YYEOF) 1582*53ee8cc1Swenshuai.xi { 1583*53ee8cc1Swenshuai.xi yychar = yytoken = YYEOF; 1584*53ee8cc1Swenshuai.xi YYDPRINTF ((stderr, "Now at end of input.\n")); 1585*53ee8cc1Swenshuai.xi } 1586*53ee8cc1Swenshuai.xi else 1587*53ee8cc1Swenshuai.xi { 1588*53ee8cc1Swenshuai.xi yytoken = YYTRANSLATE (yychar); 1589*53ee8cc1Swenshuai.xi YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 1590*53ee8cc1Swenshuai.xi } 1591*53ee8cc1Swenshuai.xi 1592*53ee8cc1Swenshuai.xi /* If the proper action on seeing token YYTOKEN is to reduce or to 1593*53ee8cc1Swenshuai.xi detect an error, take that action. */ 1594*53ee8cc1Swenshuai.xi yyn += yytoken; 1595*53ee8cc1Swenshuai.xi if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 1596*53ee8cc1Swenshuai.xi goto yydefault; 1597*53ee8cc1Swenshuai.xi yyn = yytable[yyn]; 1598*53ee8cc1Swenshuai.xi if (yyn <= 0) 1599*53ee8cc1Swenshuai.xi { 1600*53ee8cc1Swenshuai.xi if (yyn == 0 || yyn == YYTABLE_NINF) 1601*53ee8cc1Swenshuai.xi goto yyerrlab; 1602*53ee8cc1Swenshuai.xi yyn = -yyn; 1603*53ee8cc1Swenshuai.xi goto yyreduce; 1604*53ee8cc1Swenshuai.xi } 1605*53ee8cc1Swenshuai.xi 1606*53ee8cc1Swenshuai.xi /* Count tokens shifted since error; after three, turn off error 1607*53ee8cc1Swenshuai.xi status. */ 1608*53ee8cc1Swenshuai.xi if (yyerrstatus) 1609*53ee8cc1Swenshuai.xi yyerrstatus--; 1610*53ee8cc1Swenshuai.xi 1611*53ee8cc1Swenshuai.xi /* Shift the lookahead token. */ 1612*53ee8cc1Swenshuai.xi YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1613*53ee8cc1Swenshuai.xi 1614*53ee8cc1Swenshuai.xi /* Discard the shifted token. */ 1615*53ee8cc1Swenshuai.xi yychar = YYEMPTY; 1616*53ee8cc1Swenshuai.xi 1617*53ee8cc1Swenshuai.xi yystate = yyn; 1618*53ee8cc1Swenshuai.xi *++yyvsp = yylval; 1619*53ee8cc1Swenshuai.xi 1620*53ee8cc1Swenshuai.xi goto yynewstate; 1621*53ee8cc1Swenshuai.xi 1622*53ee8cc1Swenshuai.xi 1623*53ee8cc1Swenshuai.xi/*-----------------------------------------------------------. 1624*53ee8cc1Swenshuai.xi| yydefault -- do the default action for the current state. | 1625*53ee8cc1Swenshuai.xi`-----------------------------------------------------------*/ 1626*53ee8cc1Swenshuai.xiyydefault: 1627*53ee8cc1Swenshuai.xi yyn = yydefact[yystate]; 1628*53ee8cc1Swenshuai.xi if (yyn == 0) 1629*53ee8cc1Swenshuai.xi goto yyerrlab; 1630*53ee8cc1Swenshuai.xi goto yyreduce; 1631*53ee8cc1Swenshuai.xi 1632*53ee8cc1Swenshuai.xi 1633*53ee8cc1Swenshuai.xi/*-----------------------------. 1634*53ee8cc1Swenshuai.xi| yyreduce -- Do a reduction. | 1635*53ee8cc1Swenshuai.xi`-----------------------------*/ 1636*53ee8cc1Swenshuai.xiyyreduce: 1637*53ee8cc1Swenshuai.xi /* yyn is the number of a rule to reduce with. */ 1638*53ee8cc1Swenshuai.xi yylen = yyr2[yyn]; 1639*53ee8cc1Swenshuai.xi 1640*53ee8cc1Swenshuai.xi /* If YYLEN is nonzero, implement the default value of the action: 1641*53ee8cc1Swenshuai.xi `$$ = $1'. 1642*53ee8cc1Swenshuai.xi 1643*53ee8cc1Swenshuai.xi Otherwise, the following line sets YYVAL to garbage. 1644*53ee8cc1Swenshuai.xi This behavior is undocumented and Bison 1645*53ee8cc1Swenshuai.xi users should not rely upon it. Assigning to YYVAL 1646*53ee8cc1Swenshuai.xi unconditionally makes the parser a bit smaller, and it avoids a 1647*53ee8cc1Swenshuai.xi GCC warning that YYVAL may be used uninitialized. */ 1648*53ee8cc1Swenshuai.xi yyval = yyvsp[1-yylen]; 1649*53ee8cc1Swenshuai.xi 1650*53ee8cc1Swenshuai.xi 1651*53ee8cc1Swenshuai.xi YY_REDUCE_PRINT (yyn); 1652*53ee8cc1Swenshuai.xi switch (yyn) 1653*53ee8cc1Swenshuai.xi { 1654*53ee8cc1Swenshuai.xi case 4: 1655*53ee8cc1Swenshuai.xi 1656*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1657*53ee8cc1Swenshuai.xi#line 109 "scripts/genksyms/parse.y" 1658*53ee8cc1Swenshuai.xi { is_typedef = 0; is_extern = 0; current_name = NULL; decl_spec = NULL; ;} 1659*53ee8cc1Swenshuai.xi break; 1660*53ee8cc1Swenshuai.xi 1661*53ee8cc1Swenshuai.xi case 5: 1662*53ee8cc1Swenshuai.xi 1663*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1664*53ee8cc1Swenshuai.xi#line 111 "scripts/genksyms/parse.y" 1665*53ee8cc1Swenshuai.xi { free_list(*(yyvsp[(2) - (2)]), NULL); *(yyvsp[(2) - (2)]) = NULL; ;} 1666*53ee8cc1Swenshuai.xi break; 1667*53ee8cc1Swenshuai.xi 1668*53ee8cc1Swenshuai.xi case 6: 1669*53ee8cc1Swenshuai.xi 1670*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1671*53ee8cc1Swenshuai.xi#line 115 "scripts/genksyms/parse.y" 1672*53ee8cc1Swenshuai.xi { is_typedef = 1; ;} 1673*53ee8cc1Swenshuai.xi break; 1674*53ee8cc1Swenshuai.xi 1675*53ee8cc1Swenshuai.xi case 7: 1676*53ee8cc1Swenshuai.xi 1677*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1678*53ee8cc1Swenshuai.xi#line 116 "scripts/genksyms/parse.y" 1679*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(4) - (4)]); ;} 1680*53ee8cc1Swenshuai.xi break; 1681*53ee8cc1Swenshuai.xi 1682*53ee8cc1Swenshuai.xi case 8: 1683*53ee8cc1Swenshuai.xi 1684*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1685*53ee8cc1Swenshuai.xi#line 117 "scripts/genksyms/parse.y" 1686*53ee8cc1Swenshuai.xi { is_typedef = 1; ;} 1687*53ee8cc1Swenshuai.xi break; 1688*53ee8cc1Swenshuai.xi 1689*53ee8cc1Swenshuai.xi case 9: 1690*53ee8cc1Swenshuai.xi 1691*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1692*53ee8cc1Swenshuai.xi#line 118 "scripts/genksyms/parse.y" 1693*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 1694*53ee8cc1Swenshuai.xi break; 1695*53ee8cc1Swenshuai.xi 1696*53ee8cc1Swenshuai.xi case 14: 1697*53ee8cc1Swenshuai.xi 1698*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1699*53ee8cc1Swenshuai.xi#line 123 "scripts/genksyms/parse.y" 1700*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 1701*53ee8cc1Swenshuai.xi break; 1702*53ee8cc1Swenshuai.xi 1703*53ee8cc1Swenshuai.xi case 15: 1704*53ee8cc1Swenshuai.xi 1705*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1706*53ee8cc1Swenshuai.xi#line 124 "scripts/genksyms/parse.y" 1707*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 1708*53ee8cc1Swenshuai.xi break; 1709*53ee8cc1Swenshuai.xi 1710*53ee8cc1Swenshuai.xi case 16: 1711*53ee8cc1Swenshuai.xi 1712*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1713*53ee8cc1Swenshuai.xi#line 129 "scripts/genksyms/parse.y" 1714*53ee8cc1Swenshuai.xi { if (current_name) { 1715*53ee8cc1Swenshuai.xi struct string_list *decl = (*(yyvsp[(3) - (3)]))->next; 1716*53ee8cc1Swenshuai.xi (*(yyvsp[(3) - (3)]))->next = NULL; 1717*53ee8cc1Swenshuai.xi add_symbol(current_name, 1718*53ee8cc1Swenshuai.xi is_typedef ? SYM_TYPEDEF : SYM_NORMAL, 1719*53ee8cc1Swenshuai.xi decl, is_extern); 1720*53ee8cc1Swenshuai.xi current_name = NULL; 1721*53ee8cc1Swenshuai.xi } 1722*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(3) - (3)]); 1723*53ee8cc1Swenshuai.xi ;} 1724*53ee8cc1Swenshuai.xi break; 1725*53ee8cc1Swenshuai.xi 1726*53ee8cc1Swenshuai.xi case 17: 1727*53ee8cc1Swenshuai.xi 1728*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1729*53ee8cc1Swenshuai.xi#line 142 "scripts/genksyms/parse.y" 1730*53ee8cc1Swenshuai.xi { (yyval) = NULL; ;} 1731*53ee8cc1Swenshuai.xi break; 1732*53ee8cc1Swenshuai.xi 1733*53ee8cc1Swenshuai.xi case 19: 1734*53ee8cc1Swenshuai.xi 1735*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1736*53ee8cc1Swenshuai.xi#line 148 "scripts/genksyms/parse.y" 1737*53ee8cc1Swenshuai.xi { struct string_list *decl = *(yyvsp[(1) - (1)]); 1738*53ee8cc1Swenshuai.xi *(yyvsp[(1) - (1)]) = NULL; 1739*53ee8cc1Swenshuai.xi add_symbol(current_name, 1740*53ee8cc1Swenshuai.xi is_typedef ? SYM_TYPEDEF : SYM_NORMAL, decl, is_extern); 1741*53ee8cc1Swenshuai.xi current_name = NULL; 1742*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(1) - (1)]); 1743*53ee8cc1Swenshuai.xi ;} 1744*53ee8cc1Swenshuai.xi break; 1745*53ee8cc1Swenshuai.xi 1746*53ee8cc1Swenshuai.xi case 20: 1747*53ee8cc1Swenshuai.xi 1748*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1749*53ee8cc1Swenshuai.xi#line 156 "scripts/genksyms/parse.y" 1750*53ee8cc1Swenshuai.xi { struct string_list *decl = *(yyvsp[(3) - (3)]); 1751*53ee8cc1Swenshuai.xi *(yyvsp[(3) - (3)]) = NULL; 1752*53ee8cc1Swenshuai.xi free_list(*(yyvsp[(2) - (3)]), NULL); 1753*53ee8cc1Swenshuai.xi *(yyvsp[(2) - (3)]) = decl_spec; 1754*53ee8cc1Swenshuai.xi add_symbol(current_name, 1755*53ee8cc1Swenshuai.xi is_typedef ? SYM_TYPEDEF : SYM_NORMAL, decl, is_extern); 1756*53ee8cc1Swenshuai.xi current_name = NULL; 1757*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(3) - (3)]); 1758*53ee8cc1Swenshuai.xi ;} 1759*53ee8cc1Swenshuai.xi break; 1760*53ee8cc1Swenshuai.xi 1761*53ee8cc1Swenshuai.xi case 21: 1762*53ee8cc1Swenshuai.xi 1763*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1764*53ee8cc1Swenshuai.xi#line 169 "scripts/genksyms/parse.y" 1765*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(4) - (4)]) ? (yyvsp[(4) - (4)]) : (yyvsp[(3) - (4)]) ? (yyvsp[(3) - (4)]) : (yyvsp[(2) - (4)]) ? (yyvsp[(2) - (4)]) : (yyvsp[(1) - (4)]); ;} 1766*53ee8cc1Swenshuai.xi break; 1767*53ee8cc1Swenshuai.xi 1768*53ee8cc1Swenshuai.xi case 22: 1769*53ee8cc1Swenshuai.xi 1770*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1771*53ee8cc1Swenshuai.xi#line 174 "scripts/genksyms/parse.y" 1772*53ee8cc1Swenshuai.xi { decl_spec = NULL; ;} 1773*53ee8cc1Swenshuai.xi break; 1774*53ee8cc1Swenshuai.xi 1775*53ee8cc1Swenshuai.xi case 24: 1776*53ee8cc1Swenshuai.xi 1777*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1778*53ee8cc1Swenshuai.xi#line 179 "scripts/genksyms/parse.y" 1779*53ee8cc1Swenshuai.xi { decl_spec = *(yyvsp[(1) - (1)]); ;} 1780*53ee8cc1Swenshuai.xi break; 1781*53ee8cc1Swenshuai.xi 1782*53ee8cc1Swenshuai.xi case 25: 1783*53ee8cc1Swenshuai.xi 1784*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1785*53ee8cc1Swenshuai.xi#line 180 "scripts/genksyms/parse.y" 1786*53ee8cc1Swenshuai.xi { decl_spec = *(yyvsp[(2) - (2)]); ;} 1787*53ee8cc1Swenshuai.xi break; 1788*53ee8cc1Swenshuai.xi 1789*53ee8cc1Swenshuai.xi case 26: 1790*53ee8cc1Swenshuai.xi 1791*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1792*53ee8cc1Swenshuai.xi#line 185 "scripts/genksyms/parse.y" 1793*53ee8cc1Swenshuai.xi { /* Version 2 checksumming ignores storage class, as that 1794*53ee8cc1Swenshuai.xi is really irrelevant to the linkage. */ 1795*53ee8cc1Swenshuai.xi remove_node((yyvsp[(1) - (1)])); 1796*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(1) - (1)]); 1797*53ee8cc1Swenshuai.xi ;} 1798*53ee8cc1Swenshuai.xi break; 1799*53ee8cc1Swenshuai.xi 1800*53ee8cc1Swenshuai.xi case 31: 1801*53ee8cc1Swenshuai.xi 1802*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1803*53ee8cc1Swenshuai.xi#line 197 "scripts/genksyms/parse.y" 1804*53ee8cc1Swenshuai.xi { is_extern = 1; (yyval) = (yyvsp[(1) - (1)]); ;} 1805*53ee8cc1Swenshuai.xi break; 1806*53ee8cc1Swenshuai.xi 1807*53ee8cc1Swenshuai.xi case 32: 1808*53ee8cc1Swenshuai.xi 1809*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1810*53ee8cc1Swenshuai.xi#line 198 "scripts/genksyms/parse.y" 1811*53ee8cc1Swenshuai.xi { is_extern = 0; (yyval) = (yyvsp[(1) - (1)]); ;} 1812*53ee8cc1Swenshuai.xi break; 1813*53ee8cc1Swenshuai.xi 1814*53ee8cc1Swenshuai.xi case 37: 1815*53ee8cc1Swenshuai.xi 1816*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1817*53ee8cc1Swenshuai.xi#line 210 "scripts/genksyms/parse.y" 1818*53ee8cc1Swenshuai.xi { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_STRUCT; (yyval) = (yyvsp[(2) - (2)]); ;} 1819*53ee8cc1Swenshuai.xi break; 1820*53ee8cc1Swenshuai.xi 1821*53ee8cc1Swenshuai.xi case 38: 1822*53ee8cc1Swenshuai.xi 1823*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1824*53ee8cc1Swenshuai.xi#line 212 "scripts/genksyms/parse.y" 1825*53ee8cc1Swenshuai.xi { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_UNION; (yyval) = (yyvsp[(2) - (2)]); ;} 1826*53ee8cc1Swenshuai.xi break; 1827*53ee8cc1Swenshuai.xi 1828*53ee8cc1Swenshuai.xi case 39: 1829*53ee8cc1Swenshuai.xi 1830*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1831*53ee8cc1Swenshuai.xi#line 214 "scripts/genksyms/parse.y" 1832*53ee8cc1Swenshuai.xi { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_ENUM; (yyval) = (yyvsp[(2) - (2)]); ;} 1833*53ee8cc1Swenshuai.xi break; 1834*53ee8cc1Swenshuai.xi 1835*53ee8cc1Swenshuai.xi case 40: 1836*53ee8cc1Swenshuai.xi 1837*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1838*53ee8cc1Swenshuai.xi#line 218 "scripts/genksyms/parse.y" 1839*53ee8cc1Swenshuai.xi { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r; 1840*53ee8cc1Swenshuai.xi r = copy_node(i); r->tag = SYM_STRUCT; 1841*53ee8cc1Swenshuai.xi r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL; 1842*53ee8cc1Swenshuai.xi add_symbol(i->string, SYM_STRUCT, s, is_extern); 1843*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(3) - (3)]); 1844*53ee8cc1Swenshuai.xi ;} 1845*53ee8cc1Swenshuai.xi break; 1846*53ee8cc1Swenshuai.xi 1847*53ee8cc1Swenshuai.xi case 41: 1848*53ee8cc1Swenshuai.xi 1849*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1850*53ee8cc1Swenshuai.xi#line 225 "scripts/genksyms/parse.y" 1851*53ee8cc1Swenshuai.xi { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r; 1852*53ee8cc1Swenshuai.xi r = copy_node(i); r->tag = SYM_UNION; 1853*53ee8cc1Swenshuai.xi r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL; 1854*53ee8cc1Swenshuai.xi add_symbol(i->string, SYM_UNION, s, is_extern); 1855*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(3) - (3)]); 1856*53ee8cc1Swenshuai.xi ;} 1857*53ee8cc1Swenshuai.xi break; 1858*53ee8cc1Swenshuai.xi 1859*53ee8cc1Swenshuai.xi case 42: 1860*53ee8cc1Swenshuai.xi 1861*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1862*53ee8cc1Swenshuai.xi#line 232 "scripts/genksyms/parse.y" 1863*53ee8cc1Swenshuai.xi { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r; 1864*53ee8cc1Swenshuai.xi r = copy_node(i); r->tag = SYM_ENUM; 1865*53ee8cc1Swenshuai.xi r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL; 1866*53ee8cc1Swenshuai.xi add_symbol(i->string, SYM_ENUM, s, is_extern); 1867*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(3) - (3)]); 1868*53ee8cc1Swenshuai.xi ;} 1869*53ee8cc1Swenshuai.xi break; 1870*53ee8cc1Swenshuai.xi 1871*53ee8cc1Swenshuai.xi case 43: 1872*53ee8cc1Swenshuai.xi 1873*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1874*53ee8cc1Swenshuai.xi#line 242 "scripts/genksyms/parse.y" 1875*53ee8cc1Swenshuai.xi { add_symbol(NULL, SYM_ENUM, NULL, 0); (yyval) = (yyvsp[(2) - (2)]); ;} 1876*53ee8cc1Swenshuai.xi break; 1877*53ee8cc1Swenshuai.xi 1878*53ee8cc1Swenshuai.xi case 44: 1879*53ee8cc1Swenshuai.xi 1880*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1881*53ee8cc1Swenshuai.xi#line 244 "scripts/genksyms/parse.y" 1882*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 1883*53ee8cc1Swenshuai.xi break; 1884*53ee8cc1Swenshuai.xi 1885*53ee8cc1Swenshuai.xi case 45: 1886*53ee8cc1Swenshuai.xi 1887*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1888*53ee8cc1Swenshuai.xi#line 245 "scripts/genksyms/parse.y" 1889*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 1890*53ee8cc1Swenshuai.xi break; 1891*53ee8cc1Swenshuai.xi 1892*53ee8cc1Swenshuai.xi case 56: 1893*53ee8cc1Swenshuai.xi 1894*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1895*53ee8cc1Swenshuai.xi#line 259 "scripts/genksyms/parse.y" 1896*53ee8cc1Swenshuai.xi { (*(yyvsp[(1) - (1)]))->tag = SYM_TYPEDEF; (yyval) = (yyvsp[(1) - (1)]); ;} 1897*53ee8cc1Swenshuai.xi break; 1898*53ee8cc1Swenshuai.xi 1899*53ee8cc1Swenshuai.xi case 57: 1900*53ee8cc1Swenshuai.xi 1901*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1902*53ee8cc1Swenshuai.xi#line 264 "scripts/genksyms/parse.y" 1903*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;} 1904*53ee8cc1Swenshuai.xi break; 1905*53ee8cc1Swenshuai.xi 1906*53ee8cc1Swenshuai.xi case 58: 1907*53ee8cc1Swenshuai.xi 1908*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1909*53ee8cc1Swenshuai.xi#line 268 "scripts/genksyms/parse.y" 1910*53ee8cc1Swenshuai.xi { (yyval) = NULL; ;} 1911*53ee8cc1Swenshuai.xi break; 1912*53ee8cc1Swenshuai.xi 1913*53ee8cc1Swenshuai.xi case 61: 1914*53ee8cc1Swenshuai.xi 1915*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1916*53ee8cc1Swenshuai.xi#line 274 "scripts/genksyms/parse.y" 1917*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 1918*53ee8cc1Swenshuai.xi break; 1919*53ee8cc1Swenshuai.xi 1920*53ee8cc1Swenshuai.xi case 65: 1921*53ee8cc1Swenshuai.xi 1922*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1923*53ee8cc1Swenshuai.xi#line 280 "scripts/genksyms/parse.y" 1924*53ee8cc1Swenshuai.xi { /* restrict has no effect in prototypes so ignore it */ 1925*53ee8cc1Swenshuai.xi remove_node((yyvsp[(1) - (1)])); 1926*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(1) - (1)]); 1927*53ee8cc1Swenshuai.xi ;} 1928*53ee8cc1Swenshuai.xi break; 1929*53ee8cc1Swenshuai.xi 1930*53ee8cc1Swenshuai.xi case 66: 1931*53ee8cc1Swenshuai.xi 1932*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1933*53ee8cc1Swenshuai.xi#line 287 "scripts/genksyms/parse.y" 1934*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 1935*53ee8cc1Swenshuai.xi break; 1936*53ee8cc1Swenshuai.xi 1937*53ee8cc1Swenshuai.xi case 68: 1938*53ee8cc1Swenshuai.xi 1939*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1940*53ee8cc1Swenshuai.xi#line 293 "scripts/genksyms/parse.y" 1941*53ee8cc1Swenshuai.xi { if (current_name != NULL) { 1942*53ee8cc1Swenshuai.xi error_with_pos("unexpected second declaration name"); 1943*53ee8cc1Swenshuai.xi YYERROR; 1944*53ee8cc1Swenshuai.xi } else { 1945*53ee8cc1Swenshuai.xi current_name = (*(yyvsp[(1) - (1)]))->string; 1946*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(1) - (1)]); 1947*53ee8cc1Swenshuai.xi } 1948*53ee8cc1Swenshuai.xi ;} 1949*53ee8cc1Swenshuai.xi break; 1950*53ee8cc1Swenshuai.xi 1951*53ee8cc1Swenshuai.xi case 69: 1952*53ee8cc1Swenshuai.xi 1953*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1954*53ee8cc1Swenshuai.xi#line 302 "scripts/genksyms/parse.y" 1955*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(4) - (4)]); ;} 1956*53ee8cc1Swenshuai.xi break; 1957*53ee8cc1Swenshuai.xi 1958*53ee8cc1Swenshuai.xi case 70: 1959*53ee8cc1Swenshuai.xi 1960*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1961*53ee8cc1Swenshuai.xi#line 304 "scripts/genksyms/parse.y" 1962*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(4) - (4)]); ;} 1963*53ee8cc1Swenshuai.xi break; 1964*53ee8cc1Swenshuai.xi 1965*53ee8cc1Swenshuai.xi case 71: 1966*53ee8cc1Swenshuai.xi 1967*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1968*53ee8cc1Swenshuai.xi#line 306 "scripts/genksyms/parse.y" 1969*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 1970*53ee8cc1Swenshuai.xi break; 1971*53ee8cc1Swenshuai.xi 1972*53ee8cc1Swenshuai.xi case 72: 1973*53ee8cc1Swenshuai.xi 1974*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1975*53ee8cc1Swenshuai.xi#line 308 "scripts/genksyms/parse.y" 1976*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 1977*53ee8cc1Swenshuai.xi break; 1978*53ee8cc1Swenshuai.xi 1979*53ee8cc1Swenshuai.xi case 73: 1980*53ee8cc1Swenshuai.xi 1981*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1982*53ee8cc1Swenshuai.xi#line 310 "scripts/genksyms/parse.y" 1983*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 1984*53ee8cc1Swenshuai.xi break; 1985*53ee8cc1Swenshuai.xi 1986*53ee8cc1Swenshuai.xi case 74: 1987*53ee8cc1Swenshuai.xi 1988*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1989*53ee8cc1Swenshuai.xi#line 316 "scripts/genksyms/parse.y" 1990*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 1991*53ee8cc1Swenshuai.xi break; 1992*53ee8cc1Swenshuai.xi 1993*53ee8cc1Swenshuai.xi case 78: 1994*53ee8cc1Swenshuai.xi 1995*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 1996*53ee8cc1Swenshuai.xi#line 324 "scripts/genksyms/parse.y" 1997*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(4) - (4)]); ;} 1998*53ee8cc1Swenshuai.xi break; 1999*53ee8cc1Swenshuai.xi 2000*53ee8cc1Swenshuai.xi case 79: 2001*53ee8cc1Swenshuai.xi 2002*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2003*53ee8cc1Swenshuai.xi#line 326 "scripts/genksyms/parse.y" 2004*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(4) - (4)]); ;} 2005*53ee8cc1Swenshuai.xi break; 2006*53ee8cc1Swenshuai.xi 2007*53ee8cc1Swenshuai.xi case 80: 2008*53ee8cc1Swenshuai.xi 2009*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2010*53ee8cc1Swenshuai.xi#line 328 "scripts/genksyms/parse.y" 2011*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 2012*53ee8cc1Swenshuai.xi break; 2013*53ee8cc1Swenshuai.xi 2014*53ee8cc1Swenshuai.xi case 81: 2015*53ee8cc1Swenshuai.xi 2016*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2017*53ee8cc1Swenshuai.xi#line 330 "scripts/genksyms/parse.y" 2018*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 2019*53ee8cc1Swenshuai.xi break; 2020*53ee8cc1Swenshuai.xi 2021*53ee8cc1Swenshuai.xi case 82: 2022*53ee8cc1Swenshuai.xi 2023*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2024*53ee8cc1Swenshuai.xi#line 332 "scripts/genksyms/parse.y" 2025*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 2026*53ee8cc1Swenshuai.xi break; 2027*53ee8cc1Swenshuai.xi 2028*53ee8cc1Swenshuai.xi case 83: 2029*53ee8cc1Swenshuai.xi 2030*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2031*53ee8cc1Swenshuai.xi#line 336 "scripts/genksyms/parse.y" 2032*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 2033*53ee8cc1Swenshuai.xi break; 2034*53ee8cc1Swenshuai.xi 2035*53ee8cc1Swenshuai.xi case 85: 2036*53ee8cc1Swenshuai.xi 2037*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2038*53ee8cc1Swenshuai.xi#line 338 "scripts/genksyms/parse.y" 2039*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 2040*53ee8cc1Swenshuai.xi break; 2041*53ee8cc1Swenshuai.xi 2042*53ee8cc1Swenshuai.xi case 86: 2043*53ee8cc1Swenshuai.xi 2044*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2045*53ee8cc1Swenshuai.xi#line 342 "scripts/genksyms/parse.y" 2046*53ee8cc1Swenshuai.xi { (yyval) = NULL; ;} 2047*53ee8cc1Swenshuai.xi break; 2048*53ee8cc1Swenshuai.xi 2049*53ee8cc1Swenshuai.xi case 89: 2050*53ee8cc1Swenshuai.xi 2051*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2052*53ee8cc1Swenshuai.xi#line 349 "scripts/genksyms/parse.y" 2053*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 2054*53ee8cc1Swenshuai.xi break; 2055*53ee8cc1Swenshuai.xi 2056*53ee8cc1Swenshuai.xi case 90: 2057*53ee8cc1Swenshuai.xi 2058*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2059*53ee8cc1Swenshuai.xi#line 354 "scripts/genksyms/parse.y" 2060*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;} 2061*53ee8cc1Swenshuai.xi break; 2062*53ee8cc1Swenshuai.xi 2063*53ee8cc1Swenshuai.xi case 91: 2064*53ee8cc1Swenshuai.xi 2065*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2066*53ee8cc1Swenshuai.xi#line 359 "scripts/genksyms/parse.y" 2067*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;} 2068*53ee8cc1Swenshuai.xi break; 2069*53ee8cc1Swenshuai.xi 2070*53ee8cc1Swenshuai.xi case 93: 2071*53ee8cc1Swenshuai.xi 2072*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2073*53ee8cc1Swenshuai.xi#line 364 "scripts/genksyms/parse.y" 2074*53ee8cc1Swenshuai.xi { (yyval) = NULL; ;} 2075*53ee8cc1Swenshuai.xi break; 2076*53ee8cc1Swenshuai.xi 2077*53ee8cc1Swenshuai.xi case 94: 2078*53ee8cc1Swenshuai.xi 2079*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2080*53ee8cc1Swenshuai.xi#line 366 "scripts/genksyms/parse.y" 2081*53ee8cc1Swenshuai.xi { /* For version 2 checksums, we don't want to remember 2082*53ee8cc1Swenshuai.xi private parameter names. */ 2083*53ee8cc1Swenshuai.xi remove_node((yyvsp[(1) - (1)])); 2084*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(1) - (1)]); 2085*53ee8cc1Swenshuai.xi ;} 2086*53ee8cc1Swenshuai.xi break; 2087*53ee8cc1Swenshuai.xi 2088*53ee8cc1Swenshuai.xi case 95: 2089*53ee8cc1Swenshuai.xi 2090*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2091*53ee8cc1Swenshuai.xi#line 374 "scripts/genksyms/parse.y" 2092*53ee8cc1Swenshuai.xi { remove_node((yyvsp[(1) - (1)])); 2093*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(1) - (1)]); 2094*53ee8cc1Swenshuai.xi ;} 2095*53ee8cc1Swenshuai.xi break; 2096*53ee8cc1Swenshuai.xi 2097*53ee8cc1Swenshuai.xi case 96: 2098*53ee8cc1Swenshuai.xi 2099*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2100*53ee8cc1Swenshuai.xi#line 378 "scripts/genksyms/parse.y" 2101*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(4) - (4)]); ;} 2102*53ee8cc1Swenshuai.xi break; 2103*53ee8cc1Swenshuai.xi 2104*53ee8cc1Swenshuai.xi case 97: 2105*53ee8cc1Swenshuai.xi 2106*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2107*53ee8cc1Swenshuai.xi#line 380 "scripts/genksyms/parse.y" 2108*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(4) - (4)]); ;} 2109*53ee8cc1Swenshuai.xi break; 2110*53ee8cc1Swenshuai.xi 2111*53ee8cc1Swenshuai.xi case 98: 2112*53ee8cc1Swenshuai.xi 2113*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2114*53ee8cc1Swenshuai.xi#line 382 "scripts/genksyms/parse.y" 2115*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 2116*53ee8cc1Swenshuai.xi break; 2117*53ee8cc1Swenshuai.xi 2118*53ee8cc1Swenshuai.xi case 99: 2119*53ee8cc1Swenshuai.xi 2120*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2121*53ee8cc1Swenshuai.xi#line 384 "scripts/genksyms/parse.y" 2122*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 2123*53ee8cc1Swenshuai.xi break; 2124*53ee8cc1Swenshuai.xi 2125*53ee8cc1Swenshuai.xi case 100: 2126*53ee8cc1Swenshuai.xi 2127*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2128*53ee8cc1Swenshuai.xi#line 386 "scripts/genksyms/parse.y" 2129*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 2130*53ee8cc1Swenshuai.xi break; 2131*53ee8cc1Swenshuai.xi 2132*53ee8cc1Swenshuai.xi case 101: 2133*53ee8cc1Swenshuai.xi 2134*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2135*53ee8cc1Swenshuai.xi#line 391 "scripts/genksyms/parse.y" 2136*53ee8cc1Swenshuai.xi { struct string_list *decl = *(yyvsp[(2) - (3)]); 2137*53ee8cc1Swenshuai.xi *(yyvsp[(2) - (3)]) = NULL; 2138*53ee8cc1Swenshuai.xi add_symbol(current_name, SYM_NORMAL, decl, is_extern); 2139*53ee8cc1Swenshuai.xi (yyval) = (yyvsp[(3) - (3)]); 2140*53ee8cc1Swenshuai.xi ;} 2141*53ee8cc1Swenshuai.xi break; 2142*53ee8cc1Swenshuai.xi 2143*53ee8cc1Swenshuai.xi case 102: 2144*53ee8cc1Swenshuai.xi 2145*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2146*53ee8cc1Swenshuai.xi#line 399 "scripts/genksyms/parse.y" 2147*53ee8cc1Swenshuai.xi { (yyval) = NULL; ;} 2148*53ee8cc1Swenshuai.xi break; 2149*53ee8cc1Swenshuai.xi 2150*53ee8cc1Swenshuai.xi case 104: 2151*53ee8cc1Swenshuai.xi 2152*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2153*53ee8cc1Swenshuai.xi#line 406 "scripts/genksyms/parse.y" 2154*53ee8cc1Swenshuai.xi { remove_list((yyvsp[(2) - (2)]), &(*(yyvsp[(1) - (2)]))->next); (yyval) = (yyvsp[(2) - (2)]); ;} 2155*53ee8cc1Swenshuai.xi break; 2156*53ee8cc1Swenshuai.xi 2157*53ee8cc1Swenshuai.xi case 105: 2158*53ee8cc1Swenshuai.xi 2159*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2160*53ee8cc1Swenshuai.xi#line 410 "scripts/genksyms/parse.y" 2161*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 2162*53ee8cc1Swenshuai.xi break; 2163*53ee8cc1Swenshuai.xi 2164*53ee8cc1Swenshuai.xi case 106: 2165*53ee8cc1Swenshuai.xi 2166*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2167*53ee8cc1Swenshuai.xi#line 411 "scripts/genksyms/parse.y" 2168*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 2169*53ee8cc1Swenshuai.xi break; 2170*53ee8cc1Swenshuai.xi 2171*53ee8cc1Swenshuai.xi case 107: 2172*53ee8cc1Swenshuai.xi 2173*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2174*53ee8cc1Swenshuai.xi#line 415 "scripts/genksyms/parse.y" 2175*53ee8cc1Swenshuai.xi { (yyval) = NULL; ;} 2176*53ee8cc1Swenshuai.xi break; 2177*53ee8cc1Swenshuai.xi 2178*53ee8cc1Swenshuai.xi case 110: 2179*53ee8cc1Swenshuai.xi 2180*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2181*53ee8cc1Swenshuai.xi#line 421 "scripts/genksyms/parse.y" 2182*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 2183*53ee8cc1Swenshuai.xi break; 2184*53ee8cc1Swenshuai.xi 2185*53ee8cc1Swenshuai.xi case 111: 2186*53ee8cc1Swenshuai.xi 2187*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2188*53ee8cc1Swenshuai.xi#line 426 "scripts/genksyms/parse.y" 2189*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 2190*53ee8cc1Swenshuai.xi break; 2191*53ee8cc1Swenshuai.xi 2192*53ee8cc1Swenshuai.xi case 112: 2193*53ee8cc1Swenshuai.xi 2194*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2195*53ee8cc1Swenshuai.xi#line 428 "scripts/genksyms/parse.y" 2196*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 2197*53ee8cc1Swenshuai.xi break; 2198*53ee8cc1Swenshuai.xi 2199*53ee8cc1Swenshuai.xi case 113: 2200*53ee8cc1Swenshuai.xi 2201*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2202*53ee8cc1Swenshuai.xi#line 432 "scripts/genksyms/parse.y" 2203*53ee8cc1Swenshuai.xi { (yyval) = NULL; ;} 2204*53ee8cc1Swenshuai.xi break; 2205*53ee8cc1Swenshuai.xi 2206*53ee8cc1Swenshuai.xi case 116: 2207*53ee8cc1Swenshuai.xi 2208*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2209*53ee8cc1Swenshuai.xi#line 438 "scripts/genksyms/parse.y" 2210*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 2211*53ee8cc1Swenshuai.xi break; 2212*53ee8cc1Swenshuai.xi 2213*53ee8cc1Swenshuai.xi case 117: 2214*53ee8cc1Swenshuai.xi 2215*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2216*53ee8cc1Swenshuai.xi#line 442 "scripts/genksyms/parse.y" 2217*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;} 2218*53ee8cc1Swenshuai.xi break; 2219*53ee8cc1Swenshuai.xi 2220*53ee8cc1Swenshuai.xi case 118: 2221*53ee8cc1Swenshuai.xi 2222*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2223*53ee8cc1Swenshuai.xi#line 443 "scripts/genksyms/parse.y" 2224*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 2225*53ee8cc1Swenshuai.xi break; 2226*53ee8cc1Swenshuai.xi 2227*53ee8cc1Swenshuai.xi case 120: 2228*53ee8cc1Swenshuai.xi 2229*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2230*53ee8cc1Swenshuai.xi#line 448 "scripts/genksyms/parse.y" 2231*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 2232*53ee8cc1Swenshuai.xi break; 2233*53ee8cc1Swenshuai.xi 2234*53ee8cc1Swenshuai.xi case 121: 2235*53ee8cc1Swenshuai.xi 2236*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2237*53ee8cc1Swenshuai.xi#line 452 "scripts/genksyms/parse.y" 2238*53ee8cc1Swenshuai.xi { (yyval) = NULL; ;} 2239*53ee8cc1Swenshuai.xi break; 2240*53ee8cc1Swenshuai.xi 2241*53ee8cc1Swenshuai.xi case 123: 2242*53ee8cc1Swenshuai.xi 2243*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2244*53ee8cc1Swenshuai.xi#line 457 "scripts/genksyms/parse.y" 2245*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(3) - (3)]); ;} 2246*53ee8cc1Swenshuai.xi break; 2247*53ee8cc1Swenshuai.xi 2248*53ee8cc1Swenshuai.xi case 124: 2249*53ee8cc1Swenshuai.xi 2250*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2251*53ee8cc1Swenshuai.xi#line 458 "scripts/genksyms/parse.y" 2252*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(4) - (4)]); ;} 2253*53ee8cc1Swenshuai.xi break; 2254*53ee8cc1Swenshuai.xi 2255*53ee8cc1Swenshuai.xi case 127: 2256*53ee8cc1Swenshuai.xi 2257*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2258*53ee8cc1Swenshuai.xi#line 467 "scripts/genksyms/parse.y" 2259*53ee8cc1Swenshuai.xi { 2260*53ee8cc1Swenshuai.xi const char *name = strdup((*(yyvsp[(1) - (1)]))->string); 2261*53ee8cc1Swenshuai.xi add_symbol(name, SYM_ENUM_CONST, NULL, 0); 2262*53ee8cc1Swenshuai.xi ;} 2263*53ee8cc1Swenshuai.xi break; 2264*53ee8cc1Swenshuai.xi 2265*53ee8cc1Swenshuai.xi case 128: 2266*53ee8cc1Swenshuai.xi 2267*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2268*53ee8cc1Swenshuai.xi#line 472 "scripts/genksyms/parse.y" 2269*53ee8cc1Swenshuai.xi { 2270*53ee8cc1Swenshuai.xi const char *name = strdup((*(yyvsp[(1) - (3)]))->string); 2271*53ee8cc1Swenshuai.xi struct string_list *expr = copy_list_range(*(yyvsp[(3) - (3)]), *(yyvsp[(2) - (3)])); 2272*53ee8cc1Swenshuai.xi add_symbol(name, SYM_ENUM_CONST, expr, 0); 2273*53ee8cc1Swenshuai.xi ;} 2274*53ee8cc1Swenshuai.xi break; 2275*53ee8cc1Swenshuai.xi 2276*53ee8cc1Swenshuai.xi case 129: 2277*53ee8cc1Swenshuai.xi 2278*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2279*53ee8cc1Swenshuai.xi#line 479 "scripts/genksyms/parse.y" 2280*53ee8cc1Swenshuai.xi { (yyval) = (yyvsp[(2) - (2)]); ;} 2281*53ee8cc1Swenshuai.xi break; 2282*53ee8cc1Swenshuai.xi 2283*53ee8cc1Swenshuai.xi case 130: 2284*53ee8cc1Swenshuai.xi 2285*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2286*53ee8cc1Swenshuai.xi#line 483 "scripts/genksyms/parse.y" 2287*53ee8cc1Swenshuai.xi { (yyval) = NULL; ;} 2288*53ee8cc1Swenshuai.xi break; 2289*53ee8cc1Swenshuai.xi 2290*53ee8cc1Swenshuai.xi case 132: 2291*53ee8cc1Swenshuai.xi 2292*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2293*53ee8cc1Swenshuai.xi#line 489 "scripts/genksyms/parse.y" 2294*53ee8cc1Swenshuai.xi { export_symbol((*(yyvsp[(3) - (5)]))->string); (yyval) = (yyvsp[(5) - (5)]); ;} 2295*53ee8cc1Swenshuai.xi break; 2296*53ee8cc1Swenshuai.xi 2297*53ee8cc1Swenshuai.xi 2298*53ee8cc1Swenshuai.xi 2299*53ee8cc1Swenshuai.xi/* Line 1455 of yacc.c */ 2300*53ee8cc1Swenshuai.xi#line 2301 "scripts/genksyms/parse.c" 2301*53ee8cc1Swenshuai.xi default: break; 2302*53ee8cc1Swenshuai.xi } 2303*53ee8cc1Swenshuai.xi YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 2304*53ee8cc1Swenshuai.xi 2305*53ee8cc1Swenshuai.xi YYPOPSTACK (yylen); 2306*53ee8cc1Swenshuai.xi yylen = 0; 2307*53ee8cc1Swenshuai.xi YY_STACK_PRINT (yyss, yyssp); 2308*53ee8cc1Swenshuai.xi 2309*53ee8cc1Swenshuai.xi *++yyvsp = yyval; 2310*53ee8cc1Swenshuai.xi 2311*53ee8cc1Swenshuai.xi /* Now `shift' the result of the reduction. Determine what state 2312*53ee8cc1Swenshuai.xi that goes to, based on the state we popped back to and the rule 2313*53ee8cc1Swenshuai.xi number reduced by. */ 2314*53ee8cc1Swenshuai.xi 2315*53ee8cc1Swenshuai.xi yyn = yyr1[yyn]; 2316*53ee8cc1Swenshuai.xi 2317*53ee8cc1Swenshuai.xi yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 2318*53ee8cc1Swenshuai.xi if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 2319*53ee8cc1Swenshuai.xi yystate = yytable[yystate]; 2320*53ee8cc1Swenshuai.xi else 2321*53ee8cc1Swenshuai.xi yystate = yydefgoto[yyn - YYNTOKENS]; 2322*53ee8cc1Swenshuai.xi 2323*53ee8cc1Swenshuai.xi goto yynewstate; 2324*53ee8cc1Swenshuai.xi 2325*53ee8cc1Swenshuai.xi 2326*53ee8cc1Swenshuai.xi/*------------------------------------. 2327*53ee8cc1Swenshuai.xi| yyerrlab -- here on detecting error | 2328*53ee8cc1Swenshuai.xi`------------------------------------*/ 2329*53ee8cc1Swenshuai.xiyyerrlab: 2330*53ee8cc1Swenshuai.xi /* If not already recovering from an error, report this error. */ 2331*53ee8cc1Swenshuai.xi if (!yyerrstatus) 2332*53ee8cc1Swenshuai.xi { 2333*53ee8cc1Swenshuai.xi ++yynerrs; 2334*53ee8cc1Swenshuai.xi#if ! YYERROR_VERBOSE 2335*53ee8cc1Swenshuai.xi yyerror (YY_("syntax error")); 2336*53ee8cc1Swenshuai.xi#else 2337*53ee8cc1Swenshuai.xi { 2338*53ee8cc1Swenshuai.xi YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); 2339*53ee8cc1Swenshuai.xi if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) 2340*53ee8cc1Swenshuai.xi { 2341*53ee8cc1Swenshuai.xi YYSIZE_T yyalloc = 2 * yysize; 2342*53ee8cc1Swenshuai.xi if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) 2343*53ee8cc1Swenshuai.xi yyalloc = YYSTACK_ALLOC_MAXIMUM; 2344*53ee8cc1Swenshuai.xi if (yymsg != yymsgbuf) 2345*53ee8cc1Swenshuai.xi YYSTACK_FREE (yymsg); 2346*53ee8cc1Swenshuai.xi yymsg = (char *) YYSTACK_ALLOC (yyalloc); 2347*53ee8cc1Swenshuai.xi if (yymsg) 2348*53ee8cc1Swenshuai.xi yymsg_alloc = yyalloc; 2349*53ee8cc1Swenshuai.xi else 2350*53ee8cc1Swenshuai.xi { 2351*53ee8cc1Swenshuai.xi yymsg = yymsgbuf; 2352*53ee8cc1Swenshuai.xi yymsg_alloc = sizeof yymsgbuf; 2353*53ee8cc1Swenshuai.xi } 2354*53ee8cc1Swenshuai.xi } 2355*53ee8cc1Swenshuai.xi 2356*53ee8cc1Swenshuai.xi if (0 < yysize && yysize <= yymsg_alloc) 2357*53ee8cc1Swenshuai.xi { 2358*53ee8cc1Swenshuai.xi (void) yysyntax_error (yymsg, yystate, yychar); 2359*53ee8cc1Swenshuai.xi yyerror (yymsg); 2360*53ee8cc1Swenshuai.xi } 2361*53ee8cc1Swenshuai.xi else 2362*53ee8cc1Swenshuai.xi { 2363*53ee8cc1Swenshuai.xi yyerror (YY_("syntax error")); 2364*53ee8cc1Swenshuai.xi if (yysize != 0) 2365*53ee8cc1Swenshuai.xi goto yyexhaustedlab; 2366*53ee8cc1Swenshuai.xi } 2367*53ee8cc1Swenshuai.xi } 2368*53ee8cc1Swenshuai.xi#endif 2369*53ee8cc1Swenshuai.xi } 2370*53ee8cc1Swenshuai.xi 2371*53ee8cc1Swenshuai.xi 2372*53ee8cc1Swenshuai.xi 2373*53ee8cc1Swenshuai.xi if (yyerrstatus == 3) 2374*53ee8cc1Swenshuai.xi { 2375*53ee8cc1Swenshuai.xi /* If just tried and failed to reuse lookahead token after an 2376*53ee8cc1Swenshuai.xi error, discard it. */ 2377*53ee8cc1Swenshuai.xi 2378*53ee8cc1Swenshuai.xi if (yychar <= YYEOF) 2379*53ee8cc1Swenshuai.xi { 2380*53ee8cc1Swenshuai.xi /* Return failure if at end of input. */ 2381*53ee8cc1Swenshuai.xi if (yychar == YYEOF) 2382*53ee8cc1Swenshuai.xi YYABORT; 2383*53ee8cc1Swenshuai.xi } 2384*53ee8cc1Swenshuai.xi else 2385*53ee8cc1Swenshuai.xi { 2386*53ee8cc1Swenshuai.xi yydestruct ("Error: discarding", 2387*53ee8cc1Swenshuai.xi yytoken, &yylval); 2388*53ee8cc1Swenshuai.xi yychar = YYEMPTY; 2389*53ee8cc1Swenshuai.xi } 2390*53ee8cc1Swenshuai.xi } 2391*53ee8cc1Swenshuai.xi 2392*53ee8cc1Swenshuai.xi /* Else will try to reuse lookahead token after shifting the error 2393*53ee8cc1Swenshuai.xi token. */ 2394*53ee8cc1Swenshuai.xi goto yyerrlab1; 2395*53ee8cc1Swenshuai.xi 2396*53ee8cc1Swenshuai.xi 2397*53ee8cc1Swenshuai.xi/*---------------------------------------------------. 2398*53ee8cc1Swenshuai.xi| yyerrorlab -- error raised explicitly by YYERROR. | 2399*53ee8cc1Swenshuai.xi`---------------------------------------------------*/ 2400*53ee8cc1Swenshuai.xiyyerrorlab: 2401*53ee8cc1Swenshuai.xi 2402*53ee8cc1Swenshuai.xi /* Pacify compilers like GCC when the user code never invokes 2403*53ee8cc1Swenshuai.xi YYERROR and the label yyerrorlab therefore never appears in user 2404*53ee8cc1Swenshuai.xi code. */ 2405*53ee8cc1Swenshuai.xi if (/*CONSTCOND*/ 0) 2406*53ee8cc1Swenshuai.xi goto yyerrorlab; 2407*53ee8cc1Swenshuai.xi 2408*53ee8cc1Swenshuai.xi /* Do not reclaim the symbols of the rule which action triggered 2409*53ee8cc1Swenshuai.xi this YYERROR. */ 2410*53ee8cc1Swenshuai.xi YYPOPSTACK (yylen); 2411*53ee8cc1Swenshuai.xi yylen = 0; 2412*53ee8cc1Swenshuai.xi YY_STACK_PRINT (yyss, yyssp); 2413*53ee8cc1Swenshuai.xi yystate = *yyssp; 2414*53ee8cc1Swenshuai.xi goto yyerrlab1; 2415*53ee8cc1Swenshuai.xi 2416*53ee8cc1Swenshuai.xi 2417*53ee8cc1Swenshuai.xi/*-------------------------------------------------------------. 2418*53ee8cc1Swenshuai.xi| yyerrlab1 -- common code for both syntax error and YYERROR. | 2419*53ee8cc1Swenshuai.xi`-------------------------------------------------------------*/ 2420*53ee8cc1Swenshuai.xiyyerrlab1: 2421*53ee8cc1Swenshuai.xi yyerrstatus = 3; /* Each real token shifted decrements this. */ 2422*53ee8cc1Swenshuai.xi 2423*53ee8cc1Swenshuai.xi for (;;) 2424*53ee8cc1Swenshuai.xi { 2425*53ee8cc1Swenshuai.xi yyn = yypact[yystate]; 2426*53ee8cc1Swenshuai.xi if (yyn != YYPACT_NINF) 2427*53ee8cc1Swenshuai.xi { 2428*53ee8cc1Swenshuai.xi yyn += YYTERROR; 2429*53ee8cc1Swenshuai.xi if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 2430*53ee8cc1Swenshuai.xi { 2431*53ee8cc1Swenshuai.xi yyn = yytable[yyn]; 2432*53ee8cc1Swenshuai.xi if (0 < yyn) 2433*53ee8cc1Swenshuai.xi break; 2434*53ee8cc1Swenshuai.xi } 2435*53ee8cc1Swenshuai.xi } 2436*53ee8cc1Swenshuai.xi 2437*53ee8cc1Swenshuai.xi /* Pop the current state because it cannot handle the error token. */ 2438*53ee8cc1Swenshuai.xi if (yyssp == yyss) 2439*53ee8cc1Swenshuai.xi YYABORT; 2440*53ee8cc1Swenshuai.xi 2441*53ee8cc1Swenshuai.xi 2442*53ee8cc1Swenshuai.xi yydestruct ("Error: popping", 2443*53ee8cc1Swenshuai.xi yystos[yystate], yyvsp); 2444*53ee8cc1Swenshuai.xi YYPOPSTACK (1); 2445*53ee8cc1Swenshuai.xi yystate = *yyssp; 2446*53ee8cc1Swenshuai.xi YY_STACK_PRINT (yyss, yyssp); 2447*53ee8cc1Swenshuai.xi } 2448*53ee8cc1Swenshuai.xi 2449*53ee8cc1Swenshuai.xi *++yyvsp = yylval; 2450*53ee8cc1Swenshuai.xi 2451*53ee8cc1Swenshuai.xi 2452*53ee8cc1Swenshuai.xi /* Shift the error token. */ 2453*53ee8cc1Swenshuai.xi YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 2454*53ee8cc1Swenshuai.xi 2455*53ee8cc1Swenshuai.xi yystate = yyn; 2456*53ee8cc1Swenshuai.xi goto yynewstate; 2457*53ee8cc1Swenshuai.xi 2458*53ee8cc1Swenshuai.xi 2459*53ee8cc1Swenshuai.xi/*-------------------------------------. 2460*53ee8cc1Swenshuai.xi| yyacceptlab -- YYACCEPT comes here. | 2461*53ee8cc1Swenshuai.xi`-------------------------------------*/ 2462*53ee8cc1Swenshuai.xiyyacceptlab: 2463*53ee8cc1Swenshuai.xi yyresult = 0; 2464*53ee8cc1Swenshuai.xi goto yyreturn; 2465*53ee8cc1Swenshuai.xi 2466*53ee8cc1Swenshuai.xi/*-----------------------------------. 2467*53ee8cc1Swenshuai.xi| yyabortlab -- YYABORT comes here. | 2468*53ee8cc1Swenshuai.xi`-----------------------------------*/ 2469*53ee8cc1Swenshuai.xiyyabortlab: 2470*53ee8cc1Swenshuai.xi yyresult = 1; 2471*53ee8cc1Swenshuai.xi goto yyreturn; 2472*53ee8cc1Swenshuai.xi 2473*53ee8cc1Swenshuai.xi#if !defined(yyoverflow) || YYERROR_VERBOSE 2474*53ee8cc1Swenshuai.xi/*-------------------------------------------------. 2475*53ee8cc1Swenshuai.xi| yyexhaustedlab -- memory exhaustion comes here. | 2476*53ee8cc1Swenshuai.xi`-------------------------------------------------*/ 2477*53ee8cc1Swenshuai.xiyyexhaustedlab: 2478*53ee8cc1Swenshuai.xi yyerror (YY_("memory exhausted")); 2479*53ee8cc1Swenshuai.xi yyresult = 2; 2480*53ee8cc1Swenshuai.xi /* Fall through. */ 2481*53ee8cc1Swenshuai.xi#endif 2482*53ee8cc1Swenshuai.xi 2483*53ee8cc1Swenshuai.xiyyreturn: 2484*53ee8cc1Swenshuai.xi if (yychar != YYEMPTY) 2485*53ee8cc1Swenshuai.xi yydestruct ("Cleanup: discarding lookahead", 2486*53ee8cc1Swenshuai.xi yytoken, &yylval); 2487*53ee8cc1Swenshuai.xi /* Do not reclaim the symbols of the rule which action triggered 2488*53ee8cc1Swenshuai.xi this YYABORT or YYACCEPT. */ 2489*53ee8cc1Swenshuai.xi YYPOPSTACK (yylen); 2490*53ee8cc1Swenshuai.xi YY_STACK_PRINT (yyss, yyssp); 2491*53ee8cc1Swenshuai.xi while (yyssp != yyss) 2492*53ee8cc1Swenshuai.xi { 2493*53ee8cc1Swenshuai.xi yydestruct ("Cleanup: popping", 2494*53ee8cc1Swenshuai.xi yystos[*yyssp], yyvsp); 2495*53ee8cc1Swenshuai.xi YYPOPSTACK (1); 2496*53ee8cc1Swenshuai.xi } 2497*53ee8cc1Swenshuai.xi#ifndef yyoverflow 2498*53ee8cc1Swenshuai.xi if (yyss != yyssa) 2499*53ee8cc1Swenshuai.xi YYSTACK_FREE (yyss); 2500*53ee8cc1Swenshuai.xi#endif 2501*53ee8cc1Swenshuai.xi#if YYERROR_VERBOSE 2502*53ee8cc1Swenshuai.xi if (yymsg != yymsgbuf) 2503*53ee8cc1Swenshuai.xi YYSTACK_FREE (yymsg); 2504*53ee8cc1Swenshuai.xi#endif 2505*53ee8cc1Swenshuai.xi /* Make sure YYID is used. */ 2506*53ee8cc1Swenshuai.xi return YYID (yyresult); 2507*53ee8cc1Swenshuai.xi} 2508*53ee8cc1Swenshuai.xi 2509*53ee8cc1Swenshuai.xi 2510*53ee8cc1Swenshuai.xi 2511*53ee8cc1Swenshuai.xi/* Line 1675 of yacc.c */ 2512*53ee8cc1Swenshuai.xi#line 493 "scripts/genksyms/parse.y" 2513*53ee8cc1Swenshuai.xi 2514*53ee8cc1Swenshuai.xi 2515*53ee8cc1Swenshuai.xistatic void 2516*53ee8cc1Swenshuai.xiyyerror(const char *e) 2517*53ee8cc1Swenshuai.xi{ 2518*53ee8cc1Swenshuai.xi error_with_pos("%s", e); 2519*53ee8cc1Swenshuai.xi} 2520*53ee8cc1Swenshuai.xi 2521