xref: /utopia/UTPA2-700.0.x/projects/build/scripts/genksyms/parse.c_shipped (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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