![]() |
|
Aux class used to create symbol table scoping. More...
#include <csymtab.h>
Public Member Functions | |
| CSymtab () | |
| Create a symbol table. | |
| void | PopScope () |
| Jump back to parent scope. | |
| void | PushScope () |
| Create a new scope for table. | |
| void | Add (CSymbol *sym, T1 *obj) |
| Add a symbol and it's assocated object at the current level. | |
| T1 * | LookupTop (CSymbol *sym) |
| Lookup symbol only in current scope. | |
| T1 * | Lookup (CSymbol *sym) |
| Lookup symbol in all scopes starting at the current scope. | |
| void | Dump (FILE *f, int recurse) |
| Dump all symbols in table to file descriptor. | |
Aux class used to create symbol table scoping.
Class for a type safe hierarchical symbol table. Each level of the table represents a different nested scope. Searches a the leaves of the table seach upward to the table root if needed.
Add a symbol and it's assocated object at the current level.
Create a new level if needed.
| sym | symbol to add to table. | |
| obj | object to associated with symbol. |
| void CSymtab< T1 >::Dump | ( | FILE * | f, | |
| int | recurse | |||
| ) | [inline] |
Dump all symbols in table to file descriptor.
| f | file descriptor. | |
| recurse | zero if only current depth should be dumped. |
Lookup symbol in all scopes starting at the current scope.
| sym | symbol to search for. |
Lookup symbol only in current scope.
| sym | symbol to search for. |
| void CSymtab< T1 >::PopScope | ( | ) | [inline] |
Jump back to parent scope.
| void CSymtab< T1 >::PushScope | ( | ) | [inline] |
Create a new scope for table.
1.7.1