X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=inline;f=symbol_table.c;h=9d45de342d6dc1bb4aa60db5ca8a4f76274845af;hb=a7d409e6727f11d1697f4997f79fc53c6b07dc14;hp=948b1541e9748bc91d3872795a69b20b456373c9;hpb=63fb3c3532bd7d91adcd19fb0c56cadd7957e0de;p=cparser diff --git a/symbol_table.c b/symbol_table.c index 948b154..9d45de3 100644 --- a/symbol_table.c +++ b/symbol_table.c @@ -39,7 +39,6 @@ void init_symbol_table_entry(symbol_t *entry, const char *string) } #define HashSet symbol_table_t -#define HashSetIterator symbol_table_iterator_t #define HashSetEntry symbol_table_hash_entry_t #define ValueType symbol_t* #define NullValue NULL @@ -53,21 +52,19 @@ void init_symbol_table_entry(symbol_t *entry, const char *string) #define SetRangeEmpty(ptr,size) memset(ptr, 0, (size) * sizeof(symbol_table_hash_entry_t)) #define SCALAR_RETURN +void _symbol_table_init(symbol_table_t *symbol_table); #define hashset_init _symbol_table_init -#define hashset_init_size _symbol_table_init_size +void _symbol_table_destroy(symbol_table_t *symbol_table); #define hashset_destroy _symbol_table_destroy +symbol_t *_symbol_table_insert(symbol_table_t *symbol_table, const char *key); #define hashset_insert _symbol_table_insert -#define hashset_remove _symbol_table_remove -#define hashset_find _symbol_table_find -#define hashset_size _symbol_table_size -#define hashset_iterator_init _symbol_table_iterator_init -#define hashset_iterator_next _symbol_table_iterator_next -#define hashset_remove_iterator _symbol_table_remove_iterator -#include "adt/hashset.c" +#include "adt/hashset.c.inl" static symbol_table_t symbol_table; +symbol_t *sym_anonymous; + symbol_t *symbol_table_insert(const char *string) { return _symbol_table_insert(&symbol_table, string); @@ -77,6 +74,7 @@ void init_symbol_table(void) { obstack_init(&symbol_obstack); _symbol_table_init(&symbol_table); + sym_anonymous = symbol_table_insert(""); } void exit_symbol_table(void)