Class DataFlowGraph<TInstruction>
Represents a graph that encodes data dependencies between instructions. An edge (A, B) indicates node A depends on the evaluation of node B.
public class DataFlowGraph<TInstruction> : IGraph, ISubGraph where TInstruction : notnull
Type Parameters
TInstructionThe type of instruction to store in each node.
- Inheritance
-
DataFlowGraph<TInstruction>
- Implements
- Inherited Members
Constructors
DataFlowGraph(IArchitecture<TInstruction>)
Creates a new data flow graph.
public DataFlowGraph(IArchitecture<TInstruction> architecture)
Parameters
architectureIArchitecture<TInstruction>
Properties
Architecture
Gets the architecture of the instructions that are stored in the data flow graph.
public IArchitecture<TInstruction> Architecture { get; }
Property Value
- IArchitecture<TInstruction>
Nodes
Gets a collection of nodes that are present in the graph.
public NodeCollection<TInstruction> Nodes { get; }
Property Value
- NodeCollection<TInstruction>
Methods
GetEdges()
Gets a collection of all directed edges (or arcs) that connect nodes in the directed graph.
public IEnumerable<IEdge> GetEdges()
Returns
- IEnumerable<IEdge>
The edges.
ToDotGraph(TextWriter)
Serializes the data flow graph to the provided output text writer using the dot file format.
public void ToDotGraph(TextWriter writer)
Parameters
writerTextWriterThe output stream.
Remarks
To customize the look of the resulting dot file graph, use the DotWriter class instead of this function.