 |
Cerata
A library to generate structural hardware designs
|
23 #include "cerata/output.h"
24 #include "cerata/graph.h"
25 #include "cerata/dot/style.h"
48 std::string
GenFile(
const Graph &graph,
const std::string &path);
50 static std::string
GenExpr(
const Node &exp,
const std::string &prefix =
"",
int level = 0);
54 std::string
NodeName(
const Node &node,
const std::string &suffix =
"");
65 std::string
subdir()
override {
return "dot"; }
std::string subdir() override
Returns the subdirectory used by this OutputGenerator.
Dot graph output generator.
std::string GenFile(const Graph &graph, const std::string &path)
Generate a DOT file.
void Generate() override
Generate the DOT graphs.
A graph representing a hardware structure.
static std::string GenExpr(const Node &exp, const std::string &prefix="", int level=0)
Generate expressions.
Grapher(Style style)
Grapher constructor.
std::string GenNode(const Node &n, int level=0)
Generate a node.
OutputGenerator for DOT graphs.
Abstract class to generate language specific output from Graphs.
std::string GenNodes(const Graph &graph, Node::NodeID id, int level=0, bool no_group=false)
Generate nodes.
std::string GenEdges(const Graph &graph, int level=0)
Generate edges.
NodeID
Node type IDs with different properties.
Contains everything related to the DOT back-end.
DOTOutputGenerator(std::string root_dir, std::vector< OutputSpec > graphs={})
DOTOutputGenerator constructor.
std::string GenGraph(const Graph &graph, int level=0)
Generate a graph.
OutputGenerator(std::string root_dir, std::vector< OutputSpec > outputs={})
Construct an OutputGenerator.
std::string NodeName(const Node &node, const std::string &suffix)
Return the DOT name of a node.
std::vector< Edge * > drawn_edges
Edges that were already drawn.