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 |