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 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 ()
 PostTestedLoopSyntaxNode ()
virtual void printAST (SyntaxNode *root, std::ostream &os)
virtual SyntaxNodereplace (SyntaxNode *from, SyntaxNode *to)
void setBody (SyntaxNode *n)
void setCond (Exp *e)
virtual ~PostTestedLoopSyntaxNode ()

Protected Attributes

Expcond
SyntaxNodepBody


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