The symtab_t data type
manages symbol tables where the keys are strings of type
char * and the values are
pointers of type void *.
At present, they are implemented inefficiently using dynamic arrays, but this will change if the need arises.
void symtab_init(symtab_t t)
Initialize symbol table t. Must be called before t is used.
void symtab_clear(symtab_t t)
Clears symbol table t. Should be called after t is no longer needed.
void symtab_put(symtab_t t, void *value, char *key)
Puts value at key in t.
int symtab_has(symtab_t t, char *key)
Returns true if t contains key key.
void *symtab_at(symtab_t t, char *key)
Returns pointer at key key in t.