pinapa::treeVisitor Class Reference

#include <pinapa-tree-utils.h>

Inheritance diagram for pinapa::treeVisitor:

pinapa::function_body_visitor List of all members.

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.

Detailed Description

Walks through the AST of function/process body

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())


Constructor & Destructor Documentation

pinapa::treeVisitor::treeVisitor (  )  [inline]


Member Function Documentation

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]

Generic Node dispatcher.

Todo:
: add other cases.

Reimplemented in pinapa::function_body_visitor.

const tree treeVisitor::next ( const tree  node  )  [protected, virtual]

Generic Node chainer.

int treeVisitor::visitNode ( const tree  node  )  [protected, virtual]

Generic Node visitor.


Member Data Documentation

tree pinapa::treeVisitor::m_body [private]

Node where visit has begun.

int pinapa::treeVisitor::m_result [protected]

Propagated result code.


The documentation for this class was generated from the following files:
Generated by
Matthieu Moy <Matthieu.Moy@st.com>
Back to Pinapa Home Page