C-Breeze
C Compiler Infrastructure

[ Project home page]

print_tree_visitor Class Reference

puts the AST on an output stream. More...

#include <print_tree_visitor.h>

Inheritance diagram for print_tree_visitor:

tree_visitor Visitor List of all members.

Public Member Functions

 print_tree_visitor (ostream &out, numbering_map *num)
virtual void at_unit (unitNode *the_unit)
virtual void at_decl (declNode *the_decl)
virtual void at_proc (procNode *the_proc)
virtual void at_prim (primNode *the_prim)
virtual void at_tdef (tdefNode *the_tdef)
virtual void at_ptr (ptrNode *the_ptr)
virtual void at_array (arrayNode *the_array)
virtual void at_func (funcNode *the_func)
virtual void at_sue (sueNode *the_sue)
virtual void at_struct (structNode *the_struct)
virtual void at_union (unionNode *the_union)
virtual void at_enum (enumNode *the_enum)
virtual void at_suespec (suespecNode *the_suespec)
virtual void at_const (constNode *the_const)
virtual void at_id (idNode *the_id)
virtual void at_binary (binaryNode *the_binary)
virtual void at_unary (unaryNode *the_unary)
virtual void at_cast (castNode *the_cast)
virtual void at_comma (commaNode *the_comma)
virtual void at_ternary (ternaryNode *the_ternary)
virtual void at_call (callNode *the_call)
virtual void at_initializer (initializerNode *the_initializer)
virtual void at_block (blockNode *the_block)
virtual void at_exprstmt (exprstmtNode *the_exprstmt)
virtual void at_label (labelNode *the_label)
virtual void at_case (caseNode *the_case)
virtual void at_if (ifNode *the_if)
virtual void at_switch (switchNode *the_switch)
virtual void at_while (whileNode *the_while)
virtual void at_do (doNode *the_do)
virtual void at_for (forNode *the_for)
virtual void at_goto (gotoNode *the_goto)
virtual void at_continue (continueNode *the_continue)
virtual void at_break (breakNode *the_break)
virtual void at_return (returnNode *the_return)
virtual void at_attrib (attribNode *the_attrib)
virtual void at_text (textNode *the_text)
"at_" methods
These methods define the functions that should be performed when different classes of Nodes are visited. The most specific "at_" method that matches a given Node's class will be called.

virtual void at_node (Node *the_node)
virtual void at_def (defNode *the_def)
virtual void at_subdecl (subdeclNode *the_subdecl)
virtual void at_type (typeNode *the_type)
virtual void at_expr (exprNode *the_expr)
virtual void at_index (indexNode *the_index)
virtual void at_stmt (stmtNode *the_stmt)
virtual void at_basicblock (basicblockNode *the_basicblock)
virtual void at_target (targetNode *the_target)
virtual void at_selection (selectionNode *the_selection)
virtual void at_loop (loopNode *the_loop)
virtual void at_jump (jumpNode *the_jump)
virtual void at_operand (operandNode *the_oper)
virtual void at_conditiongoto (conditiongotoNode *the_condgoto)
virtual void at_threeAddr (threeAddrNode *the_3addr)

Static Public Member Functions

static void print (Node *n, ostream &out)

Private Member Functions

void indent (Node *n) const
void in ()
void out ()

Private Attributes

ostream & _out
int _indent
numbering_map_num

Detailed Description

puts the AST on an output stream.

Definition at line 45 of file print_tree_visitor.h.


Constructor & Destructor Documentation

print_tree_visitor::print_tree_visitor ostream &  out,
numbering_map num
 


Member Function Documentation

virtual void print_tree_visitor::at_array arrayNode the_array  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_attrib attribNode the_attrib  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void Visitor::at_basicblock basicblockNode the_basicblock  )  [inline, virtual, inherited]
 

Definition at line 202 of file visitor.h.

References Visitor::at_block().

virtual void print_tree_visitor::at_binary binaryNode the_binary  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_block blockNode the_block  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_break breakNode the_break  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_call callNode the_call  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_case caseNode the_case  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_cast castNode the_cast  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_comma commaNode the_comma  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void Visitor::at_conditiongoto conditiongotoNode the_condgoto  )  [inline, virtual, inherited]
 

Definition at line 259 of file visitor.h.

References Visitor::at_goto().

virtual void print_tree_visitor::at_const constNode the_const  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_continue continueNode the_continue  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_decl declNode the_decl  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void Visitor::at_def defNode the_def  )  [inline, virtual, inherited]
 

Definition at line 118 of file visitor.h.

References Visitor::at_node().

Referenced by Visitor::at_decl(), and Visitor::at_proc().

virtual void print_tree_visitor::at_do doNode the_do  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_enum enumNode the_enum  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void Visitor::at_expr exprNode the_expr  )  [inline, virtual, inherited]
 

Definition at line 163 of file visitor.h.

References Visitor::at_node().

Referenced by Visitor::at_binary(), Visitor::at_call(), Visitor::at_cast(), Visitor::at_comma(), Visitor::at_index(), Visitor::at_initializer(), Visitor::at_operand(), Visitor::at_ternary(), and Visitor::at_unary().

