PostTestedLoopSyntaxNode Class Reference

#include <include/hllcode.h>

Inheritance diagram for PostTestedLoopSyntaxNode:

SyntaxNode List of all members.

Detailed Description

Definition at line 358 of file hllcode.h.

Public Member Functions

virtual void addSuccessors (SyntaxNode *root, std::vector< SyntaxNode * > &successors)
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 ()
virtual SyntaxNode * getOutEdge (SyntaxNode *root, int n)
virtual bool isBranch ()
virtual bool isGoto ()
 PostTestedLoopSyntaxNode ()
virtual void printAST (SyntaxNode *root, std::ostream &os)
virtual SyntaxNode * replace (SyntaxNode *from, SyntaxNode *to)
void setBody (SyntaxNode *n)
void setCond (Exp *e)
virtual ~PostTestedLoopSyntaxNode ()

Protected Attributes

Exp * cond
SyntaxNode * pBody


Constructor & Destructor Documentation

PostTestedLoopSyntaxNode::PostTestedLoopSyntaxNode (   ) 
 

Definition at line 662 of file syntax.cpp.

Referenced by clone().

PostTestedLoopSyntaxNode::~PostTestedLoopSyntaxNode (   )  [virtual]
 

Definition at line 666 of file syntax.cpp.

References cond, and pBody.


Member Function Documentation

void PostTestedLoopSyntaxNode::addSuccessors (  SyntaxNode *  root,
std::vector< SyntaxNode * > &  successors
)  [virtual]
 

Reimplemented from SyntaxNode.

Definition at line 685 of file syntax.cpp.

References SyntaxNode::clone(), SyntaxNode::endsWithGoto(), SyntaxNode::getNumOutEdges(), SyntaxNode::getOutEdge(), SyntaxNode::ignoreGoto(), pBody, and SyntaxNode::setDepth().

SyntaxNode * PostTestedLoopSyntaxNode::clone (   )  [virtual]
 

Implements SyntaxNode.

Definition at line 704 of file syntax.cpp.

References SyntaxNode::clone(), Exp::clone(), cond, SyntaxNode::correspond, SyntaxNode::pbb, pBody, and PostTestedLoopSyntaxNode().

virtual bool PostTestedLoopSyntaxNode::endsWithGoto (   )  [inline, virtual]
 

Implements SyntaxNode.

Definition at line 373 of file hllcode.h.

int PostTestedLoopSyntaxNode::evaluate (  SyntaxNode *  root  )  [virtual]
 

Implements SyntaxNode.

Definition at line 678 of file syntax.cpp.

References SyntaxNode::evaluate(), and pBody.

SyntaxNode * PostTestedLoopSyntaxNode::findNodeFor (  PBB  bb  )  [virtual]
 

Implements SyntaxNode.

Definition at line 725 of file syntax.cpp.

References SyntaxNode::findNodeFor(), SyntaxNode::pbb, and pBody.

virtual SyntaxNode* PostTestedLoopSyntaxNode::getEnclosingLoop (  SyntaxNode *  pFor,
SyntaxNode *  cur = NULL
)  [inline, virtual]
 

Implements SyntaxNode.

Definition at line 374 of file hllcode.h.

References SyntaxNode::getEnclosingLoop(), and pBody.

virtual int PostTestedLoopSyntaxNode::getNumOutEdges (   )  [inline, virtual]
 

Implements SyntaxNode.

Definition at line 369 of file hllcode.h.

SyntaxNode * PostTestedLoopSyntaxNode::getOutEdge (  SyntaxNode *  root,
int  n
)  [virtual]
 

Implements SyntaxNode.

Definition at line 674 of file syntax.cpp.

References SyntaxNode::findNodeFor(), BasicBlock::getOutEdge(), and SyntaxNode::pbb.

Referenced by printAST().

virtual bool PostTestedLoopSyntaxNode::isBranch (   )  [inline, virtual]
 

Reimplemented from SyntaxNode.

Definition at line 367 of file hllcode.h.

virtual bool PostTestedLoopSyntaxNode::isGoto (   )  [inline, virtual]
 

Reimplemented from SyntaxNode.

Definition at line 366 of file hllcode.h.

void PostTestedLoopSyntaxNode::printAST (  SyntaxNode *  root,
std::ostream &  os
)  [virtual]
 

Implements SyntaxNode.

Definition at line 735 of file syntax.cpp.

References cond, SyntaxNode::getNumber(), getOutEdge(), pBody, and SyntaxNode::printAST().

SyntaxNode * PostTestedLoopSyntaxNode::replace (  SyntaxNode *  from,
SyntaxNode *  to
)  [virtual]
 

Implements SyntaxNode.

Definition at line 714 of file syntax.cpp.

References SyntaxNode::correspond, SyntaxNode::getCorrespond(), pBody, and to.

void PostTestedLoopSyntaxNode::setBody (  SyntaxNode *  n  )  [inline]
 

Definition at line 383 of file hllcode.h.

References pBody.

void PostTestedLoopSyntaxNode::setCond (  Exp *  e  )  [inline]
 

Definition at line 382 of file hllcode.h.

References cond.


Member Data Documentation

Exp* PostTestedLoopSyntaxNode::cond [protected]
 

Definition at line 361 of file hllcode.h.

Referenced by clone(), printAST(), setCond(), and ~PostTestedLoopSyntaxNode().

SyntaxNode* PostTestedLoopSyntaxNode::pBody [protected]
 

Definition at line 360 of file hllcode.h.

Referenced by addSuccessors(), clone(), evaluate(), findNodeFor(), getEnclosingLoop(), printAST(), replace(), setBody(), and ~PostTestedLoopSyntaxNode().


The documentation for this class was generated from the following files:
Generated on Tue Sep 19 21:18:44 2006 for Boomerang by  doxygen 1.4.6