basic symbol table implementation using a trie