symtab_t data type manages symbol tables where the keys are strings of
char * and the values are pointers of type
At present, they are implemented inefficiently using dynamic arrays, but this
will change if the need arises. They are only used when reading a
from a string. Declared in
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, const char *key)
Puts value at key in t.
int symtab_has(symtab_t t, const char *key)
Returns true if t contains key key.
void * symtab_at(symtab_t t, const char *key)
Returns pointer at key key in t.