2011-05-05 09:18:27 +08:00
|
|
|
%language=ANSI-C
|
|
|
|
%define hash-function-name is_reserved_hash
|
|
|
|
%define lookup-function-name is_reserved_word
|
2005-04-17 06:20:36 +08:00
|
|
|
%{
|
2009-10-16 03:58:40 +08:00
|
|
|
struct resword;
|
|
|
|
static const struct resword *is_reserved_word(register const char *str, register unsigned int len);
|
2005-04-17 06:20:36 +08:00
|
|
|
%}
|
|
|
|
struct resword { const char *name; int token; }
|
|
|
|
%%
|
|
|
|
EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW
|
|
|
|
EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
|
2006-03-21 05:17:13 +08:00
|
|
|
EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW
|
2009-12-06 04:20:50 +08:00
|
|
|
EXPORT_UNUSED_SYMBOL, EXPORT_SYMBOL_KEYW
|
|
|
|
EXPORT_UNUSED_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
|
2005-04-17 06:20:36 +08:00
|
|
|
__asm, ASM_KEYW
|
|
|
|
__asm__, ASM_KEYW
|
|
|
|
__attribute, ATTRIBUTE_KEYW
|
|
|
|
__attribute__, ATTRIBUTE_KEYW
|
|
|
|
__const, CONST_KEYW
|
|
|
|
__const__, CONST_KEYW
|
2007-08-29 02:28:55 +08:00
|
|
|
__extension__, EXTENSION_KEYW
|
2005-04-17 06:20:36 +08:00
|
|
|
__inline, INLINE_KEYW
|
|
|
|
__inline__, INLINE_KEYW
|
|
|
|
__signed, SIGNED_KEYW
|
|
|
|
__signed__, SIGNED_KEYW
|
2014-04-04 05:46:37 +08:00
|
|
|
__typeof, TYPEOF_KEYW
|
|
|
|
__typeof__, TYPEOF_KEYW
|
2005-04-17 06:20:36 +08:00
|
|
|
__volatile, VOLATILE_KEYW
|
|
|
|
__volatile__, VOLATILE_KEYW
|
2016-11-24 00:41:39 +08:00
|
|
|
__builtin_va_list, VA_LIST_KEYW
|
2005-04-17 06:20:36 +08:00
|
|
|
# According to rth, c99 defines _Bool, __restrict, __restrict__, restrict. KAO
|
|
|
|
_Bool, BOOL_KEYW
|
|
|
|
_restrict, RESTRICT_KEYW
|
|
|
|
__restrict__, RESTRICT_KEYW
|
|
|
|
restrict, RESTRICT_KEYW
|
|
|
|
asm, ASM_KEYW
|
|
|
|
# attribute commented out in modutils 2.4.2. People are using 'attribute' as a
|
|
|
|
# field name which breaks the genksyms parser. It is not a gcc keyword anyway.
|
|
|
|
# KAO.
|
|
|
|
# attribute, ATTRIBUTE_KEYW
|
|
|
|
auto, AUTO_KEYW
|
|
|
|
char, CHAR_KEYW
|
|
|
|
const, CONST_KEYW
|
|
|
|
double, DOUBLE_KEYW
|
|
|
|
enum, ENUM_KEYW
|
|
|
|
extern, EXTERN_KEYW
|
|
|
|
float, FLOAT_KEYW
|
|
|
|
inline, INLINE_KEYW
|
|
|
|
int, INT_KEYW
|
|
|
|
long, LONG_KEYW
|
|
|
|
register, REGISTER_KEYW
|
|
|
|
short, SHORT_KEYW
|
|
|
|
signed, SIGNED_KEYW
|
|
|
|
static, STATIC_KEYW
|
|
|
|
struct, STRUCT_KEYW
|
|
|
|
typedef, TYPEDEF_KEYW
|
2014-04-04 05:46:37 +08:00
|
|
|
typeof, TYPEOF_KEYW
|
2005-04-17 06:20:36 +08:00
|
|
|
union, UNION_KEYW
|
|
|
|
unsigned, UNSIGNED_KEYW
|
|
|
|
void, VOID_KEYW
|
|
|
|
volatile, VOLATILE_KEYW
|