X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=tokens.inc;h=11f4a7ffa5b5c2a2978c8400d6a637b6685b0903;hb=c2564629583b7a0969aa0102d628f065b1ed66d3;hp=6c0e2cf72641793055a53a71bc9f128e5f7a0f90;hpb=bb4d38aa2528b18b7c8ad12a5f1046ade3f403de;p=cparser diff --git a/tokens.inc b/tokens.inc index 6c0e2cf..11f4a7f 100644 --- a/tokens.inc +++ b/tokens.inc @@ -10,9 +10,11 @@ TS(FLOATINGPOINT, "floatingpoint number",) TS(STRING_LITERAL, "string literal",) TS(WIDE_STRING_LITERAL, "wide string literal",) -#define PUNCTUATOR(name,string,val) T(_ALL,name,string,val) +#define ALTERNATE(name, val) T(_CXX, name, #name, val) +#define PUNCTUATOR(name, string, val) T(_ALL, name, string, val) #include "tokens_punctuator.inc" #undef PUNCTUATOR +#undef ALTERNATE #define S(mode,x) T(mode,x,#x,) S(_ALL, auto) @@ -35,7 +37,6 @@ S(_ALL, long) S(_ALL, register) S(_ALL, return) S(_ALL, short) -S(_ANSI|_C99, signed) S(_ALL, sizeof) S(_ALL, static) S(_ALL, struct) @@ -46,112 +47,184 @@ S(_ALL, unsigned) S(_ALL, void) S(_ALL, while) +/* C++ keywords */ +#undef bool +S(_CXX, bool) +#define bool _Bool +S(_CXX, catch) +S(_CXX, class) +S(_CXX, const_cast) +S(_CXX, delete) +S(_CXX, dynamic_cast) +S(_CXX, explicit) +S(_CXX, export) +#undef false +S(_CXX, false) +#define false 0 +S(_CXX, friend) +S(_CXX, mutable) +S(_CXX, namespace) +S(_CXX, new) +S(_CXX, operator) +S(_CXX, private) +S(_CXX, protected) +S(_CXX, public) +S(_CXX, reinterpret_cast) +S(_CXX, static_cast) +S(_CXX, template) +S(_CXX, this) +S(_CXX, throw) +#undef true +S(_CXX, true) +#define true 1 +S(_CXX, try) +S(_CXX, typeid) +S(_CXX, typename) +S(_CXX, using) +S(_CXX, virtual) +S(_CXX, wchar_t) + S(_C99|_GNUC, _Bool) -S(_C99|_GNUC, _Complex) -S(_C99|_GNUC, _Imaginary) -S(_GNUC, __thread) -S(_GNUC, __extension__) -S(_GNUC, __builtin_classify_type) -S(_GNUC, __builtin_va_list) -S(_GNUC, __builtin_expect) -S(_GNUC, __builtin_offsetof) -S(_GNUC, __builtin_va_arg) -S(_GNUC, __builtin_va_end) -S(_GNUC, __builtin_alloca) -S(_GNUC, __builtin_nanf) -S(_GNUC, __builtin_nan) -S(_GNUC, __builtin_nand) -S(_GNUC, __builtin_isgreater) -S(_GNUC, __builtin_isgreaterequal) -S(_GNUC, __builtin_isless) -S(_GNUC, __builtin_islessequal) -S(_GNUC, __builtin_islessgreater) -S(_GNUC, __builtin_isunordered) -S(_GNUC, __builtin_constant_p) -S(_GNUC, __builtin_prefetch) -S(_GNUC, __PRETTY_FUNCTION__) +S(_ALL, __thread) +S(_ALL, __extension__) +S(_ALL, __builtin_classify_type) +S(_ALL, __builtin_va_list) +S(_ALL, __builtin_expect) +S(_ALL, __builtin_offsetof) +S(_ALL, __builtin_va_arg) +S(_ALL, __builtin_va_end) +S(_ALL, __builtin_alloca) +S(_ALL, __builtin_inf) +S(_ALL, __builtin_inff) +S(_ALL, __builtin_infl) +S(_ALL, __builtin_nan) +S(_ALL, __builtin_nanf) +S(_ALL, __builtin_nanl) +S(_ALL, __builtin_isgreater) +S(_ALL, __builtin_isgreaterequal) +S(_ALL, __builtin_isless) +S(_ALL, __builtin_islessequal) +S(_ALL, __builtin_islessgreater) +S(_ALL, __builtin_isunordered) +S(_ALL, __builtin_constant_p) +S(_ALL, __builtin_prefetch) +S(_ALL, __builtin_huge_val) +S(_ALL, __PRETTY_FUNCTION__) S(_ALL, __FUNCTION__) +S(_ALL, __label__) S(_C99, __func__) S(_MS, __FUNCSIG__) S(_MS, __FUNCDNAME__) #undef S -T(_GNUC, __real__, "__real__",) -T(_GNUC, __real, "__real", = T___real__) -T(_GNUC, __imag__, "__imag__",) -T(_GNUC, __imag, "__imag", = T___imag__) -T(_GNUC|_MS, __alignof__, "__alignof__",) -T(_GNUC|_MS, __alignof, "__alignof", = T___alignof__) -T(_MS, _alignof, "_alignof", = T___alignof__) -T(_ANSI|_C99, const, "const",) -T(_GNUC, __const, "__const", = T_const) -T(_C99, restrict, "restrict",) -T(_GNUC, __restrict__, "__restrict__", = T_restrict) -T(_GNUC, __restrict, "__restrict", = T_restrict) -T(_MS, _restrict, "_restrict", = T_restrict) -T(_ALL, asm, "asm",) -T(_GNUC, __asm__, "__asm__", = T_asm) -T(_MS, _asm, "_asm", = T_asm) -T(_GNUC|_MS, __asm, "__asm", = T_asm) -T(_ANSI|_C99, volatile, "volatile",) -T(_GNUC, __volatile__, "__volatile__", = T_volatile) -T(_C99, inline, "inline",) -T(_GNUC|_MS, __inline, "__inline", = T_inline) -T(_GNUC, __inline__, "__inline__", = T_inline) -T(_GNUC, typeof, "typeof",) -T(_GNUC, __typeof, "__typeof", = T_typeof) -T(_GNUC, __typeof__, "__typeof__", = T_typeof) -T(_GNUC, __attribute__, "__attribute__",) +/* needed on Windows */ +#ifdef __w64 +#undef __w64 +#endif +#ifdef __ptr64 +#undef __ptr64 +#endif -T(_GNUC, __builtin_va_start, "__builtin_va_start",) -T(_GNUC, __builtin_stdarg_start, "__builtin_stdarg_start", = T___builtin_va_start) +/* needed on darwin... */ +#ifdef __signed +#undef __signed +#endif +#ifdef __volatile +#undef __volatile +#endif +#ifdef __const +#undef __const +#endif +#ifdef __restrict +#undef __restrict +#endif -T(_MS, _near, "_near",) -T(_MS, __near, "__near", = T__near) -T(_MS, _far, "_far",) -T(_MS, __far, "__far", = T__far) -T(_MS, cdecl, "cdecl",) -T(_MS, _cdecl, "_cdecl", = T_cdecl) -T(_MS, __cdecl, "__cdecl", = T_cdecl) -T(_MS, _stdcall, "_stdcall",) -T(_MS, __stdcall, "__stdcall", = T__stdcall) -T(_MS, _fastcall, "_fastcall",) -T(_MS, __fastcall, "__fastcall", = T__fastcall) -T(_MS, __thiscall, "__thiscall",) -T(_MS, _forceinline, "_forceinline",) -T(_MS, __forceinline, "__forceinline", = T__forceinline) -T(_MS, __unaligned, "__unaligned",) -T(_MS, _assume, "_assume",) -T(_MS, __assume, "__assume", = T__assume) -T(_MS, _try, "_try",) -T(_MS, __try, "__try", = T__try) -T(_MS, _finally, "_finally",) -T(_MS, __finally, "__finally", = T__finally) -T(_MS, _leave, "_leave",) -T(_MS, __leave, "__leave", = T__leave) -T(_MS, _except, "_except",) -T(_MS, __except, "__except", = T__except) -T(_MS, _declspec, "_declspec",) -T(_MS, __declspec, "__declspec", = T__declspec) -T(_MS, _based, "_based",) -T(_MS, __based, "__based", = T__based) +#define S(mode, x, val) T(mode, x, #x, val) +S(_ANSI|_C99, signed, ) +S(_ALL, __signed, = T_signed) +S(_ALL, __signed__, = T_signed) +S(_C99|_GNUC, _Complex, ) +S(_ALL, __complex__, = T__Complex) +S(_ALL, __complex, = T__Complex) +S(_C99|_GNUC, _Imaginary, ) +S(_ALL, __real__, ) +S(_ALL, __real, = T___real__) +S(_ALL, __imag__, ) +S(_ALL, __imag, = T___imag__) +S(_ALL, __alignof__, ) +S(_ALL, __alignof, = T___alignof__) +S(_MS, _alignof, = T___alignof__) +S(_ANSI|_C99, const, ) +S(_ALL, __const, = T_const) +S(_ALL, __const__, = T_const) +S(_C99, restrict, ) +S(_ALL, __restrict__, = T_restrict) +S(_ALL, __restrict, = T_restrict) +S(_MS, _restrict, = T_restrict) +S(_ALL, asm, ) +S(_ALL, __asm__, = T_asm) +S(_MS, _asm, = T_asm) +S(_ALL, __asm, = T_asm) +S(_ANSI|_C99, volatile, ) +S(_ALL, __volatile, = T_volatile) +S(_ALL, __volatile__, = T_volatile) +S(_C99|_CXX, inline, ) +S(_ALL, __inline, = T_inline) +S(_ALL, __inline__, = T_inline) +S(_GNUC, typeof, ) +S(_ALL, __typeof, = T_typeof) +S(_ALL, __typeof__, = T_typeof) +S(_ALL, __attribute__, ) -T(_MS, __ptr32, "__ptr32",) -T(_MS, __ptr64, "__ptr64",) -T(_MS, __sptr, "__sptr",) -T(_MS, __uptr, "__uptr",) -T(_MS, _w64, "_w64",) -T(_MS, __w64, "__w64", = T__w64) +S(_ALL, __builtin_va_start, ) +S(_ALL, __builtin_stdarg_start, = T___builtin_va_start) -T(_MS, _int8, "_int8",) -T(_MS, __int8, "__int8", = T__int8) -T(_MS, _int16, "_int16",) -T(_MS, __int16, "__int16", = T__int16) -T(_MS, _int32, "_int32",) -T(_MS, __int32, "__int32", = T__int32) -T(_MS, _int64, "_int64",) -T(_MS, __int64, "__int64", = T__int64) -T(_MS, _int128, "_int128",) -T(_MS, __int128, "__int128", = T__int128) +S(_MS, _near, ) +S(_MS, __near, = T__near) +S(_MS, _far, ) +S(_MS, __far, = T__far) +S(_MS, cdecl, ) +S(_MS, _cdecl, = T_cdecl) +S(_MS, __cdecl, = T_cdecl) +S(_MS, _stdcall, ) +S(_MS, __stdcall, = T__stdcall) +S(_MS, _fastcall, ) +S(_MS, __fastcall, = T__fastcall) +S(_MS, __thiscall, ) +S(_MS, _forceinline, ) +S(_MS, __forceinline, = T__forceinline) +S(_MS, __unaligned, ) +S(_MS, _assume, ) +S(_MS, __assume, = T__assume) +S(_MS, _try, ) +S(_MS, __try, = T__try) +S(_MS, _finally, ) +S(_MS, __finally, = T__finally) +S(_MS, _leave, ) +S(_MS, __leave, = T__leave) +S(_MS, _except, ) +S(_MS, __except, = T__except) +S(_MS, _declspec, ) +S(_MS, __declspec, = T__declspec) +S(_MS, _based, ) +S(_MS, __based, = T__based) +S(_MS, __noop, ) -#undef _T +S(_MS, __ptr32, ) +S(_MS, __ptr64, ) +S(_MS, __sptr, ) +S(_MS, __uptr, ) +S(_MS, _w64, ) +S(_MS, __w64, = T__w64) + +S(_MS, _int8, ) +S(_MS, __int8, = T__int8) +S(_MS, _int16, ) +S(_MS, __int16, = T__int16) +S(_MS, _int32, ) +S(_MS, __int32, = T__int32) +S(_MS, _int64, ) +S(_MS, __int64, = T__int64) +S(_MS, _int128, ) +S(_MS, __int128, = T__int128) +#undef S