|
ROSE 0.11.145.354
|
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. | |
| 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: | |
| std::vector< int > | getOutEdges (int &node, CFG *&g) |
| Gets out edges with integer inputs, internal use only SgGraphTraversal::getOutEdges Input: | |
| int | getTarget (int &n, CFG *&g) |
| Gets the target of an edge SgGraphTraversal::getTarget Input: | |
| int | getSource (int &n, CFG *&g) |
| Gets the source of an edge SgGraphTraversal::getSource Input: | |
| 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. | |
| 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. | |
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) |
| typedef boost::graph_traits<CFG>::vertex_descriptor SgGraphTraversal< CFG >::Vertex |
Definition at line 86 of file graphProcessing.h.
| typedef boost::graph_traits<CFG>::edge_descriptor SgGraphTraversal< CFG >::Edge |
Definition at line 87 of file graphProcessing.h.
| typedef StackFrameVector<SynthesizedAttributeType> SgGraphTraversal< CFG >::SynthesizedAttributesList |
Definition at line 137 of file graphProcessingSgIncGraph.h.
| SgGraphTraversal< InheritedAttributeType, SynthesizedAttributeType >::SgGraphTraversal | ( | ) |
Definition at line 191 of file graphProcessing.h.
|
virtual |
Definition at line 209 of file graphProcessing.h.
| 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 1118 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 262 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 294 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 244 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 225 of file graphProcessing.h.
| SgGraphTraversal< CFG > & SgGraphTraversal< CFG >::operator= | ( | SgGraphTraversal< CFG > & | other | ) |
Definition at line 200 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 1375 of file graphProcessing.h.
| const SgGraphTraversal< InheritedAttributeType, SynthesizedAttributeType > & SgGraphTraversal< InheritedAttributeType, SynthesizedAttributeType >::operator= | ( | const SgGraphTraversal< CFG > & | other | ) |
Definition at line 329 of file graphProcessingSgIncGraph.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 359 of file graphProcessingSgIncGraph.h.
Referenced by SageInterface::annotateExpressionsWithUniqueNames().
|
protected |
Definition at line 1594 of file graphProcessingSgIncGraph.h.
| std::map<Vertex, int> SgGraphTraversal< CFG >::vertintmap |
Definition at line 95 of file graphProcessing.h.
| std::map<Edge, int> SgGraphTraversal< CFG >::edgeintmap |
Definition at line 96 of file graphProcessing.h.
| std::map<int, Vertex> SgGraphTraversal< CFG >::intvertmap |
Definition at line 97 of file graphProcessing.h.
| std::map<int, Edge> SgGraphTraversal< CFG >::intedgemap |
Definition at line 98 of file graphProcessing.h.
| int SgGraphTraversal< CFG >::pathnum |
Definition at line 103 of file graphProcessing.h.
| std::set<std::map<int, std::set<int> > > SgGraphTraversal< CFG >::subpathmap |
Definition at line 119 of file graphProcessingSgIncGraph.h.
| int SgGraphTraversal< CFG >::loopNum |
Definition at line 120 of file graphProcessingSgIncGraph.h.
| int SgGraphTraversal< CFG >::nullNum |
Definition at line 121 of file graphProcessingSgIncGraph.h.
| std::set<SgDirectedGraphEdge*> SgGraphTraversal< CFG >::nullEdgesOrdered |
Definition at line 122 of file graphProcessingSgIncGraph.h.
| std::map<SgGraphNode*, int> SgGraphTraversal< CFG >::loopNumMap |
Definition at line 123 of file graphProcessingSgIncGraph.h.
| std::map<SgGraphNode*, int> SgGraphTraversal< CFG >::pathValMap |
Definition at line 124 of file graphProcessingSgIncGraph.h.
| int SgGraphTraversal< CFG >::nullloops |
Definition at line 125 of file graphProcessingSgIncGraph.h.
| std::vector<std::vector<SgGraphNode*> > SgGraphTraversal< CFG >::looppaths |
Definition at line 126 of file graphProcessingSgIncGraph.h.
| std::vector<std::vector<SgGraphNode*> > SgGraphTraversal< CFG >::iLoops |
Definition at line 127 of file graphProcessingSgIncGraph.h.
| std::vector<SgGraphNode*> SgGraphTraversal< CFG >::ifstatements |
Definition at line 128 of file graphProcessingSgIncGraph.h.
| int SgGraphTraversal< CFG >::nullEdgesPaths |
Definition at line 132 of file graphProcessingSgIncGraph.h.
| int SgGraphTraversal< CFG >::turns |
Definition at line 133 of file graphProcessingSgIncGraph.h.
| int SgGraphTraversal< CFG >::numnodes |
Definition at line 142 of file graphProcessingSgIncGraph.h.
| SgGraphNode* SgGraphTraversal< CFG >::nullnode |
Definition at line 145 of file graphProcessingSgIncGraph.h.
| std::map<SgGraphNode*, int> SgGraphTraversal< CFG >::primenode |
Definition at line 146 of file graphProcessingSgIncGraph.h.
| bool SgGraphTraversal< CFG >::done |
Definition at line 147 of file graphProcessingSgIncGraph.h.
| std::set<SgGraphNode*> SgGraphTraversal< CFG >::lstN |
Definition at line 149 of file graphProcessingSgIncGraph.h.
| std::map<SgGraphNode*, std::vector<std::set<int> > > SgGraphTraversal< CFG >::lstordmap |
Definition at line 150 of file graphProcessingSgIncGraph.h.
| std::set<SgGraphNode*> SgGraphTraversal< CFG >::solvedLoops |
Definition at line 151 of file graphProcessingSgIncGraph.h.
| std::map<SgGraphNode*, std::vector<SgGraphNode*> > SgGraphTraversal< CFG >::checkednodes |
Definition at line 152 of file graphProcessingSgIncGraph.h.
| std::map<SgGraphNode*, std::set<SgGraphNode*> > SgGraphTraversal< CFG >::downed |
Definition at line 153 of file graphProcessingSgIncGraph.h.
| InheritedAttributeType SgGraphTraversal< CFG >::nullInherit |
Definition at line 157 of file graphProcessingSgIncGraph.h.
| std::set<SgGraphNode*> SgGraphTraversal< CFG >::loopSet |
Definition at line 162 of file graphProcessingSgIncGraph.h.