44 #ifndef OPERATIONS_GRAPH_CONSTRUCTOR_HPP 45 #define OPERATIONS_GRAPH_CONSTRUCTOR_HPP 148 const unsigned int node_id);
155 void add_type(
const std::string& src,
unsigned int type);
const OpGraphRef op_graph
The graph with all the edges.
const OpGraphsCollectionRef og
reference to the bulk operations graph
void add_called_function(const std::string &source, unsigned int called_function)
Adds a call to the vertex.
class providing methods to manage an operations graph.
void CompressEdges()
Remove all redundant edges.
This class manages the tree structures extracted from the raw file.
Class specification of the graph structures.
void add_edge_info(const vertex src, const vertex tgt, const int selector, unsigned int NodeID)
Add edge info to the graph.
FunctionBehavior_VariableType
The possible type of a variable.
void Clear()
Remove all vertices and edges.
void add_type(const std::string &src, unsigned int type)
Add the type associated with a vertex.
redefinition of map to manage ordered/unordered structures
void AddVariable(const vertex op_vertex, const unsigned int variable, const FunctionBehavior_VariableType variable_type, const FunctionBehavior_VariableAccessType access_type)
Adds an access to a variable to an operation vertex.
void AddOperation(const tree_managerRef TM, const std::string &src, const std::string &oper, unsigned int bb_index, const unsigned int node_id)
Add the operation associated with a vertex.
This class macros for the definition of strong typedef.
boost::graph_traits< graph >::vertex_descriptor vertex
vertex definition.
FunctionBehavior_VariableAccessType
The access type to a variable.
void RemoveEdge(const vertex source, const vertex dest, int selector)
remove a selector between two vertices
void add_parameter(const vertex &Ver, unsigned int Vargc)
Adds a parameter to the vertex.
operations_graph_constructor(OpGraphsCollectionRef _og)
Constructor.
vertex CgetIndex(const std::string &source) const
Return the vertex index given the id of the vertex node.
~operations_graph_constructor()
Destructor.
Template definition of refcount.
REF_FORWARD_DECL(operations_graph_constructor)
void AddSourceCodeVariable(const vertex &Ver, unsigned int Vargc)
Adds a (ssa-)variable to the set of variables referred by the operation vertex.
STRONG_TYPEDEF_FORWARD_DECL(unsigned int, MemoryAddress)
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
EdgeDescriptor AddEdge(const vertex source, const vertex dest, int selector)
add an edge between vertex source and vertex dest
vertex getIndex(const std::string &source)
Return the vertex index given the id of the vertex node.
Class used to describe a particular graph with operations as nodes.
void RemoveSelector(const EdgeDescriptor edge, const int selector)
set the selector of an edge between vertex source and vertex dest
std::map< std::string, vertex > index_map
Mapping between id to index.
This structure defines graphs where nodes are operations.
boost::graph_traits< graph >::edge_descriptor EdgeDescriptor
edge definition.