Symbol tables

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. They are only used when reading a pbc_param_t from a string. Declared in pbc_symtab.h.

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.