sig
type graph_kind = Graph | Digraph
type id =
Simple_id of string
| Html_id of string
| Double_quoted_id of string
type attr = Odot_types.id * Odot_types.id option
type compass_pt = N | NE | E | SE | S | SW | W | NW
type port = Odot_types.id * Odot_types.compass_pt option
type node_id = Odot_types.id * Odot_types.port option
type edge_stmt_point =
Edge_node_id of Odot_types.node_id
| Edge_subgraph of Odot_types.subgraph
and edge_stmt =
Odot_types.edge_stmt_point * Odot_types.edge_stmt_point list *
Odot_types.attr list
and attr_stmt =
Attr_graph of Odot_types.attr list
| Attr_node of Odot_types.attr list
| Attr_edge of Odot_types.attr list
and stmt =
Stmt_node of Odot_types.node_id * Odot_types.attr list
| Stmt_equals of Odot_types.id * Odot_types.id
| Stmt_edge of Odot_types.edge_stmt
| Stmt_attr of Odot_types.attr_stmt
| Stmt_subgraph of Odot_types.subgraph
and subgraph = {
mutable sub_id : Odot_types.id option;
mutable sub_stmt_list : Odot_types.stmt list;
}
and graph = {
mutable strict : bool;
mutable kind : Odot_types.graph_kind;
mutable id : Odot_types.id option;
mutable stmt_list : Odot_types.stmt list;
}
end