|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
print_tree_visitor Class Referenceputs the AST on an output stream.
More...
|
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 | |
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 |
Definition at line 45 of file print_tree_visitor.h.
|
Definition at line 61 of file print_tree_visitor.cc. |
|
Reimplemented from tree_visitor. Definition at line 190 of file print_tree_visitor.cc. References _out, tree_visitor::at_array(), arrayNode::dim(), in(), indent(), out(), arrayNode::size(), and typeNode::type_qualifiers_name(). |
|
Reimplemented from tree_visitor. Definition at line 721 of file print_tree_visitor.cc. References _out, tree_visitor::at_attrib(), in(), indent(), attribNode::name(), and out(). |
|
Definition at line 202 of file visitor.h. References Visitor::at_block(). Referenced by basicblockNode::visit(). |
|
Reimplemented from tree_visitor. Definition at line 310 of file print_tree_visitor.cc. References _out, tree_visitor::at_binary(), in(), indent(), binaryNode::left(), binaryNode::op(), out(), Operator::print(), and binaryNode::right(). |
|
Reimplemented from tree_visitor. Definition at line 441 of file print_tree_visitor.cc. References _out, tree_visitor::at_block(), blockNode::decls(), in(), indent(), out(), and blockNode::stmts(). |
|
Reimplemented from tree_visitor. Definition at line 687 of file print_tree_visitor.cc. References _out, tree_visitor::at_break(), breakNode::container(), in(), indent(), and out(). |
|
Reimplemented from tree_visitor. Definition at line 402 of file print_tree_visitor.cc. References _out, callNode::args(), tree_visitor::at_call(), in(), indent(), callNode::name(), out(), and callNode::proc(). |
|
Reimplemented from tree_visitor. Definition at line 512 of file print_tree_visitor.cc. References _out, tree_visitor::at_case(), caseNode::container(), caseNode::expr(), in(), indent(), out(), and targetNode::stmt(). |
|
Reimplemented from tree_visitor. Definition at line 347 of file print_tree_visitor.cc. References _out, tree_visitor::at_cast(), castNode::expr(), in(), indent(), castNode::is_implicit(), and out(). |
|
Reimplemented from tree_visitor. Definition at line 367 of file print_tree_visitor.cc. References _out, tree_visitor::at_comma(), in(), indent(), and out(). |
|
Definition at line 259 of file visitor.h. References Visitor::at_goto(). Referenced by conditiongotoNode::visit(). |
|
Reimplemented from tree_visitor. Definition at line 283 of file print_tree_visitor.cc. References _out, tree_visitor::at_const(), in(), indent(), out(), and constNode::text(). |
|
Reimplemented from tree_visitor. Definition at line 672 of file print_tree_visitor.cc. References _out, tree_visitor::at_continue(), continueNode::container(), in(), indent(), and out(). |
|
Reimplemented from tree_visitor. Definition at line 96 of file print_tree_visitor.cc. References _out, tree_visitor::at_decl(), declNode::decl_location(), declNode::decl_location_name(), in(), indent(), declNode::name(), out(), declNode::storage_class(), and declNode::storage_class_name(). |
|
Definition at line 118 of file visitor.h. References Visitor::at_node(). Referenced by Visitor::at_decl(), and Visitor::at_proc(). |
|
Reimplemented from tree_visitor. Definition at line 610 of file print_tree_visitor.cc. References _out, tree_visitor::at_do(), loopNode::body(), loopNode::cond(), in(), indent(), and out(). |
|
Reimplemented from tree_visitor. Definition at line 258 of file print_tree_visitor.cc. References at_sue(). |
|
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(), Visitor::at_unary(), and metaexprNode::visit(). |
|
Reimplemented from tree_visitor. Definition at line 461 of file print_tree_visitor.cc. References _out, tree_visitor::at_exprstmt(), exprstmtNode::expr(), in(), indent(), and out(). |
|
Reimplemented from tree_visitor. Definition at line 630 of file print_tree_visitor.cc. References _out, tree_visitor::at_for(), loopNode::body(), loopNode::cond(), in(), indent(), forNode::init(), forNode::next(), and out(). |
|
Reimplemented from tree_visitor. Definition at line 207 of file print_tree_visitor.cc. References _out, tree_visitor::at_func(), in(), indent(), out(), and typeNode::type_qualifiers_name(). |
|
Reimplemented from tree_visitor. Definition at line 656 of file print_tree_visitor.cc. References _out, tree_visitor::at_goto(), in(), indent(), gotoNode::label(), gotoNode::name(), and out(). |
|
Reimplemented from tree_visitor. Definition at line 295 of file print_tree_visitor.cc. References _out, tree_visitor::at_id(), idNode::decl(), in(), indent(), idNode::name(), and out(). |
|
Reimplemented from tree_visitor. Definition at line 535 of file print_tree_visitor.cc. References _out, tree_visitor::at_if(), selectionNode::expr(), ifNode::false_br(), in(), indent(), out(), and ifNode::true_br(). |
|
Definition at line 166 of file visitor.h. References Visitor::at_expr(). Referenced by Visitor::at_const(), and Visitor::at_id(). |
|
Reimplemented from tree_visitor. Definition at line 424 of file print_tree_visitor.cc. References _out, tree_visitor::at_initializer(), initializerNode::exprs(), in(), indent(), and out(). |
|
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(). |
|
Reimplemented from tree_visitor. Definition at line 478 of file print_tree_visitor.cc. References _out, tree_visitor::at_label(), goto_list, goto_list_p, in(), indent(), labelNode::name(), out(), labelNode::references(), and targetNode::stmt(). |
|
Definition at line 226 of file visitor.h. References Visitor::at_stmt(). Referenced by Visitor::at_do(), Visitor::at_for(), and Visitor::at_while(). |
|
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(). |
|
Definition at line 256 of file visitor.h. References Visitor::at_expr(). Referenced by operandNode::visit(). |
|
Reimplemented from tree_visitor. Definition at line 140 of file print_tree_visitor.cc. References _out, tree_visitor::at_prim(), primNode::basic(), in(), indent(), out(), basic_type::to_string(), and typeNode::type_qualifiers_name(). |
|
Reimplemented from tree_visitor. Definition at line 120 of file print_tree_visitor.cc. References _out, tree_visitor::at_proc(), procNode::body(), procNode::decl(), in(), indent(), and out(). |
|
Reimplemented from tree_visitor. Definition at line 178 of file print_tree_visitor.cc. References _out, tree_visitor::at_ptr(), in(), indent(), out(), and typeNode::type_qualifiers_name(). |
|
Reimplemented from tree_visitor. Definition at line 702 of file print_tree_visitor.cc. References _out, tree_visitor::at_return(), returnNode::expr(), in(), indent(), out(), and returnNode::proc(). |
|
Definition at line 217 of file visitor.h. References Visitor::at_stmt(). Referenced by Visitor::at_if(), and Visitor::at_switch(). |
|
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(), Visitor::at_threeAddr(), and metastmtNode::visit(). |
|
Reimplemented from tree_visitor. Definition at line 252 of file print_tree_visitor.cc. References at_sue(). |
|
Definition at line 124 of file visitor.h. References Visitor::at_decl(). Referenced by subdeclNode::visit(). |
|
Reimplemented from Visitor. Definition at line 219 of file print_tree_visitor.cc. References _out, sueNode::elaborated(), Enum, in(), indent(), suespecNode::name(), out(), sueNode::spec(), Struct, Node::typ(), Union, and suespecNode::visit(). Referenced by at_enum(), at_struct(), and at_union(). |
|
Reimplemented from tree_visitor. Definition at line 262 of file print_tree_visitor.cc. References _out, suespecNode::align(), tree_visitor::at_suespec(), suespecNode::complete(), in(), indent(), out(), suespecNode::size(), typeNode::type_qualifiers_name(), and suespecNode::visited(). |
|
Reimplemented from tree_visitor. Definition at line 558 of file print_tree_visitor.cc. References _out, tree_visitor::at_switch(), switchNode::cases(), selectionNode::expr(), in(), indent(), out(), selectionNode::stmt(), target_list, and target_list_p. |
|
Definition at line 208 of file visitor.h. References Visitor::at_stmt(). Referenced by Visitor::at_case(), and Visitor::at_label(). |
|
Reimplemented from tree_visitor. Definition at line 156 of file print_tree_visitor.cc. References _out, tree_visitor::at_tdef(), tdefNode::def(), in(), indent(), tdefNode::name(), out(), and typeNode::type_qualifiers_name(). |
|
Reimplemented from tree_visitor. Definition at line 379 of file print_tree_visitor.cc. References _out, tree_visitor::at_ternary(), ternaryNode::cond(), ternaryNode::false_br(), in(), indent(), out(), and ternaryNode::true_br(). |
|
Reimplemented from tree_visitor. Definition at line 733 of file print_tree_visitor.cc. References _out, tree_visitor::at_text(), in(), indent(), out(), and textNode::text(). |
|
Definition at line 262 of file visitor.h. References Visitor::at_stmt(). Referenced by threeAddrNode::visit(). |
|
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(). |
|
Reimplemented from tree_visitor. Definition at line 330 of file print_tree_visitor.cc. References _out, tree_visitor::at_unary(), unaryNode::expr(), in(), indent(), unaryNode::op(), out(), and Operator::print(). |
|
Reimplemented from tree_visitor. Definition at line 255 of file print_tree_visitor.cc. References at_sue(). |
|
Reimplemented from tree_visitor. Definition at line 84 of file print_tree_visitor.cc. References _out, tree_visitor::at_unit(), in(), indent(), and out(). |
|
Reimplemented from tree_visitor. Definition at line 590 of file print_tree_visitor.cc. References _out, tree_visitor::at_while(), loopNode::body(), loopNode::cond(), in(), indent(), and out(). |
|
Definition at line 62 of file print_tree_visitor.h. Referenced by at_array(), at_attrib(), at_binary(), at_block(), at_break(), at_call(), at_case(), at_cast(), at_comma(), at_const(), at_continue(), at_decl(), at_do(), at_exprstmt(), at_for(), at_func(), at_goto(), at_id(), at_if(), at_initializer(), at_label(), at_prim(), at_proc(), at_ptr(), at_return(), at_sue(), at_suespec(), at_switch(), at_tdef(), at_ternary(), at_text(), at_unary(), at_unit(), and at_while(). |
|
Definition at line 68 of file print_tree_visitor.cc. References _out. Referenced by at_array(), at_attrib(), at_binary(), at_block(), at_break(), at_call(), at_case(), at_cast(), at_comma(), at_const(), at_continue(), at_decl(), at_do(), at_exprstmt(), at_for(), at_func(), at_goto(), at_id(), at_if(), at_initializer(), at_label(), at_prim(), at_proc(), at_ptr(), at_return(), at_sue(), at_suespec(), at_switch(), at_tdef(), at_ternary(), at_text(), at_unary(), at_unit(), and at_while(). |
|
Definition at line 63 of file print_tree_visitor.h. Referenced by at_array(), at_attrib(), at_binary(), at_block(), at_break(), at_call(), at_case(), at_cast(), at_comma(), at_const(), at_continue(), at_decl(), at_do(), at_exprstmt(), at_for(), at_func(), at_goto(), at_id(), at_if(), at_initializer(), at_label(), at_prim(), at_proc(), at_ptr(), at_return(), at_sue(), at_suespec(), at_switch(), at_tdef(), at_ternary(), at_text(), at_unary(), at_unit(), and at_while(). |
|
Definition at line 47 of file print_tree_visitor.cc. References df_number_walker::number(), numbering_map, and Node::visit(). |
|
Definition at line 57 of file print_tree_visitor.h. |
|
Definition at line 58 of file print_tree_visitor.h. |
|
Definition at line 56 of file print_tree_visitor.h. Referenced by at_array(), at_attrib(), at_binary(), at_block(), at_break(), at_call(), at_case(), at_cast(), at_comma(), at_const(), at_continue(), at_decl(), at_do(), at_exprstmt(), at_for(), at_func(), at_goto(), at_id(), at_if(), at_initializer(), at_label(), at_prim(), at_proc(), at_ptr(), at_return(), at_sue(), at_suespec(), at_switch(), at_tdef(), at_ternary(), at_text(), at_unary(), at_unit(), at_while(), and indent(). |
Generated on August 27, 2003
Back to the C-Breeze home page