C-Breeze
C Compiler Infrastructure

[ Project home page]
Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Labels_table Class Reference

#include <symbol.h>

Inheritance diagram for Labels_table:

SymbolTable< labelNode * > List of all members.

Public Member Functions

 Labels_table ()
void mark_nodes (void)
void reset ()
labelNode * insert (const string &name, labelNode *sym)
labelNode * lookup (const string &name)
void print (FILE *out)
string insert_unique (const string &root, labelNode *sym)
void enter_scope ()
void exit_scope ()

Private Member Functions

void shadow (labelNode *create, labelNode *shadowed)
void notify_exit_scope (labelNode *dead)

Constructor & Destructor Documentation

Labels_table::Labels_table (    ) 
 

Definition at line 250 of file symbol.cc.


Member Function Documentation

void SymbolTable< labelNode * >::enter_scope (    )  [inherited]
 

void SymbolTable< labelNode * >::exit_scope (    )  [inherited]
 

labelNode * SymbolTable< labelNode * >::insert (  const string &    name,
labelNode *    sym
)  [inherited]
 

Referenced by goto_label_walker::at_label().

string SymbolTable< labelNode * >::insert_unique (  const string &    root,
labelNode *    sym
)  [inherited]
 

Referenced by name_mangle_walker::at_label().

labelNode * SymbolTable< labelNode * >::lookup (  const string &    name )  [inherited]
 

Referenced by goto_label_walker::at_goto().

void SymbolTable< labelNode * >::mark_nodes (  void    )  [inherited]
 

void Labels_table::notify_exit_scope (  labelNode *    dead )  [private, virtual]
 

Implements SymbolTable< labelNode * >.

Definition at line 292 of file symbol.cc.

References Node::coord(), labelNode::is_undeclared(), Coord::is_unknown(), labelNode::name(), labelNode::references(), CBZ::SyntaxError(), and CBZ::Warning().

void SymbolTable< labelNode * >::print (  FILE *    out )  [inherited]
 

void SymbolTable< labelNode * >::reset (    )  [inherited]
 

Referenced by goto_label_walker::fixup().

void Labels_table::shadow (  labelNode *    create,
labelNode *    shadowed
)  [private, virtual]
 

Implements SymbolTable< labelNode * >.

Definition at line 288 of file symbol.cc.


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

Generated on August 27, 2003
Back to the C-Breeze home page