X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=symbol_table.c;h=8f546b36dd3c8f9222fe7bc0f51863d83ffb8e71;hb=946ecca09f62b2e57a19e7f7fbfcfedd857ded37;hp=c422e0c6b4ca38437baecb275631d4780e875d05;hpb=d5e8df5885f97ea65839f8970b8697549c207610;p=cparser diff --git a/symbol_table.c b/symbol_table.c index c422e0c..8f546b3 100644 --- a/symbol_table.c +++ b/symbol_table.c @@ -1,6 +1,7 @@ #include #include "symbol_table_t.h" +#include "token_t.h" #include "adt/hash_string.h" #include "adt/obst.h" @@ -9,8 +10,10 @@ struct obstack symbol_obstack; static inline void init_symbol_table_entry(symbol_t *entry, const char *string) { - entry->ID = 0; - entry->string = string; + entry->string = string; + entry->ID = T_IDENTIFIER; + entry->pp_ID = 0; + entry->declaration = NULL; } #define HashSet symbol_table_t @@ -41,28 +44,20 @@ void init_symbol_table_entry(symbol_t *entry, const char *string) #include "adt/hashset.c" static symbol_table_t symbol_table; -static symbol_table_t preprocessor_symbol_table; symbol_t *symbol_table_insert(const char *symbol) { return _symbol_table_insert(&symbol_table, symbol); } -symbol_t *preprocessor_symbol_table_insert(const char *symbol) -{ - return _symbol_table_insert(&preprocessor_symbol_table, symbol); -} - void init_symbol_table(void) { obstack_init(&symbol_obstack); _symbol_table_init(&symbol_table); - _symbol_table_init(&preprocessor_symbol_table); } void exit_symbol_table(void) { _symbol_table_destroy(&symbol_table); - _symbol_table_destroy(&preprocessor_symbol_table); obstack_free(&symbol_obstack, NULL); }