#include <symbol.h>
Public Methods | |
| SymbolTable (bool is_nested) | |
| ~SymbolTable () | |
| void | mark_nodes (void) |
| void | reset () |
| T | insert (const string &name, T sym) |
| T | lookup (const string &name) |
| void | print (FILE *out) |
| string | insert_unique (const string &root, T sym) |
| void | enter_scope () |
| void | exit_scope () |
Private Types | |
| typedef map< string, T, less< string > > | scope |
| typedef scope::iterator | scope_p |
| typedef list< scope * > | table |
| typedef table::iterator | table_p |
Private Methods | |
| virtual void | shadow (T create, T shadowed)=0 |
| virtual void | notify_exit_scope (T dead)=0 |
Private Attributes | |
| bool | _is_nested |
| table | _table |
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
||||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||
|
|
|
||||||||||
|
|
|
||||||||||
|
|
|
||||||||||
|
|
|
|||||||||
|
|
|
||||||||||||||||
|
|
|
|||||
|
|
|
|||||
|
|
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001