memset(token_symbols, 0, T_LAST_TOKEN * sizeof(token_symbols[0]));
#define T(mode,x,str,val) register_token(mode, x, str);
-#define TS(x,str,val) intern_register_token(x, str);
#include "tokens.inc"
-#undef TS
#undef T
#define T(token) register_pp_token(TP_##token, #token);
typedef enum token_kind_tag_t {
T_NULL = 0,
#define T(mode,x,str,val) x val,
-#define TS(x,str,val) x val,
#include "tokens.inc"
-#undef TS
#undef T
T_LAST_TOKEN
} token_kind_tag_t;
-#ifndef TS
-#define TS(x,str,val)
-#endif
-
/* These must go first. Some set explicit values. */
#define ALTERNATE(name, val) T(_CXX, T_##name, #name, val)
#define PUNCTUATOR(name, string, val) T(_ALL, T_##name, string, val)
#undef PUNCTUATOR
#undef ALTERNATE
-#define S(name, description) TS(T_##name, description,)
+#define S(name, description) T(_ALL, T_##name, description,)
S(EOF, "end of input")
S(IDENTIFIER, "identifier")
S(NUMBER, "number constant")