60 std::vector<std::string >
keys;
72 bool putSymbol(
const std::string& symbol, T value );
96 void storeSymbol(
const std::string& symbol, T value );
99 std::map<std::string , T> STVars;
102 std::vector<std::map<std::string , T> > STScopes;
105 #ifdef EARLY_TEMPLATE
106 #ifdef __EXECUTABLE__
SymbolTable()
default constructor creates an empty symbol table, calls initScope(), clears local symbols...
std::vector< std::string >::iterator keyIterator
This is an iterator for the vector storing the keys available in the map.
Definition: symtab.hh:62
void clearScope()
Init scope by clearing inner symbols.
void initScope()
Enter new scope.
void exitScope()
Exit current scope.
std::vector< std::string > keys
This vector stores keys available in the map.
Definition: symtab.hh:60
bool putSymbol(const std::string &symbol, T value)
Puts value at position symbol in the table. Returns true if it succeeded, otherwise false...
T getSymbol(const std::string &symbol)
Get value at position symbol from the table. If symbol doesn't exist, it returns NULL.
void outScope()
Output current scope to RMInit::logOut.
bool lookupSymbol(const std::string &symbol)
Returns true if symbol is in table.
~SymbolTable()
default destructor, calls exitScope().
void wipe()
Clear all symbols in all scopes.