#include <include/hllcode.h>
Inheritance diagram for BlockSyntaxNode:
Definition at line 176 of file hllcode.h.
Public Member Functions | |
void | addStatement (SyntaxNode *n) |
virtual void | addSuccessors (SyntaxNode *root, std::vector< SyntaxNode * > &successors) |
BlockSyntaxNode () | |
virtual SyntaxNode * | clone () |
virtual bool | endsWithGoto () |
virtual int | evaluate (SyntaxNode *root) |
virtual SyntaxNode * | findNodeFor (PBB bb) |
virtual SyntaxNode * | getEnclosingLoop (SyntaxNode *pFor, SyntaxNode *cur=NULL) |
virtual int | getNumOutEdges () |
int | getNumStatements () |
virtual SyntaxNode * | getOutEdge (SyntaxNode *root, int n) |
SyntaxNode * | getStatement (int n) |
virtual void | ignoreGoto () |
virtual bool | isBlock () |
void | prependStatement (SyntaxNode *n) |
virtual void | printAST (SyntaxNode *root, std::ostream &os) |
virtual SyntaxNode * | replace (SyntaxNode *from, SyntaxNode *to) |
void | setStatement (int i, SyntaxNode *n) |
virtual bool | startsWith (SyntaxNode *node) |
virtual | ~BlockSyntaxNode () |
Private Attributes | |
std::vector< SyntaxNode * > | statements |
|
Definition at line 52 of file syntax.cpp. Referenced by addSuccessors(), and clone(). |
|
Definition at line 56 of file syntax.cpp. References statements. |
|
Definition at line 206 of file hllcode.h. References NULL, SyntaxNode::pbb, and statements. Referenced by addSuccessors(), clone(), and UserProc::getAST(). |
|
Reimplemented from SyntaxNode. Definition at line 216 of file syntax.cpp. References addStatement(), BlockSyntaxNode(), clone(), SyntaxNode::clone(), SyntaxNode::getDepth(), getStatement(), isBlock(), NULL, prependStatement(), SyntaxNode::replace(), replace(), SyntaxNode::setDepth(), and statements. |
|
Implements SyntaxNode. Definition at line 370 of file syntax.cpp. References addStatement(), BlockSyntaxNode(), SyntaxNode::correspond, SyntaxNode::pbb, and statements. Referenced by addSuccessors(). |
|
Implements SyntaxNode. Definition at line 217 of file hllcode.h. References SyntaxNode::isGoto(), SyntaxNode::pbb, and statements. |
|
Implements SyntaxNode. Definition at line 138 of file syntax.cpp. References DEBUG_EVAL, getOutEdge(), NULL, SyntaxNode::pbb, and statements. |
|
Implements SyntaxNode. Definition at line 78 of file syntax.cpp. References NULL, SyntaxNode::pbb, and statements. |
|
Implements SyntaxNode. Definition at line 227 of file hllcode.h. References statements. |
|
Implements SyntaxNode. Definition at line 62 of file syntax.cpp. References BasicBlock::getNumOutEdges(), SyntaxNode::pbb, and statements. |
|
Definition at line 192 of file hllcode.h. References SyntaxNode::pbb, and statements. |
|
Implements SyntaxNode. Definition at line 70 of file syntax.cpp. References SyntaxNode::findNodeFor(), BasicBlock::getOutEdge(), NULL, SyntaxNode::pbb, and statements. Referenced by evaluate(). |
|
Definition at line 195 of file hllcode.h. References NULL, SyntaxNode::pbb, and statements. Referenced by addSuccessors(). |
|
Reimplemented from SyntaxNode. Definition at line 186 of file hllcode.h. References SyntaxNode::notGoto, SyntaxNode::pbb, and statements. |
|
Reimplemented from SyntaxNode. Definition at line 184 of file hllcode.h. References NULL, and SyntaxNode::pbb. Referenced by addSuccessors(). |
|
Definition at line 199 of file hllcode.h. References NULL, SyntaxNode::pbb, and statements. Referenced by addSuccessors(). |
|
Implements SyntaxNode. Definition at line 93 of file syntax.cpp. References CALL, COMPCALL, COMPJUMP, FALL, BasicBlock::getLowAddr(), BasicBlock::getType(), INVALID, SyntaxNode::nodenum, SyntaxNode::notGoto, NWAY, ONEWAY, SyntaxNode::pbb, RET, and TWOWAY. |
|
Implements SyntaxNode. Definition at line 382 of file syntax.cpp. References SyntaxNode::correspond, SyntaxNode::getCorrespond(), NULL, SyntaxNode::pbb, statements, and to. Referenced by addSuccessors(). |
|
Definition at line 210 of file hllcode.h. References NULL, SyntaxNode::pbb, and statements. |
|
Reimplemented from SyntaxNode. Definition at line 224 of file hllcode.h. References statements. |
|
Definition at line 178 of file hllcode.h. Referenced by addStatement(), addSuccessors(), clone(), endsWithGoto(), evaluate(), findNodeFor(), getEnclosingLoop(), getNumOutEdges(), getNumStatements(), getOutEdge(), getStatement(), ignoreGoto(), prependStatement(), replace(), setStatement(), startsWith(), and ~BlockSyntaxNode(). |