Do not consider alignment in the type hash. It is just wrong.
[cparser] / token_t.h
index 22b8369..ecd26bb 100644 (file)
--- a/token_t.h
+++ b/token_t.h
 #include "symbol_table.h"
 #include "type.h"
 
-typedef enum {
+typedef enum token_type_t {
+       T_ERROR = -1,
        T_NULL  =  0,
-       T_EOF   = -1,
-       T_ERROR = -2,
+       T_EOF   = '\x04', // EOT
 #define T(mode,x,str,val) T_##x val,
 #define TS(x,str,val) T_##x val,
 #include "tokens.inc"
@@ -38,7 +38,7 @@ typedef enum {
        T_LAST_TOKEN
 } token_type_t;
 
-typedef enum {
+typedef enum preprocessor_token_type_t {
        TP_NULL  = T_NULL,
        TP_EOF   = T_EOF,
        TP_ERROR = T_ERROR,
@@ -77,7 +77,7 @@ void exit_tokens(void);
 void print_token_type(FILE *out, token_type_t token_type);
 void print_token(FILE *out, const token_t *token);
 
-void print_pp_token_type(FILE *out, preprocessor_token_type_t type);
+void print_pp_token_type(FILE *out, int type);
 void print_pp_token(FILE *out, const token_t *token);
 
 #endif