summaryrefslogtreecommitdiffstats
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_shipped2924
1 files changed, 1699 insertions, 1225 deletions
diff --git a/scripts/genksyms/parse.c_shipped b/scripts/genksyms/parse.c_shipped
index 2c6b1286b638..99d7c258696d 100644
--- a/scripts/genksyms/parse.c_shipped
+++ b/scripts/genksyms/parse.c_shipped
@@ -1,50 +1,145 @@
+/* A Bison parser, made by GNU Bison 2.0. */
-/* A Bison parser, made from scripts/genksyms/parse.y
- by GNU Bison version 1.28 */
-
-#define YYBISON 1 /* Identify Bison output. */
-
-#define ASM_KEYW 257
-#define ATTRIBUTE_KEYW 258
-#define AUTO_KEYW 259
-#define BOOL_KEYW 260
-#define CHAR_KEYW 261
-#define CONST_KEYW 262
-#define DOUBLE_KEYW 263
-#define ENUM_KEYW 264
-#define EXTERN_KEYW 265
-#define FLOAT_KEYW 266
-#define INLINE_KEYW 267
-#define INT_KEYW 268
-#define LONG_KEYW 269
-#define REGISTER_KEYW 270
-#define RESTRICT_KEYW 271
-#define SHORT_KEYW 272
-#define SIGNED_KEYW 273
-#define STATIC_KEYW 274
-#define STRUCT_KEYW 275
-#define TYPEDEF_KEYW 276
-#define UNION_KEYW 277
-#define UNSIGNED_KEYW 278
-#define VOID_KEYW 279
-#define VOLATILE_KEYW 280
-#define TYPEOF_KEYW 281
-#define EXPORT_SYMBOL_KEYW 282
-#define ASM_PHRASE 283
-#define ATTRIBUTE_PHRASE 284
-#define BRACE_PHRASE 285
-#define BRACKET_PHRASE 286
-#define EXPRESSION_PHRASE 287
-#define CHAR 288
-#define DOTS 289
-#define IDENT 290
-#define INT 291
-#define REAL 292
-#define STRING 293
-#define TYPE 294
-#define OTHER 295
-#define FILENAME 296
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Written by Richard Stallman by simplifying the original so called
+ ``semantic'' parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 0
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ ASM_KEYW = 258,
+ ATTRIBUTE_KEYW = 259,
+ AUTO_KEYW = 260,
+ BOOL_KEYW = 261,
+ CHAR_KEYW = 262,
+ CONST_KEYW = 263,
+ DOUBLE_KEYW = 264,
+ ENUM_KEYW = 265,
+ EXTERN_KEYW = 266,
+ FLOAT_KEYW = 267,
+ INLINE_KEYW = 268,
+ INT_KEYW = 269,
+ LONG_KEYW = 270,
+ REGISTER_KEYW = 271,
+ RESTRICT_KEYW = 272,
+ SHORT_KEYW = 273,
+ SIGNED_KEYW = 274,
+ STATIC_KEYW = 275,
+ STRUCT_KEYW = 276,
+ TYPEDEF_KEYW = 277,
+ UNION_KEYW = 278,
+ UNSIGNED_KEYW = 279,
+ VOID_KEYW = 280,
+ VOLATILE_KEYW = 281,
+ TYPEOF_KEYW = 282,
+ EXPORT_SYMBOL_KEYW = 283,
+ ASM_PHRASE = 284,
+ ATTRIBUTE_PHRASE = 285,
+ BRACE_PHRASE = 286,
+ BRACKET_PHRASE = 287,
+ EXPRESSION_PHRASE = 288,
+ CHAR = 289,
+ DOTS = 290,
+ IDENT = 291,
+ INT = 292,
+ REAL = 293,
+ STRING = 294,
+ TYPE = 295,
+ OTHER = 296,
+ FILENAME = 297
+ };
+#endif
+#define ASM_KEYW 258
+#define ATTRIBUTE_KEYW 259
+#define AUTO_KEYW 260
+#define BOOL_KEYW 261
+#define CHAR_KEYW 262
+#define CONST_KEYW 263
+#define DOUBLE_KEYW 264
+#define ENUM_KEYW 265
+#define EXTERN_KEYW 266
+#define FLOAT_KEYW 267
+#define INLINE_KEYW 268
+#define INT_KEYW 269
+#define LONG_KEYW 270
+#define REGISTER_KEYW 271
+#define RESTRICT_KEYW 272
+#define SHORT_KEYW 273
+#define SIGNED_KEYW 274
+#define STATIC_KEYW 275
+#define STRUCT_KEYW 276
+#define TYPEDEF_KEYW 277
+#define UNION_KEYW 278
+#define UNSIGNED_KEYW 279
+#define VOID_KEYW 280
+#define VOLATILE_KEYW 281
+#define TYPEOF_KEYW 282
+#define EXPORT_SYMBOL_KEYW 283
+#define ASM_PHRASE 284
+#define ATTRIBUTE_PHRASE 285
+#define BRACE_PHRASE 286
+#define BRACKET_PHRASE 287
+#define EXPRESSION_PHRASE 288
+#define CHAR 289
+#define DOTS 290
+#define IDENT 291
+#define INT 292
+#define REAL 293
+#define STRING 294
+#define TYPE 295
+#define OTHER 296
+#define FILENAME 297
+
+
+
+
+/* Copy the first part of user declarations. */
#line 24 "scripts/genksyms/parse.y"
@@ -75,661 +170,1000 @@ remove_list(struct string_list **pb, struct string_list **pe)
free_list(b, e);
}
-#ifndef YYSTYPE
-#define YYSTYPE int
-#endif
+
+
+/* Enabling traces. */
#ifndef YYDEBUG
-#define YYDEBUG 1
+# define YYDEBUG 1
#endif
-#include <stdio.h>
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
#endif
-#define YYFINAL 172
-#define YYFLAG -32768
-#define YYNTBASE 52
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 296 ? yytranslate[x] : 96)
-
-static const char yytranslate[] = { 0,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 46,
- 47, 48, 2, 45, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 51, 43, 2,
- 49, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 50, 2, 44, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42
-};
+/* Copy the second part of user declarations. */
-#if YYDEBUG != 0
-static const short yyprhs[] = { 0,
- 0, 2, 5, 6, 9, 10, 14, 16, 18, 20,
- 22, 25, 28, 32, 33, 35, 37, 41, 46, 47,
- 49, 51, 54, 56, 58, 60, 62, 64, 66, 68,
- 70, 72, 77, 80, 83, 86, 90, 94, 98, 101,
- 104, 107, 109, 111, 113, 115, 117, 119, 121, 123,
- 125, 127, 129, 132, 133, 135, 137, 140, 142, 144,
- 146, 148, 151, 153, 155, 160, 165, 168, 172, 176,
- 179, 181, 183, 185, 190, 195, 198, 202, 206, 209,
- 211, 215, 216, 218, 220, 224, 227, 230, 232, 233,
- 235, 237, 242, 247, 250, 254, 258, 262, 263, 265,
- 268, 272, 276, 277, 279, 281, 284, 288, 291, 292,
- 294, 296, 300, 303, 306, 308, 311, 312, 314, 317,
- 318, 320
-};
-static const short yyrhs[] = { 53,
- 0, 52, 53, 0, 0, 54, 55, 0, 0, 22,
- 56, 57, 0, 57, 0, 81, 0, 93, 0, 95,
- 0, 1, 43, 0, 1, 44, 0, 61, 58, 43,
- 0, 0, 59, 0, 60, 0, 59, 45, 60, 0,
- 71, 94, 92, 82, 0, 0, 62, 0, 63, 0,
- 62, 63, 0, 64, 0, 65, 0, 5, 0, 16,
- 0, 20, 0, 11, 0, 13, 0, 66, 0, 70,
- 0, 27, 46, 62, 47, 0, 21, 36, 0, 23,
- 36, 0, 10, 36, 0, 21, 36, 84, 0, 23,
- 36, 84, 0, 10, 36, 31, 0, 10, 31, 0,
- 21, 84, 0, 23, 84, 0, 7, 0, 18, 0,
- 14, 0, 15, 0, 19, 0, 24, 0, 12, 0,
- 9, 0, 25, 0, 6, 0, 40, 0, 48, 68,
- 0, 0, 69, 0, 70, 0, 69, 70, 0, 8,
- 0, 26, 0, 30, 0, 17, 0, 67, 71, 0,
- 72, 0, 36, 0, 72, 46, 75, 47, 0, 72,
- 46, 1, 47, 0, 72, 32, 0, 46, 71, 47,
- 0, 46, 1, 47, 0, 67, 73, 0, 74, 0,
- 36, 0, 40, 0, 74, 46, 75, 47, 0, 74,
- 46, 1, 47, 0, 74, 32, 0, 46, 73, 47,
- 0, 46, 1, 47, 0, 76, 35, 0, 76, 0,
- 77, 45, 35, 0, 0, 77, 0, 78, 0, 77,
- 45, 78, 0, 62, 79, 0, 67, 79, 0, 80,
- 0, 0, 36, 0, 40, 0, 80, 46, 75, 47,
- 0, 80, 46, 1, 47, 0, 80, 32, 0, 46,
- 79, 47, 0, 46, 1, 47, 0, 61, 71, 31,
- 0, 0, 83, 0, 49, 33, 0, 50, 85, 44,
- 0, 50, 1, 44, 0, 0, 86, 0, 87, 0,
- 86, 87, 0, 61, 88, 43, 0, 1, 43, 0,
- 0, 89, 0, 90, 0, 89, 45, 90, 0, 73,
- 92, 0, 36, 91, 0, 91, 0, 51, 33, 0,
- 0, 30, 0, 29, 43, 0, 0, 29, 0, 28,
- 46, 36, 47, 43, 0
-};
+/* Line 213 of yacc.c. */
+#line 202 "scripts/genksyms/parse.c"
-#endif
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
- 101, 103, 106, 109, 112, 114, 115, 116, 117, 118,
- 119, 120, 123, 137, 139, 142, 151, 163, 169, 171,
- 174, 176, 179, 186, 189, 191, 192, 193, 194, 197,
- 199, 200, 204, 206, 208, 212, 219, 226, 235, 236,
- 237, 240, 242, 243, 244, 245, 246, 247, 248, 249,
- 250, 251, 254, 259, 261, 264, 266, 269, 270, 270,
- 271, 278, 280, 283, 293, 295, 297, 299, 301, 307,
- 309, 312, 314, 315, 317, 319, 321, 323, 327, 329,
- 330, 333, 335, 338, 340, 344, 349, 352, 355, 357,
- 365, 369, 371, 373, 375, 377, 381, 390, 392, 396,
- 401, 403, 406, 408, 411, 413, 416, 419, 423, 425,
- 428, 430, 433, 435, 436, 439, 443, 445, 448, 452,
- 454, 457
-};
-#endif
+# ifndef YYFREE
+# define YYFREE free
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# endif
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# else
+# define YYSTACK_ALLOC alloca
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+ && (! defined (__cplusplus) \
+ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ short int yyss;
+ YYSTYPE yyvs;
+ };
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined (__GNUC__) && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ register YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = { "$","error","$undefined.","ASM_KEYW",
-"ATTRIBUTE_KEYW","AUTO_KEYW","BOOL_KEYW","CHAR_KEYW","CONST_KEYW","DOUBLE_KEYW",
-"ENUM_KEYW","EXTERN_KEYW","FLOAT_KEYW","INLINE_KEYW","INT_KEYW","LONG_KEYW",
-"REGISTER_KEYW","RESTRICT_KEYW","SHORT_KEYW","SIGNED_KEYW","STATIC_KEYW","STRUCT_KEYW",
-"TYPEDEF_KEYW","UNION_KEYW","UNSIGNED_KEYW","VOID_KEYW","VOLATILE_KEYW","TYPEOF_KEYW",
-"EXPORT_SYMBOL_KEYW","ASM_PHRASE","ATTRIBUTE_PHRASE","BRACE_PHRASE","BRACKET_PHRASE",
-"EXPRESSION_PHRASE","CHAR","DOTS","IDENT","INT","REAL","STRING","TYPE","OTHER",
-"FILENAME","';'","'}'","','","'('","')'","'*'","'='","'{'","':'","declaration_seq",
-"declaration","@1","declaration1","@2","simple_declaration","init_declarator_list_opt",
-"init_declarator_list","init_declarator","decl_specifier_seq_opt","decl_specifier_seq",
-"decl_specifier","storage_class_specifier","type_specifier","simple_type_specifier",
-"ptr_operator","cvar_qualifier_seq_opt","cvar_qualifier_seq","cvar_qualifier",
-"declarator","direct_declarator","nested_declarator","direct_nested_declarator",
-"parameter_declaration_clause","parameter_declaration_list_opt","parameter_declaration_list",
-"parameter_declaration","m_abstract_declarator","direct_m_abstract_declarator",
-"function_definition","initializer_opt","initializer","class_body","member_specification_opt",
-"member_specification","member_declaration","member_declarator_list_opt","member_declarator_list",
-"member_declarator","member_bitfield_declarator","attribute_opt","asm_definition",
-"asm_phrase_opt","export_definition", NULL
-};
#endif
-static const short yyr1[] = { 0,
- 52, 52, 54, 53, 56, 55, 55, 55, 55, 55,
- 55, 55, 57, 58, 58, 59, 59, 60, 61, 61,
- 62, 62, 63, 63, 64, 64, 64, 64, 64, 65,
- 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
- 65, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 67, 68, 68, 69, 69, 70, 70, 70,
- 70, 71, 71, 72, 72, 72, 72, 72, 72, 73,
- 73, 74, 74, 74, 74, 74, 74, 74, 75, 75,
- 75, 76, 76, 77, 77, 78, 79, 79, 80, 80,
- 80, 80, 80, 80, 80, 80, 81, 82, 82, 83,
- 84, 84, 85, 85, 86, 86, 87, 87, 88, 88,
- 89, 89, 90, 90, 90, 91, 92, 92, 93, 94,
- 94, 95
+#if defined (__STDC__) || defined (__cplusplus)
+ typedef signed char yysigned_char;
+#else
+ typedef short int yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 4
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 535
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 52
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 45
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 124
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 174
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 297
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 46, 48, 47, 2, 45, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 51, 43,
+ 2, 49, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 50, 2, 44, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42
};
-static const short yyr2[] = { 0,
- 1, 2, 0, 2, 0, 3, 1, 1, 1, 1,
- 2, 2, 3, 0, 1, 1, 3, 4, 0, 1,
- 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 2, 2, 2, 3, 3, 3, 2, 2,
- 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 2, 0, 1, 1, 2, 1, 1, 1,
- 1, 2, 1, 1, 4, 4, 2, 3, 3, 2,
- 1, 1, 1, 4, 4, 2, 3, 3, 2, 1,
- 3, 0, 1, 1, 3, 2, 2, 1, 0, 1,
- 1, 4, 4, 2, 3, 3, 3, 0, 1, 2,
- 3, 3, 0, 1, 1, 2, 3, 2, 0, 1,
- 1, 3, 2, 2, 1, 2, 0, 1, 2, 0,
- 1, 5
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned short int yyprhs[] =
+{
+ 0, 0, 3, 5, 8, 9, 12, 13, 17, 19,
+ 21, 23, 25, 28, 31, 35, 36, 38, 40, 44,
+ 49, 50, 52, 54, 57, 59, 61, 63, 65, 67,
+ 69, 71, 73, 75, 81, 86, 89, 92, 95, 99,
+ 103, 107, 110, 113, 116, 118, 120, 122, 124, 126,
+ 128, 130, 132, 134, 136, 138, 141, 142, 144, 146,
+ 149, 151, 153, 155, 157, 160, 162, 164, 169, 174,
+ 177, 181, 185, 188, 190, 192, 194, 199, 204, 207,
+ 211, 215, 218, 220, 224, 225, 227, 229, 233, 236,
+ 239, 241, 242, 244, 246, 251, 256, 259, 263, 267,
+ 271, 272, 274, 277, 281, 285, 286, 288, 290, 293,
+ 297, 300, 301, 303, 305, 309, 312, 315, 317, 320,
+ 321, 323, 326, 327, 329
};
-static const short yydefact[] = { 3,
- 3, 1, 0, 2, 0, 25, 51, 42, 58, 49,
- 0, 28, 48, 29, 44, 45, 26, 61, 43, 46,
- 27, 0, 5, 0, 47, 50, 59, 0, 0, 0,
- 60, 52, 4, 7, 14, 20, 21, 23, 24, 30,
- 31, 8, 9, 10, 11, 12, 39, 35, 33, 0,
- 40, 19, 34, 41, 0, 0, 119, 64, 0, 54,
- 0, 15, 16, 0, 120, 63, 22, 38, 36, 0,
- 109, 0, 0, 105, 6, 14, 37, 0, 0, 0,
- 0, 53, 55, 56, 13, 0, 62, 121, 97, 117,
- 67, 0, 108, 102, 72, 73, 0, 0, 0, 117,
- 71, 0, 110, 111, 115, 101, 0, 106, 120, 32,
- 0, 69, 68, 57, 17, 118, 98, 0, 89, 0,
- 80, 83, 84, 114, 0, 72, 0, 116, 70, 113,
- 76, 0, 107, 0, 122, 0, 18, 99, 66, 90,
- 52, 0, 89, 86, 88, 65, 79, 0, 78, 77,
- 0, 0, 112, 100, 0, 91, 0, 87, 94, 0,
- 81, 85, 75, 74, 96, 95, 0, 0, 93, 92,
- 0, 0
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+ 53, 0, -1, 54, -1, 53, 54, -1, -1, 55,
+ 56, -1, -1, 22, 57, 58, -1, 58, -1, 82,
+ -1, 94, -1, 96, -1, 1, 43, -1, 1, 44,
+ -1, 62, 59, 43, -1, -1, 60, -1, 61, -1,
+ 60, 45, 61, -1, 72, 95, 93, 83, -1, -1,
+ 63, -1, 64, -1, 63, 64, -1, 65, -1, 66,
+ -1, 5, -1, 16, -1, 20, -1, 11, -1, 13,
+ -1, 67, -1, 71, -1, 27, 46, 63, 47, 48,
+ -1, 27, 46, 63, 48, -1, 21, 36, -1, 23,
+ 36, -1, 10, 36, -1, 21, 36, 85, -1, 23,
+ 36, 85, -1, 10, 36, 31, -1, 10, 31, -1,
+ 21, 85, -1, 23, 85, -1, 7, -1, 18, -1,
+ 14, -1, 15, -1, 19, -1, 24, -1, 12, -1,
+ 9, -1, 25, -1, 6, -1, 40, -1, 47, 69,
+ -1, -1, 70, -1, 71, -1, 70, 71, -1, 8,
+ -1, 26, -1, 30, -1, 17, -1, 68, 72, -1,
+ 73, -1, 36, -1, 73, 46, 76, 48, -1, 73,
+ 46, 1, 48, -1, 73, 32, -1, 46, 72, 48,
+ -1, 46, 1, 48, -1, 68, 74, -1, 75, -1,
+ 36, -1, 40, -1, 75, 46, 76, 48, -1, 75,
+ 46, 1, 48, -1, 75, 32, -1, 46, 74, 48,
+ -1, 46, 1, 48, -1, 77, 35, -1, 77, -1,
+ 78, 45, 35, -1, -1, 78, -1, 79, -1, 78,
+ 45, 79, -1, 63, 80, -1, 68, 80, -1, 81,
+ -1, -1, 36, -1, 40, -1, 81, 46, 76, 48,
+ -1, 81, 46, 1, 48, -1, 81, 32, -1, 46,
+ 80, 48, -1, 46, 1, 48, -1, 62, 72, 31,
+ -1, -1, 84, -1, 49, 33, -1, 50, 86, 44,
+ -1, 50, 1, 44, -1, -1, 87, -1, 88, -1,
+ 87, 88, -1, 62, 89, 43, -1, 1, 43, -1,
+ -1, 90, -1, 91, -1, 90, 45, 91, -1, 74,
+ 93, -1, 36, 92, -1, 92, -1, 51, 33, -1,
+ -1, 30, -1, 29, 43, -1, -1, 29, -1, 28,
+ 46, 36, 48, 43, -1
};
-static const short yydefgoto[] = { 1,
- 2, 3, 33, 52, 34, 61, 62, 63, 71, 36,
- 37, 38, 39, 40, 64, 82, 83, 41, 109, 66,
- 100, 101, 120, 121, 122, 123, 144, 145, 42, 137,
- 138, 51, 72, 73, 74, 102, 103, 104, 105, 117,
- 43, 90, 44
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned short int yyrline[] =
+{
+ 0, 102, 102, 103, 107, 107, 113, 113, 115, 116,
+ 117, 118, 119, 120, 124, 138, 139, 143, 151, 164,
+ 170, 171, 175, 176, 180, 186, 190, 191, 192, 193,
+ 194, 198, 199, 200, 201, 205, 207, 209, 213, 220,
+ 227, 236, 237, 238, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 256, 261, 262, 266, 267,
+ 271, 271, 271, 272, 280, 281, 285, 294, 296, 298,
+ 300, 302, 309, 310, 314, 315, 316, 318, 320, 322,
+ 324, 329, 330, 331, 335, 336, 340, 341, 346, 351,
+ 353, 357, 358, 366, 370, 372, 374, 376, 378, 383,
+ 392, 393, 398, 403, 404, 408, 409, 413, 414, 418,
+ 420, 425, 426, 430, 431, 435, 436, 437, 441, 445,
+ 446, 450, 454, 455, 459
};
+#endif
-static const short yypact[] = {-32768,
- 15,-32768, 197,-32768, 23,-32768,-32768,-32768,-32768,-32768,
- -18,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, -28,-32768, -25,-32768,-32768,-32768, -26, -22, -12,
--32768,-32768,-32768,-32768, 49, 493,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 27, -8, 101,
--32768, 493, -8,-32768, 493, 10,-32768,-32768, 11, 9,
- 18, 26,-32768, 49, -15, -13,-32768,-32768,-32768, 25,
- 24, 48, 149,-32768,-32768, 49,-32768, 414, 39, 40,
- 47,-32768, 9,-32768,-32768, 49,-32768,-32768,-32768, 66,
--32768, 241,-32768,-32768, 50,-32768, 5, 65, 42, 66,
- 17, 56, 55,-32768,-32768,-32768, 60,-32768, 75,-32768,
- 80,-32768,-32768,-32768,-32768,-32768, 81, 82, 370, 85,
- 98, 89,-32768,-32768, 88,-32768, 91,-32768,-32768,-32768,
--32768, 284,-32768, 24,-32768, 103,-32768,-32768,-32768,-32768,
--32768, 8, 43,-32768, 30,-32768,-32768, 457,-32768,-32768,
- 92, 93,-32768,-32768, 95,-32768, 96,-32768,-32768, 327,
--32768,-32768,-32768,-32768,-32768,-32768, 99, 104,-32768,-32768,
- 148,-32768
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "ASM_KEYW", "ATTRIBUTE_KEYW",
+ "AUTO_KEYW", "BOOL_KEYW", "CHAR_KEYW", "CONST_KEYW", "DOUBLE_KEYW",
+ "ENUM_KEYW", "EXTERN_KEYW", "FLOAT_KEYW", "INLINE_KEYW", "INT_KEYW",
+ "LONG_KEYW", "REGISTER_KEYW", "RESTRICT_KEYW", "SHORT_KEYW",
+ "SIGNED_KEYW", "STATIC_KEYW", "STRUCT_KEYW", "TYPEDEF_KEYW",
+ "UNION_KEYW", "UNSIGNED_KEYW", "VOID_KEYW", "VOLATILE_KEYW",
+ "TYPEOF_KEYW", "EXPORT_SYMBOL_KEYW", "ASM_PHRASE", "ATTRIBUTE_PHRASE",
+ "BRACE_PHRASE", "BRACKET_PHRASE", "EXPRESSION_PHRASE", "CHAR", "DOTS",
+ "IDENT", "INT", "REAL", "STRING", "TYPE", "OTHER", "FILENAME", "';'",
+ "'}'", "','", "'('", "'*'", "')'", "'='", "'{'", "':'", "$accept",
+ "declaration_seq", "declaration", "@1", "declaration1", "@2",
+ "simple_declaration", "init_declarator_list_opt", "init_declarator_list",
+ "init_declarator", "decl_specifier_seq_opt", "decl_specifier_seq",
+ "decl_specifier", "storage_class_specifier", "type_specifier",
+ "simple_type_specifier", "ptr_operator", "cvar_qualifier_seq_opt",
+ "cvar_qualifier_seq", "cvar_qualifier", "declarator",
+ "direct_declarator", "nested_declarator", "direct_nested_declarator",
+ "parameter_declaration_clause", "parameter_declaration_list_opt",
+ "parameter_declaration_list", "parameter_declaration",
+ "m_abstract_declarator", "direct_m_abstract_declarator",
+ "function_definition", "initializer_opt", "initializer", "class_body",
+ "member_specification_opt", "member_specification", "member_declaration",
+ "member_declarator_list_opt", "member_declarator_list",
+ "member_declarator", "member_bitfield_declarator", "attribute_opt",
+ "asm_definition", "asm_phrase_opt", "export_definition", 0
};
+#endif
-static const short yypgoto[] = {-32768,
- 152,-32768,-32768,-32768, 119,-32768,-32768, 94, 0, -55,
- -35,-32768,-32768,-32768, -69,-32768,-32768, -56, -30,-32768,
- -76,-32768, -122,-32768,-32768, 29, -62,-32768,-32768,-32768,
--32768, -17,-32768,-32768, 105,-32768,-32768, 52, 86, 83,
--32768,-32768,-32768
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const unsigned short int yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 59, 125, 44, 40, 42, 41, 61,
+ 123, 58
};
+# endif
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 52, 53, 53, 55, 54, 57, 56, 56, 56,
+ 56, 56, 56, 56, 58, 59, 59, 60, 60, 61,
+ 62, 62, 63, 63, 64, 64, 65, 65, 65, 65,
+ 65, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 67, 67, 67, 67, 67, 67,
+ 67, 67, 67, 67, 67, 68, 69, 69, 70, 70,
+ 71, 71, 71, 71, 72, 72, 73, 73, 73, 73,
+ 73, 73, 74, 74, 75, 75, 75, 75, 75, 75,
+ 75, 76, 76, 76, 77, 77, 78, 78, 79, 80,
+ 80, 81, 81, 81, 81, 81, 81, 81, 81, 82,
+ 83, 83, 84, 85, 85, 86, 86, 87, 87, 88,
+ 88, 89, 89, 90, 90, 91, 91, 91, 92, 93,
+ 93, 94, 95, 95, 96
+};
-#define YYLAST 533
-
-
-static const short yytable[] = { 78,
- 67, 99, 35, 84, 65, 125, 54, 49, 155, 152,
- 53, 80, 47, 88, 171, 89, 9, 48, 91, 55,
- 127, 50, 129, 56, 50, 18, 114, 99, 81, 99,
- 57, 69, 92, 87, 27, 77, 119, 168, 31, -89,
- 126, 50, 67, 140, 96, 79, 58, 156, 131, 143,
- 97, 76, 60, 142, -89, 60, 59, 68, 60, 95,
- 85, 159, 132, 96, 99, 45, 46, 93, 94, 97,
- 86, 60, 143, 143, 98, 160, 119, 126, 140, 157,
- 158, 96, 156, 67, 58, 111, 112, 97, 142, 60,
- 60, 106, 119, 113, 59, 116, 60, 128, 133, 134,
- 98, 70, 93, 88, 119, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 135, 24, 25, 26, 27, 28, 139, 136,
- 31, 146, 147, 148, 149, 154, -19, 150, 163, 164,
- 32, 165, 166, -19, -103, 169, -19, 172, -19, 107,
- 170, -19, 4, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 75, 24, 25, 26, 27, 28, 162, 108, 31, 115,
- 124, 0, 130, 0, -19, 153, 0, 0, 32, 0,
- 0, -19, -104, 0, -19, 0, -19, 5, 0, -19,
- 0, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 0, 0, 0,
- 0, 0, -19, 0, 0, 0, 32, 0, 0, -19,
- 0, 118, -19, 0, -19, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 0, 24, 25, 26, 27, 28, 0, 0,
- 31, 0, 0, 0, 0, -82, 0, 0, 0, 0,
- 32, 0, 0, 0, 151, 0, 0, -82, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 0, 24, 25, 26, 27,
- 28, 0, 0, 31, 0, 0, 0, 0, -82, 0,
- 0, 0, 0, 32, 0, 0, 0, 167, 0, 0,
- -82, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 0, 24,
- 25, 26, 27, 28, 0, 0, 31, 0, 0, 0,
- 0, -82, 0, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 0, -82, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 0, 24, 25, 26, 27, 28, 0, 0, 31,
- 0, 0, 0, 0, 0, 140, 0, 0, 0, 141,
- 0, 0, 0, 0, 0, 142, 0, 60, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 0, 24, 25, 26, 27,
- 28, 0, 0, 31, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
- 110, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 0, 24,
- 25, 26, 27, 28, 0, 0, 31, 0, 0, 0,
- 0, 161, 0, 0, 0, 0, 32, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 0, 24, 25, 26, 27, 28,
- 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 32
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 1, 2, 0, 2, 0, 3, 1, 1,
+ 1, 1, 2, 2, 3, 0, 1, 1, 3, 4,
+ 0, 1, 1, 2, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 5, 4, 2, 2, 2, 3, 3,
+ 3, 2, 2, 2, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 2, 0, 1, 1, 2,
+ 1, 1, 1, 1, 2, 1, 1, 4, 4, 2,
+ 3, 3, 2, 1, 1, 1, 4, 4, 2, 3,
+ 3, 2, 1, 3, 0, 1, 1, 3, 2, 2,
+ 1, 0, 1, 1, 4, 4, 2, 3, 3, 3,
+ 0, 1, 2, 3, 3, 0, 1, 1, 2, 3,
+ 2, 0, 1, 1, 3, 2, 2, 1, 2, 0,
+ 1, 2, 0, 1, 5
};
-static const short yycheck[] = { 55,
- 36, 71, 3, 60, 35, 1, 24, 36, 1, 132,
- 36, 1, 31, 29, 0, 31, 8, 36, 32, 46,
- 97, 50, 99, 46, 50, 17, 83, 97, 59, 99,
- 43, 49, 46, 64, 26, 53, 92, 160, 30, 32,
- 36, 50, 78, 36, 40, 36, 36, 40, 32, 119,
- 46, 52, 48, 46, 47, 48, 46, 31, 48, 36,
- 43, 32, 46, 40, 134, 43, 44, 43, 44, 46,
- 45, 48, 142, 143, 51, 46, 132, 36, 36, 142,
- 143, 40, 40, 119, 36, 47, 47, 46, 46, 48,
- 48, 44, 148, 47, 46, 30, 48, 33, 43, 45,
- 51, 1, 43, 29, 160, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 43, 23, 24, 25, 26, 27, 47, 49,
- 30, 47, 35, 45, 47, 33, 36, 47, 47, 47,
- 40, 47, 47, 43, 44, 47, 46, 0, 48, 1,
- 47, 51, 1, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 52, 23, 24, 25, 26, 27, 148, 73, 30, 86,
- 95, -1, 100, -1, 36, 134, -1, -1, 40, -1,
- -1, 43, 44, -1, 46, -1, 48, 1, -1, 51,
- -1, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, -1, -1, -1,
- -1, -1, 36, -1, -1, -1, 40, -1, -1, 43,
- -1, 1, 46, -1, 48, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, -1, 23, 24, 25, 26, 27, -1, -1,
- 30, -1, -1, -1, -1, 35, -1, -1, -1, -1,
- 40, -1, -1, -1, 1, -1, -1, 47, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, -1, 23, 24, 25,