Table of Contents

Class DataFlowGraph<TInstruction>

Namespace
Echo.DataFlow
Assembly
Echo.DataFlow.dll

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

TInstruction

The 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

architecture IArchitecture<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

writer TextWriter

The output stream.

Remarks

To customize the look of the resulting dot file graph, use the DotWriter class instead of this function.