1 /* C code produced by gperf version 2.5 (GNU C++ version) */
2 /* Command-line: gperf -p -j1 -g -o -t -N is_reserved_word -k1,4,7,$ ../../../devo/gcc/cp/gxx.gperf */
3 /* Command-line: gperf -p -j1 -g -o -t -N is_reserved_word -k1,4,$,7 gplus.gperf */
4 struct resword { char *name; short token; enum rid rid;};
6 #define TOTAL_KEYWORDS 98
7 #define MIN_WORD_LENGTH 2
8 #define MAX_WORD_LENGTH 16
9 #define MIN_HASH_VALUE 4
10 #define MAX_HASH_VALUE 258
11 /* maximum key range = 255, duplicates = 0 */
19 register int unsigned len;
21 static unsigned short asso_values[] =
23 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
24 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
25 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
26 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
27 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
28 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
29 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
30 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
31 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
32 259, 259, 259, 259, 259, 0, 259, 27, 17, 20,
33 40, 0, 64, 6, 10, 89, 259, 2, 110, 44,
34 13, 107, 40, 10, 18, 55, 1, 3, 5, 17,
35 2, 4, 259, 259, 259, 259, 259, 259,
37 register int hval = len;
43 hval += asso_values[str[6]];
47 hval += asso_values[str[3]];
51 hval += asso_values[str[0]];
54 return hval + asso_values[str[len - 1]];
61 is_reserved_word (str, len)
63 register unsigned int len;
65 static struct resword wordlist[] =
67 {"",}, {"",}, {"",}, {"",},
68 {"else", ELSE, NORID,},
69 {"true", CXX_TRUE, NORID,},
72 {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
74 {"xor_eq", ASSIGN, NORID,},
75 {"extern", SCSPEC, RID_EXTERN,},
78 {"case", CASE, NORID,},
80 {"using", USING, NORID,},
81 {"__extension__", EXTENSION, NORID},
82 {"not_eq", EQCOMPARE, NORID,},
84 {"continue", CONTINUE, NORID,},
86 {"__inline", SCSPEC, RID_INLINE},
88 {"__inline__", SCSPEC, RID_INLINE},
90 {"return", RETURN, NORID,},
92 {"and_eq", ASSIGN, NORID,},
94 {"delete", DELETE, NORID,},
95 {"typeid", TYPEID, NORID,},
96 {"__wchar_t", TYPESPEC, RID_WCHAR /* Unique to ANSI C++ */,},
97 {"namespace", NAMESPACE, NORID,},
98 {"template", TEMPLATE, RID_TEMPLATE,},
99 {"break", BREAK, NORID,},
100 {"private", VISSPEC, RID_PRIVATE,},
101 {"typename", TYPENAME_KEYWORD, NORID,},
103 {"catch", CATCH, NORID,},
104 {"",}, {"",}, {"",}, {"",},
105 {"char", TYPESPEC, RID_CHAR,},
107 {"__asm__", GCC_ASM_KEYWORD, NORID},
108 {"double", TYPESPEC, RID_DOUBLE,},
110 {"struct", AGGR, RID_RECORD,},
111 {"reinterpret_cast", REINTERPRET_CAST, NORID,},
113 {"static_cast", STATIC_CAST, NORID,},
115 {"and", ANDAND, NORID,},
116 {"typeof", TYPEOF, NORID,},
117 {"switch", SWITCH, NORID,},
119 {"asm", ASM_KEYWORD, NORID,},
121 {"default", DEFAULT, NORID,},
123 {"mutable", SCSPEC, RID_MUTABLE,},
124 {"short", TYPESPEC, RID_SHORT,},
125 {"signature", AGGR, RID_SIGNATURE /* Extension */,},
126 {"const", CV_QUALIFIER, RID_CONST,},
127 {"static", SCSPEC, RID_STATIC,},
129 {"for", FOR, NORID,},
131 {"void", TYPESPEC, RID_VOID,},
132 {"bitand", '&', NORID,},
133 {"protected", VISSPEC, RID_PROTECTED,},
134 {"enum", ENUM, NORID,},
135 {"int", TYPESPEC, RID_INT,},
137 {"float", TYPESPEC, RID_FLOAT,},
139 {"__signed__", TYPESPEC, RID_SIGNED},
140 {"dynamic_cast", DYNAMIC_CAST, NORID,},
141 {"__attribute", ATTRIBUTE, NORID},
143 {"__attribute__", ATTRIBUTE, NORID},
144 {"__asm", GCC_ASM_KEYWORD, NORID},
146 {"const_cast", CONST_CAST, NORID,},
148 {"friend", SCSPEC, RID_FRIEND,},
150 {"signed", TYPESPEC, RID_SIGNED,},
151 {"this", THIS, NORID,},
152 {"__const", CV_QUALIFIER, RID_CONST},
153 {"__const__", CV_QUALIFIER, RID_CONST},
154 {"__volatile", CV_QUALIFIER, RID_VOLATILE},
155 {"__null", CONSTANT, RID_NULL},
156 {"__volatile__", CV_QUALIFIER, RID_VOLATILE},
157 {"__typeof__", TYPEOF, NORID},
158 {"or_eq", ASSIGN, NORID,},
160 {"false", CXX_FALSE, NORID,},
161 {"sizeof", SIZEOF, NORID,},
162 {"long", TYPESPEC, RID_LONG,},
163 {"or", OROR, NORID,},
164 {"union", AGGR, RID_UNION,},
165 {"__signature__", AGGR, RID_SIGNATURE /* Extension */,},
166 {"throw", THROW, NORID,},
168 {"while", WHILE, NORID,},
169 {"register", SCSPEC, RID_REGISTER,},
170 {"__alignof__", ALIGNOF, NORID},
171 {"class", AGGR, RID_CLASS,},
172 {"typedef", SCSPEC, RID_TYPEDEF,},
173 {"__signed", TYPESPEC, RID_SIGNED},
175 {"unsigned", TYPESPEC, RID_UNSIGNED,},
176 {"",}, {"",}, {"",}, {"",}, {"",},
177 {"__label__", LABEL, NORID},
178 {"bitor", '|', NORID,},
181 {"volatile", CV_QUALIFIER, RID_VOLATILE,},
182 {"",}, {"",}, {"",}, {"",},
184 {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
185 {"__sigof__", SIGOF, NORID /* Extension */,},
186 {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
188 {"compl", '~', NORID,},
189 {"public", VISSPEC, RID_PUBLIC,},
190 {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
191 {"__typeof", TYPEOF, NORID},
192 {"inline", SCSPEC, RID_INLINE,},
193 {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
195 {"__alignof", ALIGNOF, NORID},
197 {"overload", OVERLOAD, NORID,},
198 {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
199 {"explicit", SCSPEC, RID_EXPLICIT,},
200 {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
201 {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
202 {"goto", GOTO, NORID,},
203 {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
204 {"sigof", SIGOF, NORID /* Extension */,},
206 {"virtual", SCSPEC, RID_VIRTUAL,},
207 {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
208 {"bool", TYPESPEC, RID_BOOL,},
210 {"auto", SCSPEC, RID_AUTO,},
211 {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",},
213 {"operator", OPERATOR, NORID,},
216 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
218 register int key = hash (str, len);
220 if (key <= MAX_HASH_VALUE && key >= 0)
222 register char *s = wordlist[key].name;
224 if (*s == *str && !strcmp (str + 1, s + 1))
225 return &wordlist[key];