sig
val version : string
type graph_kind = Graph | Digraph
type id =
Simple_id of string
| Html_id of string
| Double_quoted_id of string
type attr = Odot.id * Odot.id option
type compass_pt = N | NE | E | SE | S | SW | W | NW
type port = Odot.id * Odot.compass_pt option
type node_id = Odot.id * Odot.port option
type edge_stmt_point =
Edge_node_id of Odot.node_id
| Edge_subgraph of Odot.subgraph
and edge_stmt =
Odot.edge_stmt_point * Odot.edge_stmt_point list * Odot.attr list
and attr_stmt =
Attr_graph of Odot.attr list
| Attr_node of Odot.attr list
| Attr_edge of Odot.attr list
and stmt =
Stmt_node of Odot.node_id * Odot.attr list
| Stmt_equals of Odot.id * Odot.id
| Stmt_edge of Odot.edge_stmt
| Stmt_attr of Odot.attr_stmt
| Stmt_subgraph of Odot.subgraph
and subgraph = {
mutable sub_id : Odot.id option;
mutable sub_stmt_list : Odot.stmt list;
}
and graph = {
mutable strict : bool;
mutable kind : Odot.graph_kind;
mutable id : Odot.id option;
mutable stmt_list : Odot.stmt list;
}
exception Parse_error of int * int
val parse_file : string -> Odot.graph
val parse_string : string -> Odot.graph
val string_of_graph_kind : Odot.graph_kind -> string
val string_of_id : Odot.id -> string
val string_of_attr : Odot.id * Odot.id option -> string
val string_of_attr_list : (Odot.id * Odot.id option) list -> string
val string_of_compass_pt : Odot.compass_pt -> string
val string_of_node_id :
Odot.id * (Odot.id * Odot.compass_pt option) option -> string
val string_of_edge_stmt_point :
Odot.graph_kind -> Odot.edge_stmt_point -> string
val string_of_edge_stmt : Odot.graph_kind -> Odot.edge_stmt -> string
val string_of_attr_stmt : Odot.attr_stmt -> string
val string_of_stmt : Odot.graph_kind -> Odot.stmt -> string
val string_of_stmt_list : Odot.graph_kind -> Odot.stmt list -> string
val string_of_subgraph : Odot.graph_kind -> Odot.subgraph -> string
val string_of_graph : Odot.graph -> string
val print : Stdlib.out_channel -> Odot.graph -> unit
val print_file : string -> Odot.graph -> unit
val attr_value : Odot.id -> Odot.attr list -> Odot.id option
val node_id :
?port:Odot.id -> ?comp:Odot.compass_pt -> Odot.id -> Odot.node_id
val simple_node_id : string -> Odot.node_id
val dblq_node_id : string -> Odot.node_id
val html_node_id : string -> Odot.node_id
end