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

vcgASTWalker Class Reference

Inheritance diagram for vcgASTWalker::

vcgWalker Walker List of all members.

Public Methods

 vcgASTWalker (ostream &ostr, const string &comment, string excludefilename)
virtual ~vcgASTWalker (void)

Private Types

typedef pair< Node *, string > Edge
typedef list< Edge > Edges
typedef Edges::iterator Edges_p
typedef map< Node *, Edges > Edge_map

Private Methods

virtual void finalize_graph ()
void print_node (Node *n)
string node_title (Node *n)
string node_label (Node *n)
void print_edge (Node *from, Node *to, string name)
void delayed_print_edge (void)
string node_name (Node *n)
template<class S, class T> void print_edges (S parent, list< T > &children, string name)
void at_unit (unitNode *the_unit, Order ord)
void at_decl (declNode *the_decl, Order ord)
void at_proc (procNode *the_proc, Order ord)
void at_prim (primNode *the_prim, Order ord)
void at_tdef (tdefNode *the_tdef, Order ord)
void at_ptr (ptrNode *the_ptr, Order ord)
void at_array (arrayNode *the_array, Order ord)
void at_func (funcNode *the_func, Order ord)
void at_sue (sueNode *the_sue, Order ord)
void at_suespec (suespecNode *the_suespec, Order ord)
void at_const (constNode *the_const, Order ord)
void at_id (idNode *the_id, Order ord)
void at_binary (binaryNode *the_binary, Order ord)
void at_unary (unaryNode *the_unary, Order ord)
void at_cast (castNode *the_cast, Order ord)
void at_comma (commaNode *the_comma, Order ord)
void at_ternary (ternaryNode *the_ternary, Order ord)
void at_call (callNode *the_call, Order ord)
void at_initializer (initializerNode *the_initializer, Order ord)
void at_block (blockNode *the_block, Order ord)
void at_exprstmt (exprstmtNode *the_exprstmt, Order ord)
void at_label (labelNode *the_label, Order ord)
void at_case (caseNode *the_case, Order ord)
void at_if (ifNode *the_if, Order ord)
void at_switch (switchNode *the_switch, Order ord)
void at_while (whileNode *the_while, Order ord)
void at_do (doNode *the_do, Order ord)
void at_for (forNode *the_for, Order ord)
void at_goto (gotoNode *the_goto, Order ord)
void at_continue (continueNode *the_continue, Order ord)
void at_break (breakNode *the_break, Order ord)
void at_return (returnNode *the_return, Order ord)
void at_attrib (attribNode *the_attrib, Order ord)
void at_text (textNode *the_text, Order ord)

Private Attributes

node_list nodes
Edge_map edges

Member Typedef Documentation

typedef pair<Node*, string> vcgASTWalker::Edge [private]
 

typedef map<Node*,Edges> vcgASTWalker::Edge_map [private]
 

typedef list<Edge> vcgASTWalker::Edges [private]
 

typedef Edges::iterator vcgASTWalker::Edges_p [private]
 


Constructor & Destructor Documentation

vcgASTWalker::vcgASTWalker (  ostream &    ostr,
const string &    comment,
string    excludefilename
)  [inline]
 

virtual vcgASTWalker::~vcgASTWalker (  void    )  [inline, virtual]
 


Member Function Documentation

void vcgASTWalker::at_array (  arrayNode *    the_array,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_attrib (  attribNode *    the_attrib,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_binary (  binaryNode *    the_binary,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_block (  blockNode *    the_block,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_break (  breakNode *    the_break,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_call (  callNode *    the_call,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_case (  caseNode *    the_case,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_cast (  castNode *    the_cast,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_comma (  commaNode *    the_comma,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_const (  constNode *    the_const,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_continue (  continueNode *    the_continue,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_decl (  declNode *    the_decl,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_do (  doNode *    the_do,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_exprstmt (  exprstmtNode *    the_exprstmt,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_for (  forNode *    the_for,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_func (  funcNode *    the_func,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_goto (  gotoNode *    the_goto,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_id (  idNode *    the_id,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_if (  ifNode *    the_if,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_initializer (  initializerNode *    the_initializer,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_label (  labelNode *    the_label,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_prim (  primNode *    the_prim,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_proc (  procNode *    the_proc,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from vcgWalker.

void vcgASTWalker::at_ptr (  ptrNode *    the_ptr,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_return (  returnNode *    the_return,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_sue (  sueNode *    the_sue,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_suespec (  suespecNode *    the_suespec,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_switch (  switchNode *    the_switch,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_tdef (  tdefNode *    the_tdef,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_ternary (  ternaryNode *    the_ternary,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_text (  textNode *    the_text,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_unary (  unaryNode *    the_unary,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_unit (  unitNode *    the_unit,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::at_while (  whileNode *    the_while,
Order    ord
)  [inline, private, virtual]
 

Reimplemented from Walker.

void vcgASTWalker::delayed_print_edge (  void    )  [inline, private]
 

virtual void vcgASTWalker::finalize_graph (    )  [inline, private, virtual]
 

Reimplemented from vcgWalker.

string vcgASTWalker::node_label (  Node *    n )  [inline, private]
 

string vcgASTWalker::node_name (  Node *    n )  [inline, private]
 

string vcgASTWalker::node_title (  Node *    n )  [inline, private]
 

void vcgASTWalker::print_edge (  Node *    from,
Node *    to,
string    name
)  [inline, private]
 

template<class S, class T>
void vcgASTWalker::print_edges (  S    parent,
list< T > &    children,
string    name
)  [inline, private]
 

void vcgASTWalker::print_node (  Node *    n )  [inline, private]
 


Member Data Documentation

Edge_map vcgASTWalker::edges [private]
 

node_list vcgASTWalker::nodes [private]
 


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