virtual void print_tree_visitor::at_exprstmt exprstmtNode the_exprstmt  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_for forNode the_for  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_func funcNode the_func  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_goto gotoNode the_goto  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_id idNode the_id  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_if ifNode the_if  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void Visitor::at_index indexNode the_index  )  [inline, virtual, inherited]
 

Definition at line 166 of file visitor.h.

References Visitor::at_expr().

Referenced by Visitor::at_const(), and Visitor::at_id().

virtual void print_tree_visitor::at_initializer initializerNode the_initializer  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void Visitor::at_jump jumpNode the_jump  )  [inline, virtual, inherited]
 

Definition at line 238 of file visitor.h.

References Visitor::at_stmt().

Referenced by Visitor::at_break(), Visitor::at_continue(), Visitor::at_goto(), and Visitor::at_return().

virtual void print_tree_visitor::at_label labelNode the_label  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void Visitor::at_loop loopNode the_loop  )  [inline, virtual, inherited]
 

Definition at line 226 of file visitor.h.

References Visitor::at_stmt().

Referenced by Visitor::at_do(), Visitor::at_for(), and Visitor::at_while().

virtual void Visitor::at_node Node the_node  )  [inline, virtual, inherited]
 

Definition at line 111 of file visitor.h.

Referenced by Visitor::at_def(), Visitor::at_expr(), Visitor::at_stmt(), Visitor::at_text(), Visitor::at_type(), and Visitor::at_unit().

virtual void Visitor::at_operand operandNode the_oper  )  [inline, virtual, inherited]
 

Definition at line 256 of file visitor.h.

References Visitor::at_expr().

virtual void print_tree_visitor::at_prim primNode the_prim  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_proc procNode the_proc  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_ptr ptrNode the_ptr  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_return returnNode the_return  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void Visitor::at_selection selectionNode the_selection  )  [inline, virtual, inherited]
 

Definition at line 217 of file visitor.h.

References Visitor::at_stmt().

Referenced by Visitor::at_if(), and Visitor::at_switch().

virtual void Visitor::at_stmt stmtNode the_stmt  )  [inline, virtual, inherited]
 

Definition at line 196 of file visitor.h.

References Visitor::at_node().

Referenced by Visitor::at_attrib(), Visitor::at_block(), Visitor::at_exprstmt(), Visitor::at_jump(), Visitor::at_loop(), Visitor::at_selection(), Visitor::at_target(), and Visitor::at_threeAddr().

virtual void print_tree_visitor::at_struct structNode the_struct  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void Visitor::at_subdecl subdeclNode the_subdecl  )  [inline, virtual, inherited]
 

Definition at line 124 of file visitor.h.

References Visitor::at_decl().

virtual void print_tree_visitor::at_sue sueNode the_sue  )  [virtual]
 

Reimplemented from Visitor.

virtual void print_tree_visitor::at_suespec suespecNode the_suespec  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_switch switchNode the_switch  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void Visitor::at_target targetNode the_target  )  [inline, virtual, inherited]
 

Definition at line 208 of file visitor.h.

References Visitor::at_stmt().

Referenced by Visitor::at_case(), and Visitor::at_label().

virtual void print_tree_visitor::at_tdef tdefNode the_tdef  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_ternary ternaryNode the_ternary  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_text textNode the_text  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void Visitor::at_threeAddr threeAddrNode the_3addr  )  [inline, virtual, inherited]
 

Definition at line 262 of file visitor.h.

References Visitor::at_stmt().

virtual void Visitor::at_type typeNode the_type  )  [inline, virtual, inherited]
 

Definition at line 130 of file visitor.h.

References Visitor::at_node().

Referenced by Visitor::at_array(), Visitor::at_func(), Visitor::at_prim(), Visitor::at_ptr(), Visitor::at_sue(), Visitor::at_suespec(), and Visitor::at_tdef().

virtual void print_tree_visitor::at_unary unaryNode the_unary  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_union unionNode the_union  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_unit unitNode the_unit  )  [virtual]
 

Reimplemented from tree_visitor.

virtual void print_tree_visitor::at_while whileNode the_while  )  [virtual]
 

Reimplemented from tree_visitor.

void print_tree_visitor::in  )  [inline, private]
 

Definition at line 62 of file print_tree_visitor.h.

References _indent.

void print_tree_visitor::indent Node n  )  const [private]
 

void print_tree_visitor::out  )  [inline, private]
 

Definition at line 63 of file print_tree_visitor.h.

References _indent.

static void print_tree_visitor::print Node n,
ostream &  out
[static]
 


Member Data Documentation

int print_tree_visitor::_indent [private]
 

Definition at line 57 of file print_tree_visitor.h.

Referenced by in(), and out().

numbering_map* print_tree_visitor::_num [private]
 

Definition at line 58 of file print_tree_visitor.h.

ostream& print_tree_visitor::_out [private]
 

Definition at line 56 of file print_tree_visitor.h.


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

Generated on February 1, 2006
Back to the C-Breeze home page