Nearly CC
An educational compiler skeleton
Public Types | Public Member Functions | List of all members
SymbolTable Class Reference

Public Types

typedef std::vector< Symbol * >::const_iterator const_iterator
 

Public Member Functions

 SymbolTable (SymbolTable *parent)
 
SymbolTableget_parent () const
 
bool has_params () const
 
void set_has_params (bool has_params)
 
bool has_symbol_local (const std::string &name) const
 
Symbollookup_local (const std::string &name) const
 
Symboldeclare (SymbolKind sym_kind, const std::string &name, const std::shared_ptr< Type > &type)
 
Symboldefine (SymbolKind sym_kind, const std::string &name, const std::shared_ptr< Type > &type)
 
const_iterator cbegin () const
 
const_iterator cend () const
 
Symbollookup_recursive (const std::string &name) const
 
void set_fn_type (const std::shared_ptr< Type > &fn_type)
 
std::shared_ptr< Typeget_fn_type () const
 
int get_depth () const
 

The documentation for this class was generated from the following files: