aboutsummaryrefslogtreecommitdiff
path: root/scripts/genksyms
diff options
context:
space:
mode:
authorSam Ravnborg <sam@mars.ravnborg.org>2005-12-26 22:53:25 +0100
committerSam Ravnborg <sam@mars.ravnborg.org>2005-12-26 22:53:25 +0100
commitc40f56409d01f6f1ea80ed4c229096749c2335df (patch)
tree11be4df8809929cccea24d4bc7eafd80f2354782 /scripts/genksyms
parenta89a0a2354ae666612968e254d650bfd04f11eb6 (diff)
kbuild: Create _shipped files for genksyms
Generate _shipped files so the genksyms change in previous commit is enabled. The files are generated with latest versions of the tools: bison (GNU Bison) 2.0 flex version 2.5.4 GNU gperf 3.0.1 Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/genksyms')
-rw-r--r--scripts/genksyms/keywords.c_shipped210
-rw-r--r--scripts/genksyms/lex.c_shipped168
-rw-r--r--scripts/genksyms/parse.c_shipped2924
-rw-r--r--scripts/genksyms/parse.h_shipped166
4 files changed, 2086 insertions, 1382 deletions
diff --git a/scripts/genksyms/keywords.c_shipped b/scripts/genksyms/keywords.c_shipped
index eabaf7401cd..ee4647805c5 100644
--- a/scripts/genksyms/keywords.c_shipped
+++ b/scripts/genksyms/keywords.c_shipped
@@ -1,7 +1,38 @@
-/* ANSI-C code produced by gperf version 2.7.2 */
+/* ANSI-C code produced by gperf version 3.0.1 */
/* Command-line: gperf -L ANSI-C -a -C -E -g -H is_reserved_hash -k '1,3,$' -N is_reserved_word -p -t scripts/genksyms/keywords.gperf */
+
+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
+/* The character set is not based on ISO-646. */
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#endif
+
+#line 1 "scripts/genksyms/keywords.gperf"
+
+#line 3 "scripts/genksyms/keywords.gperf"
struct resword { const char *name; int token; };
-/* maximum key range = 109, duplicates = 0 */
+/* maximum key range = 68, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -15,32 +46,32 @@ is_reserved_hash (register const char *str, register unsigned int len)
{
static const unsigned char asso_values[] =
{
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 5,
- 113, 113, 113, 113, 113, 113, 0, 113, 113, 113,
- 0, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 0, 113, 0, 113, 20,
- 25, 0, 35, 30, 113, 20, 113, 113, 40, 30,
- 30, 0, 0, 113, 0, 51, 0, 15, 5, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 15,
+ 71, 71, 71, 71, 71, 71, 15, 71, 71, 71,
+ 10, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 0, 71, 0, 71, 5,
+ 5, 0, 10, 20, 71, 25, 71, 71, 20, 0,
+ 20, 30, 25, 71, 10, 5, 0, 20, 15, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71
};
return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]];
}
@@ -56,77 +87,112 @@ is_reserved_word (register const char *str, register unsigned int len)
TOTAL_KEYWORDS = 41,
MIN_WORD_LENGTH = 3,
MAX_WORD_LENGTH = 17,
- MIN_HASH_VALUE = 4,
- MAX_HASH_VALUE = 112
+ MIN_HASH_VALUE = 3,
+ MAX_HASH_VALUE = 70
};
static const struct resword wordlist[] =
{
- {""}, {""}, {""}, {""},
- {"auto", AUTO_KEYW},
- {""}, {""},
+ {""}, {""}, {""},
+#line 24 "scripts/genksyms/keywords.gperf"
+ {"asm", ASM_KEYW},
+ {""},
+#line 7 "scripts/genksyms/keywords.gperf"
+ {"__asm", ASM_KEYW},
+ {""},
+#line 8 "scripts/genksyms/keywords.gperf"
{"__asm__", ASM_KEYW},
{""},
+#line 21 "scripts/genksyms/keywords.gperf"
{"_restrict", RESTRICT_KEYW},
+#line 50 "scripts/genksyms/keywords.gperf"
{"__typeof__", TYPEOF_KEYW},
+#line 9 "scripts/genksyms/keywords.gperf"
{"__attribute", ATTRIBUTE_KEYW},
- {"__restrict__", RESTRICT_KEYW},
+#line 11 "scripts/genksyms/keywords.gperf"
+ {"__const", CONST_KEYW},
+#line 10 "scripts/genksyms/keywords.gperf"
{"__attribute__", ATTRIBUTE_KEYW},
+#line 12 "scripts/genksyms/keywords.gperf"
+ {"__const__", CONST_KEYW},
+#line 16 "scripts/genksyms/keywords.gperf"
+ {"__signed__", SIGNED_KEYW},
+#line 42 "scripts/genksyms/keywords.gperf"
+ {"static", STATIC_KEYW},
{""},
- {"__volatile", VOLATILE_KEYW},
+#line 15 "scripts/genksyms/keywords.gperf"
+ {"__signed", SIGNED_KEYW},
+#line 30 "scripts/genksyms/keywords.gperf"
+ {"char", CHAR_KEYW},
{""},
+#line 43 "scripts/genksyms/keywords.gperf"
+ {"struct", STRUCT_KEYW},
+#line 22 "scripts/genksyms/keywords.gperf"
+ {"__restrict__", RESTRICT_KEYW},
+#line 23 "scripts/genksyms/keywords.gperf"
+ {"restrict", RESTRICT_KEYW},
+#line 33 "scripts/genksyms/keywords.gperf"
+ {"enum", ENUM_KEYW},
+#line 17 "scripts/genksyms/keywords.gperf"
+ {"__volatile", VOLATILE_KEYW},
+#line 34 "scripts/genksyms/keywords.gperf"
+ {"extern", EXTERN_KEYW},
+#line 18 "scripts/genksyms/keywords.gperf"
{"__volatile__", VOLATILE_KEYW},
- {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
- {""}, {""}, {""},
- {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
+#line 37 "scripts/genksyms/keywords.gperf"
{"int", INT_KEYW},
- {"char", CHAR_KEYW},
- {""}, {""},
- {"__const", CONST_KEYW},
+ {""},
+#line 31 "scripts/genksyms/keywords.gperf"
+ {"const", CONST_KEYW},
+#line 32 "scripts/genksyms/keywords.gperf"
+ {"double", DOUBLE_KEYW},
+ {""},
+#line 13 "scripts/genksyms/keywords.gperf"
{"__inline", INLINE_KEYW},
- {"__const__", CONST_KEYW},
+#line 29 "scripts/genksyms/keywords.gperf"
+ {"auto", AUTO_KEYW},
+#line 14 "scripts/genksyms/keywords.gperf"
{"__inline__", INLINE_KEYW},
- {""}, {""}, {""}, {""},
- {"__asm", ASM_KEYW},
- {"extern", EXTERN_KEYW},
+#line 41 "scripts/genksyms/keywords.gperf"
+ {"signed", SIGNED_KEYW},
{""},
- {"register", REGISTER_KEYW},
+#line 46 "scripts/genksyms/keywords.gperf"
+ {"unsigned", UNSIGNED_KEYW},
{""},
- {"float", FLOAT_KEYW},
+#line 40 "scripts/genksyms/keywords.gperf"
+ {"short", SHORT_KEYW},
+#line 49 "scripts/genksyms/keywords.gperf"
{"typeof", TYPEOF_KEYW},
+#line 44 "scripts/genksyms/keywords.gperf"
{"typedef", TYPEDEF_KEYW},
- {""}, {""},
- {"_Bool", BOOL_KEYW},
- {"double", DOUBLE_KEYW},
- {""}, {""},
- {"enum", ENUM_KEYW},
- {""}, {""}, {""},
+#line 48 "scripts/genksyms/keywords.gperf"
{"volatile", VOLATILE_KEYW},
+ {""},
+#line 35 "scripts/genksyms/keywords.gperf"
+ {"float", FLOAT_KEYW},
+ {""}, {""},
+#line 39 "scripts/genksyms/keywords.gperf"
+ {"register", REGISTER_KEYW},
+#line 47 "scripts/genksyms/keywords.gperf"
{"void", VOID_KEYW},
- {"const", CONST_KEYW},
- {"short", SHORT_KEYW},
- {"struct", STRUCT_KEYW},
{""},
- {"restrict", RESTRICT_KEYW},
+#line 36 "scripts/genksyms/keywords.gperf"
+ {"inline", INLINE_KEYW},
{""},
- {"__signed__", SIGNED_KEYW},
+#line 5 "scripts/genksyms/keywords.gperf"
+ {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
{""},
- {"asm", ASM_KEYW},
- {""}, {""},
- {"inline", INLINE_KEYW},
- {""}, {""}, {""},
- {"union", UNION_KEYW},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"static", STATIC_KEYW},
+#line 20 "scripts/genksyms/keywords.gperf"
+ {"_Bool", BOOL_KEYW},
+ {""},
+#line 6 "scripts/genksyms/keywords.gperf"
+ {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
{""}, {""}, {""}, {""}, {""}, {""},
- {"__signed", SIGNED_KEYW},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
- {"unsigned", UNSIGNED_KEYW},
- {""}, {""}, {""}, {""},
+#line 38 "scripts/genksyms/keywords.gperf"
{"long", LONG_KEYW},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {"signed", SIGNED_KEYW}
+ {""}, {""}, {""}, {""}, {""},
+#line 45 "scripts/genksyms/keywords.gperf"
+ {"union", UNION_KEYW}
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
diff --git a/scripts/genksyms/lex.c_shipped b/scripts/genksyms/lex.c_shipped
index d9bfbb5948f..1218053ee96 100644
--- a/scripts/genksyms/lex.c_shipped
+++ b/scripts/genksyms/lex.c_shipped
@@ -2036,49 +2036,131 @@ fini:
return token;
}
-#ifndef YYSTYPE
-#define YYSTYPE int
-#endif
-#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
+/* A Bison parser, made by GNU Bison 2.0. */
+/* 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. */
+
+/* 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
+
+
+
+
+#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
extern YYSTYPE yylval;
+
+
+
diff --git a/scripts/genksyms/parse.c_shipped b/scripts/genksyms/parse.c_shipped
index 2c6b1286b63..99d7c258696 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