SH::ShStructuralNode Class Reference

Inheritance diagram for SH::ShStructuralNode:

Inheritance graph
[legend]
Collaboration diagram for SH::ShStructuralNode:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::list< ShPointer<
ShStructuralNode > > 
StructNodeList
typedef std::pair< ShVariable,
ShPointer< ShStructuralNode > > 
SuccessorEdge
typedef std::list< SuccessorEdgeSuccessorList
typedef std::pair< ShVariable,
ShStructuralNode * > 
PredecessorEdge
typedef std::list< PredecessorEdgePredecessorList
typedef std::list< CfgMatchCfgMatchList
typedef std::list< ShPointer<
ShStructuralNode > > 
ChildList
enum  NodeType {
  UNREDUCED, BLOCK, SECTION, IF,
  IFELSE, SELFLOOP, WHILELOOP, PROPINT
}

Public Member Functions

 ShStructuralNode (const ShCtrlGraphNodePtr &node)
 ShStructuralNode (NodeType type)
std::ostream & dump (std::ostream &out, int nodes=-1) const
bool contains (const ShCtrlGraphNodePtr &node) const
 Contains the cfg_node in this region.
void getSuccs (CfgMatchList &result, const SuccessorEdge &edge)
void getPreds (CfgMatchList &result, const PredecessorEdge &edge)
void getExits (CfgMatchList &result, ShPointer< ShStructuralNode > node=0)
void getEntries (CfgMatchList &result, ShPointer< ShStructuralNode > node=0)

Public Attributes

NodeType type
ShStructuralNodecontainer
StructNodeList structnodes
 Nodes in this region.
ShCtrlGraphNodePtr cfg_node
SuccessorList succs
PredecessorList preds
ShStatementsecStart
 Flags whether entry is marked by a STARTSEC and exit marked by an ENDSEC that has not already been handled in a SECTION reduced block Remember to set these when building reduced nodes.
ShStatementsecEnd
ShStructuralNodeparent
ChildList children

Friends

class ShStructural

Classes

struct  CfgMatch
 Describes a cfg edge. More...

Detailed Description

Definition at line 35 of file ShStructural.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Feb 16 14:56:55 2006 for Sh by  doxygen 1.4.6