InfiniteLoopSyntaxNode Class Reference

#include <include/hllcode.h>

Inheritance diagram for InfiniteLoopSyntaxNode:

SyntaxNode List of all members.

Detailed Description

Definition at line 391 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)
 InfiniteLoopSyntaxNode ()
virtual bool isBranch ()
virtual bool isGoto ()
virtual void printAST (SyntaxNode *root, std::ostream &os)
virtual SyntaxNode * replace (SyntaxNode *from, SyntaxNode *to)
void setBody (SyntaxNode *n)
virtual ~InfiniteLoopSyntaxNode ()

Protected Attributes

SyntaxNode * pBody


Constructor & Destructor Documentation

InfiniteLoopSyntaxNode::InfiniteLoopSyntaxNode (   ) 
 

Definition at line 748 of file syntax.cpp.

Referenced by clone().

InfiniteLoopSyntaxNode::~InfiniteLoopSyntaxNode (   )  [virtual]
 

Definition at line 752 of file syntax.cpp.

References pBody.


Member Function Documentation

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

Reimplemented from SyntaxNode.

Definition at line 765 of file syntax.cpp.

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

SyntaxNode * InfiniteLoopSyntaxNode::clone (   )  [virtual]
 

Implements SyntaxNode.

Definition at line 784 of file syntax.cpp.

References SyntaxNode::clone(), SyntaxNode::correspond, InfiniteLoopSyntaxNode(), SyntaxNode::pbb, and pBody.

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

Implements SyntaxNode.

Definition at line 407 of file hllcode.h.

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

Implements SyntaxNode.

Definition at line 758 of file syntax.cpp.

References SyntaxNode::evaluate(), and pBody.

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

Implements SyntaxNode.

Definition at line 804 of file syntax.cpp.

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

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

Implements SyntaxNode.

Definition at line 408 of file hllcode.h.

References SyntaxNode::getEnclosingLoop(), and pBody.

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

Implements SyntaxNode.

Definition at line 401 of file hllcode.h.

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

Implements SyntaxNode.

Definition at line 404 of file hllcode.h.

References NULL.

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

Reimplemented from SyntaxNode.

Definition at line 399 of file hllcode.h.

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

Reimplemented from SyntaxNode.

Definition at line 398 of file hllcode.h.

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

Implements SyntaxNode.

Definition at line 814 of file syntax.cpp.

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

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

Implements SyntaxNode.

Definition at line 793 of file syntax.cpp.

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

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

Definition at line 416 of file hllcode.h.

References pBody.


Member Data Documentation

SyntaxNode* InfiniteLoopSyntaxNode::pBody [protected]
 

Definition at line 393 of file hllcode.h.

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


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