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