Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

SymbolTable Class Template Reference

#include <symbol.h>

List of all members.

Public Methods

 SymbolTable (bool is_nested)
 ~SymbolTable ()
void mark_nodes (void)
void reset ()
insert (const string &name, T sym)
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

template<class T>
class SymbolTable< T >


Member Typedef Documentation

template<class T>
typedef map<string, T, less< string > > SymbolTable::scope [private]
 

template<class T>
typedef scope::iterator SymbolTable::scope_p [private]
 

template<class T>
typedef list< scope * > SymbolTable::table [private]
 

template<class T>
typedef table::iterator SymbolTable::table_p [private]
 


Constructor & Destructor Documentation

template<class T>
SymbolTable< T >::SymbolTable bool    is_nested [inline]
 

template<class T>
SymbolTable< T >::~SymbolTable  
 


Member Function Documentation

template<class T>
void SymbolTable< T >::enter_scope  
 

template<class T>
void SymbolTable< T >::exit_scope  
 

template<class T>
T SymbolTable< T >::insert const string &    name,
  sym
 

template<class T>
string SymbolTable< T >::insert_unique const string &    root,
  sym
 

template<class T>
T SymbolTable< T >::lookup const string &    name
 

template<class T>
void SymbolTable< T >::mark_nodes void   
 

template<class T>
virtual void SymbolTable< T >::notify_exit_scope   dead [private, pure virtual]
 

template<class T>
void SymbolTable< T >::print FILE *    out
 

template<class T>
void SymbolTable< T >::reset  
 

template<class T>
virtual void SymbolTable< T >::shadow   create,
  shadowed
[private, pure virtual]
 


Member Data Documentation

template<class T>
bool SymbolTable::_is_nested [private]
 

template<class T>
table SymbolTable::_table [private]
 


The documentation for this class was generated from the following files:
Generated on Thu Jan 10 12:06:34 2002 for C-Breeze by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001