#include <pinapa-tree-utils.h>
Inheritance diagram for pinapa::treeVisitor:

Public Member Functions | |
| treeVisitor () | |
| virtual int | accept (const tree body) |
| Visit starts here. | |
Protected Member Functions | |
| virtual int | visitBlock (const tree node) |
| virtual int | visitTryBlock (const tree node) |
| virtual int | visitBreakStmt (const tree node) |
| virtual int | visitCaseStmt (const tree node) |
| virtual int | visitCleanupStmt (const tree node) |
| virtual int | visitCompoundStmt (const tree node) |
| virtual int | visitDoStmt (const tree node) |
| virtual int | visitDeclStmt (const tree node) |
| virtual int | visitExprStmt (const tree node) |
| virtual int | visitFileStmt (const tree node) |
| virtual int | visitForStmt (const tree node) |
| virtual int | visitGotoStmt (const tree node) |
| virtual int | visitIfStmt (const tree node) |
| virtual int | visitLabelStmt (const tree node) |
| virtual int | visitReturnStmt (const tree node) |
| virtual int | visitScopeStmt (const tree node) |
| virtual int | visitSwitchStmt (const tree node) |
| virtual int | visitWhileStmt (const tree node) |
| virtual int | visitBinaryOpExpr (const tree node) |
| virtual int | visitBindExpr (const tree node) |
| virtual int | visitCallExpr (const tree node) |
| virtual int | visitCompoundExpr (const tree node) |
| virtual int | visitCondExpr (const tree node) |
| virtual int | visitConvertExpr (const tree node) |
| virtual int | visitFloatExpr (const tree node) |
| virtual int | visitIncrementExpr (const tree node) |
| virtual int | visitInitExpr (const tree node) |
| virtual int | visitModifyExpr (const tree node) |
| virtual int | visitNopExpr (const tree node) |
| virtual int | visitSaveExpr (const tree node) |
| virtual int | visitStmtExpr (const tree node) |
| virtual int | visitTargetExpr (const tree node) |
| virtual int | visitUnaryOpExpr (const tree node) |
| virtual int | visitConstant (const tree node) |
| virtual int | visitFunDecl (const tree node) |
| virtual int | visitFieldDecl (const tree node) |
| virtual int | visitParamDecl (const tree node) |
| virtual int | visitResultDecl (const tree node) |
| virtual int | visitTypeDecl (const tree node) |
| virtual int | visitVarDecl (const tree node) |
| virtual int | visitArrayRef (const tree node) |
| virtual int | visitComponentRef (const tree node) |
| virtual int | visitTreeList (const tree node) |
| virtual int | dispatch (const tree node) |
| Generic Node dispatcher. | |
| virtual const tree | next (const tree node) |
| Generic Node chainer. | |
| virtual int | visitNode (const tree node) |
| Generic Node visitor. | |
Protected Attributes | |
| int | m_result |
| Propagated result code. | |
Private Attributes | |
| tree | m_body |
| Node where visit has begun. | |
The visitor handles tree hierarchy structure that is compiler-related. It can be overloaded to handle specific nodes in AST.
As a sample usage, it may be relevant to look for specific Pinapa decorations along the tree returned by a call to
pinapa::st_process_deco::get(sc_module *)->get_gcc_body())
| pinapa::treeVisitor::treeVisitor | ( | ) | [inline] |
| virtual int pinapa::treeVisitor::accept | ( | const tree | body | ) | [inline, virtual] |
Visit starts here.
| int treeVisitor::visitBlock | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitTryBlock | ( | const tree | node | ) | [protected, virtual] |
| virtual int pinapa::treeVisitor::visitBreakStmt | ( | const tree | node | ) | [inline, protected, virtual] |
| int treeVisitor::visitCaseStmt | ( | const tree | node | ) | [protected, virtual] |
| virtual int pinapa::treeVisitor::visitCleanupStmt | ( | const tree | node | ) | [inline, protected, virtual] |
| int treeVisitor::visitCompoundStmt | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitDoStmt | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitDeclStmt | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitExprStmt | ( | const tree | node | ) | [protected, virtual] |
| virtual int pinapa::treeVisitor::visitFileStmt | ( | const tree | node | ) | [inline, protected, virtual] |
| int treeVisitor::visitForStmt | ( | const tree | node | ) | [protected, virtual] |
| virtual int pinapa::treeVisitor::visitGotoStmt | ( | const tree | node | ) | [inline, protected, virtual] |
| int treeVisitor::visitIfStmt | ( | const tree | node | ) | [protected, virtual] |
| virtual int pinapa::treeVisitor::visitLabelStmt | ( | const tree | node | ) | [inline, protected, virtual] |
| int treeVisitor::visitReturnStmt | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitScopeStmt | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitSwitchStmt | ( | const tree | node | ) | [protected, virtual] |
Reimplemented in pinapa::function_body_visitor.
| int treeVisitor::visitWhileStmt | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitBinaryOpExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitBindExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitCallExpr | ( | const tree | node | ) | [protected, virtual] |
Reimplemented in pinapa::function_body_visitor.
| int treeVisitor::visitCompoundExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitCondExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitConvertExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitFloatExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitIncrementExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitInitExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitModifyExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitNopExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitSaveExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitStmtExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitTargetExpr | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitUnaryOpExpr | ( | const tree | node | ) | [protected, virtual] |
| virtual int pinapa::treeVisitor::visitConstant | ( | const tree | node | ) | [inline, protected, virtual] |
| virtual int pinapa::treeVisitor::visitFunDecl | ( | const tree | node | ) | [inline, protected, virtual] |
Reimplemented in pinapa::function_body_visitor.
| virtual int pinapa::treeVisitor::visitFieldDecl | ( | const tree | node | ) | [inline, protected, virtual] |
| virtual int pinapa::treeVisitor::visitParamDecl | ( | const tree | node | ) | [inline, protected, virtual] |
| virtual int pinapa::treeVisitor::visitResultDecl | ( | const tree | node | ) | [inline, protected, virtual] |
| virtual int pinapa::treeVisitor::visitTypeDecl | ( | const tree | node | ) | [inline, protected, virtual] |
| virtual int pinapa::treeVisitor::visitVarDecl | ( | const tree | node | ) | [inline, protected, virtual] |
| int treeVisitor::visitArrayRef | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitComponentRef | ( | const tree | node | ) | [protected, virtual] |
Reimplemented in pinapa::function_body_visitor.
| int treeVisitor::visitTreeList | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::dispatch | ( | const tree | node | ) | [protected, virtual] |
| int treeVisitor::visitNode | ( | const tree | node | ) | [protected, virtual] |
Generic Node visitor.
tree pinapa::treeVisitor::m_body [private] |
Node where visit has begun.
int pinapa::treeVisitor::m_result [protected] |
Propagated result code.