`sig
type id =
Ident of string
| Number of string
| String of string
| Html of string
type attr = (Dot_ast.id * Dot_ast.id option) list
type compass_pt = N | Ne | E | Se | S | Sw | W | Nw
type port =
PortId of Dot_ast.id * Dot_ast.compass_pt option
| PortC of Dot_ast.compass_pt
type node_id = Dot_ast.id * Dot_ast.port option
type subgraph =
SubgraphId of Dot_ast.id
| SubgraphDef of Dot_ast.id option * Dot_ast.stmt list
and node = NodeId of Dot_ast.node_id | NodeSub of Dot_ast.subgraph
and stmt =
Node_stmt of Dot_ast.node_id * Dot_ast.attr list
| Edge_stmt of Dot_ast.node * Dot_ast.node list * Dot_ast.attr list
| Attr_graph of Dot_ast.attr list
| Attr_node of Dot_ast.attr list
| Attr_edge of Dot_ast.attr list
| Equal of Dot_ast.id * Dot_ast.id
| Subgraph of Dot_ast.subgraph
type file = {
strict : bool;
digraph : bool;
id : Dot_ast.id option;
stmts : Dot_ast.stmt list;
}
end`