PretestedLoopSyntaxNode Class Reference

#include <include/hllcode.h>

Inheritance diagram for PretestedLoopSyntaxNode:

SyntaxNode List of all members.

Detailed Description

Definition at line 325 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 ()
 PretestedLoopSyntaxNode ()
virtual void printAST (SyntaxNode *root, std::ostream &os)
virtual SyntaxNode * replace (SyntaxNode *from, SyntaxNode *to)
void setBody (SyntaxNode *n)
void setCond (Exp *e)
virtual ~PretestedLoopSyntaxNode ()

Protected Attributes

Exp * cond
SyntaxNode * pBody


Constructor & Destructor Documentation

PretestedLoopSyntaxNode::PretestedLoopSyntaxNode (   ) 
 

Definition at line 578 of file syntax.cpp.

Referenced by clone().

PretestedLoopSyntaxNode::~PretestedLoopSyntaxNode (   )  [virtual]
 

Definition at line 582 of file syntax.cpp.

References cond, and pBody.


Member Function Documentation

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

Reimplemented from SyntaxNode.

Definition at line 601 of file syntax.cpp.

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

SyntaxNode * PretestedLoopSyntaxNode::clone (   )  [virtual]
 

Implements SyntaxNode.

Definition at line 621 of file syntax.cpp.

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

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

Implements SyntaxNode.

Definition at line 340 of file hllcode.h.

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

Implements SyntaxNode.

Definition at line 594 of file syntax.cpp.

References SyntaxNode::evaluate(), and pBody.

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

Implements SyntaxNode.

Definition at line 642 of file syntax.cpp.

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

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

Implements SyntaxNode.

Definition at line 341 of file hllcode.h.

References SyntaxNode::getEnclosingLoop(), and pBody.

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

Implements SyntaxNode.

Definition at line 336 of file hllcode.h.

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

Implements SyntaxNode.

Definition at line 590 of file syntax.cpp.

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

Referenced by printAST().

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

Reimplemented from SyntaxNode.

Definition at line 334 of file hllcode.h.

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

Reimplemented from SyntaxNode.

Definition at line 333 of file hllcode.h.

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

Implements SyntaxNode.

Definition at line 649 of file syntax.cpp.

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

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

Implements SyntaxNode.

Definition at line 631 of file syntax.cpp.

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

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

Definition at line 350 of file hllcode.h.

References pBody.

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

Definition at line 349 of file hllcode.h.

References cond.


Member Data Documentation

Exp* PretestedLoopSyntaxNode::cond [protected]
 

Definition at line 328 of file hllcode.h.

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

SyntaxNode* PretestedLoopSyntaxNode::pBody [protected]
 

Definition at line 327 of file hllcode.h.

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


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