|
| | Graph_visitor (const cstring &graphsDir, const bool graphs, const bool fullGraph, const bool jsonOut, const cstring &filename) |
| |
| const char * | getPrevType (const PrevType &prev_type) |
| | Maps PrevType to string.
|
| |
| const char * | getType (const VertexType &v_type) |
| | Maps VertexType to string.
|
| |
| void | process (std::vector< Graph * > &controlGraphsArray, std::vector< Graph * > &parserGraphsArray) |
| | main function
|
| |
| void | writeGraphToFile (const Graph &g, const cstring &name) |
| | Writes boost graph "g" in dot format to file given by "name".
|
| |
|
vertex_t | add_and_connect_vertex (const cstring &name, VertexType type) |
| |
|
void | add_edge (const vertex_t &from, const vertex_t &to, const cstring &name) |
| |
| void | add_edge (const vertex_t &from, const vertex_t &to, const cstring &name, unsigned cluster_id) |
| | used to connect subgraphs
|
| |
|
vertex_t | add_vertex (const cstring &name, VertexType type) |
| |
|
std::optional< vertex_t > | merge_other_statements_into_vertex () |
| |
|
| using | edgeProperties |
| |
|
using | Graph = boost::subgraph<Graph_> |
| |
| using | Graph_ |
| |
| using | graphProperties |
| |
|
using | GraphvizAttributes = std::map<cstring, cstring> |
| |
|
using | Parents = std::vector<std::pair<vertex_t, EdgeTypeIface *>> |
| |
|
using | vertex_t = boost::graph_traits<Graph>::vertex_descriptor |
| |
|
using | vertexProperties = boost::property<boost::vertex_attribute_t, GraphvizAttributes, Vertex> |
| |
| enum class | VertexType {
TABLE
, KEY
, ACTION
, CONDITION
,
SWITCH
, STATEMENTS
, CONTROL
, OTHER
,
STATE
, EMPTY
} |
| |
|
vertex_t | exit_v {} |
| |
|
Graph * | g {nullptr} |
| |
|
Parents | parents {} |
| |
|
vertex_t | start_v {} |
| |
|
std::vector< const IR::Statement * > | statementsStack {} |
| |
"process" function of class is dependent on previous aplication of visitor classes Controls and Parsers onto IR, and can only be run after them