I propose a graph implementation of the dot structure for easier manipulation.
Objects:
CompGraph - Main graph object, contains two maps which pair statement indices : statement nodes and dataspace names : dataspace nodes
Node - represents a graph node for either a statement or a dataspace. Contains two vectors of Edge pointers, one for out-facing edges and one for in-facing edges.
Edge - represents an edge node. Contains a statement index and a data space name. Contains a boolean describing its write/read status. Also contains the access relation for its dataspace.
In Computation, we would just create a new CompGraph, call any manipulation functions, and call toDotString()
I propose a graph implementation of the dot structure for easier manipulation.
Objects:
In Computation, we would just create a new CompGraph, call any manipulation functions, and call toDotString()