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 SyntaxNodeclone ()
virtual bool endsWithGoto ()
virtual int evaluate (SyntaxNode *root)
virtual SyntaxNodefindNodeFor (PBB bb)
virtual SyntaxNodegetEnclosingLoop (SyntaxNode *pFor, SyntaxNode *cur=NULL)
virtual int getNumOutEdges ()
virtual SyntaxNodegetOutEdge (SyntaxNode *root, int n)
virtual bool isBranch ()
virtual bool isGoto ()
 PretestedLoopSyntaxNode ()
virtual void printAST (SyntaxNode *root, std::ostream &os)
virtual SyntaxNodereplace (SyntaxNode *from, SyntaxNode *to)
void setBody (SyntaxNode *n)
void setCond (Exp *e)
virtual ~PretestedLoopSyntaxNode ()

Protected Attributes

Expcond
SyntaxNodepBody


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