|
ROSE
0.11.96.11
|
Definition at line 82 of file graphProcessing.h.

Public Types | |
| typedef boost::graph_traits< CFG >::vertex_descriptor | Vertex |
| typedef boost::graph_traits< CFG >::edge_descriptor | Edge |
| typedef StackFrameVector< SynthesizedAttributeType > | SynthesizedAttributesList |
Public Member Functions | |
| void | constructPathAnalyzer (CFG *g, bool unbounded=false, Vertex end=0, Vertex begin=0, bool ns=true) |
| This is the function that is used by the user directly to start the algorithm. More... | |
| virtual void | analyzePath (std::vector< Vertex > &pth)=0 |
| std::vector< int > | getInEdges (int &node, CFG *&g) |
| Gets out edges with integer inputs, internal use only SgGraphTraversal::getInEdges Input: More... | |
| std::vector< int > | getOutEdges (int &node, CFG *&g) |
| Gets out edges with integer inputs, internal use only SgGraphTraversal::getOutEdges Input: More... | |
| int | getTarget (int &n, CFG *&g) |
| Gets the target of an edge SgGraphTraversal::getTarget Input: More... | |
| int | getSource (int &n, CFG *&g) |
| Gets the source of an edge SgGraphTraversal::getSource Input: More... | |
| SgGraphTraversal (SgGraphTraversal &) | |
| SgGraphTraversal & | operator= (SgGraphTraversal &) |
| void | firstPrepGraph (CFG *&g) |
| DEPRECATED This is the function that preps the graph for traversal, currently this one isn't used but for many traversals on one visitor may necessitate. More... | |
| SgGraphTraversal (const SgGraphTraversal &) | |
| const SgGraphTraversal & | operator= (const SgGraphTraversal &) |
| InheritedAttributeType | traverse (SgGraphNode *basenode, SgIncidenceDirectedGraph *g, InheritedAttributeType inheritedValue, InheritedAttributeType nullInherit, SgGraphNode *endnode, bool insep=false, bool pcHk=false) |
| This is the function that is used by the user directly to start the algorithm. More... | |
Public Attributes | |
| std::map< Vertex, int > | vertintmap |
| std::map< Edge, int > | edgeintmap |
| std::map< int, Vertex > | intvertmap |
| std::map< int, Edge > | intedgemap |
| int | pathnum |
| std::set< std::map< int, std::set< int > > > | subpathmap |
| int | loopNum |
| int | nullNum |
| std::set< SgDirectedGraphEdge * > | nullEdgesOrdered |
| std::map< SgGraphNode *, int > | loopNumMap |
| std::map< SgGraphNode *, int > | pathValMap |
| int | nullloops |
| std::vector< std::vector< SgGraphNode * > > | looppaths |
| std::vector< std::vector< SgGraphNode * > > | iLoops |
| std::vector< SgGraphNode * > | ifstatements |
| int | nullEdgesPaths |
| int | turns |
| int | numnodes |
| SgGraphNode * | nullnode |
| std::map< SgGraphNode *, int > | primenode |
| bool | done |
| std::set< SgGraphNode * > | lstN |
| std::map< SgGraphNode *, std::vector< std::set< int > > > | lstordmap |
| std::set< SgGraphNode * > | solvedLoops |
| std::map< SgGraphNode *, std::vector< SgGraphNode * > > | checkednodes |
| std::map< SgGraphNode *, std::set< SgGraphNode * > > | downed |
| InheritedAttributeType | nullInherit |
| std::set< SgGraphNode * > | loopSet |
Protected Member Functions | |
| virtual InheritedAttributeType | evaluateInheritedAttribute (SgGraphNode *n, std::vector< InheritedAttributeType > inheritedValues)=0 |
| virtual SynthesizedAttributeType | evaluateSynthesizedAttribute (SgGraphNode *n, InheritedAttributeType in, SynthesizedAttributesList l)=0 |
| virtual void | pathAnalyze (std::vector< SgGraphNode * > &pth, bool loop=false, std::set< std::vector< SgGraphNode * > > &incloops=NULL)=0 |
| SynthesizedAttributeType | defaultSynthesizedAttribute (InheritedAttributeType) |
| void SgGraphTraversal< CFG >::constructPathAnalyzer | ( | CFG * | g, |
| bool | unbounded = false, |
||
| Vertex | begin = 0, |
||
| Vertex | end = 0, |
||
| bool | ns = true |
||
| ) |
This is the function that is used by the user directly to start the algorithm.
It is immediately available to the user
SgGraphTraversal::constructPathAnalyzer Input:
Definition at line 1119 of file graphProcessing.h.
| std::vector< int > SgGraphTraversal< CFG >::getInEdges | ( | int & | node, |
| CFG *& | g | ||
| ) |
Gets out edges with integer inputs, internal use only SgGraphTraversal::getInEdges Input:
| [node] | int, integer representation of the node to get the in edges from |
| [g] | CFG* g, CFG |
Definition at line 263 of file graphProcessing.h.
| std::vector< int > SgGraphTraversal< CFG >::getOutEdges | ( | int & | node, |
| CFG *& | g | ||
| ) |
Gets out edges with integer inputs, internal use only SgGraphTraversal::getOutEdges Input:
| [node] | int, integer representation of the node to get the out edges from |
| [g] | CFG* g, CFG |
Definition at line 295 of file graphProcessing.h.
|
inline |
Gets the target of an edge SgGraphTraversal::getTarget Input:
| [edge] | int& integer representation of edge in quesution |
| [g] | the CFG*& CFG used |
Definition at line 245 of file graphProcessing.h.
|
inline |
Gets the source of an edge SgGraphTraversal::getSource Input:
| [edge] | int& integer representation of edge in question |
| [g] | CFG*& the CFG used |
Definition at line 226 of file graphProcessing.h.
| void SgGraphTraversal< CFG >::firstPrepGraph | ( | CFG *& | g | ) |
DEPRECATED This is the function that preps the graph for traversal, currently this one isn't used but for many traversals on one visitor may necessitate.
SgGraphTraversal::firstPrepGraph Input:
| [g] | CFG*& g, CFG calculated previously |
Definition at line 1376 of file graphProcessing.h.
| InheritedAttributeType SgGraphTraversal< InheritedAttributeType, SynthesizedAttributeType >::traverse | ( | SgGraphNode * | n, |
| SgIncidenceDirectedGraph * | g, | ||
| InheritedAttributeType | inheritedValue, | ||
| InheritedAttributeType | nullI, | ||
| SgGraphNode * | endnode, | ||
| bool | insep = false, |
||
| bool | pCh = false |
||
| ) |
This is the function that is used by the user directly to start the algorithm.
It is immediately available to the user
SgGraphTraversal::traverse Input:
| [n] | n starting node |
| [g] | SgIncidenceDirectedGraph* g, CFG calculated previously |
| [inheritedValue] | InheritedAttributeType inheritedValue, value of the starting node |
| [nullI] | InheritedAttributeType nullI, value of the null Attribute, i.e. what to attribute to a node with no value\ |
| [endnode] | SgGraphNode* endnode, final node |
| [insep] | boolean to decide inseparability of the analysis function, not yet in use, set automatically to false |
| [pCh] | deprecated, set to false |
Definition at line 360 of file graphProcessingSgIncGraph.h.
1.8.17