functor (Node : X.X_TYPE) ->
functor
(NodeSet : sig
type t
val name : string
val compare : t -> t -> int
val pair : t -> t -> t
val of_string : string -> t
val to_string : t -> string
val print : ?oc:out_channel -> t -> unit
val print_ : ?oc:out_channel -> t -> unit
type elt = Node.t
val of_list : elt list -> t
val to_file : string -> t -> unit
val of_file : string -> t
val cross : t -> t -> t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val max_elt : t -> elt
val choose : t -> elt
val split : elt -> t -> t * bool * t
end) ->
functor
(Edge : sig
type t
val name : string
val compare : t -> t -> int
val pair : t -> t -> t
val of_string : string -> t
val to_string : t -> string
val print : ?oc:out_channel -> t -> unit
val print_ : ?oc:out_channel -> t -> unit
type node = Node.t
type label
val origin : t -> node
val terminus : t -> node
val label : t -> label
val make : node -> node -> label -> t
val label_compare : label -> label -> int
val to_dotstring : t -> string
end) ->
functor
(EdgeSet : sig
type t
val name : string
val compare : t -> t -> int
val pair : t -> t -> t
val of_string : string -> t
val to_string : t -> string
val print : ?oc:out_channel -> t -> unit
val print_ : ?oc:out_channel -> t -> unit
type elt = Edge.t
val of_list : elt list -> t
val to_file : string -> t -> unit
val of_file : string -> t
val cross : t -> t -> t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val max_elt : t -> elt
val choose : t -> elt
val split : elt -> t -> t * bool * t
end) ->
functor (D : Delim.DELIM_TYPE) ->
sig
type t
val name : string
val compare : t -> t -> int
val pair : t -> t -> t
val of_string : string -> t
val to_string : t -> string
val print : ?oc:out_channel -> t -> unit
val print_ : ?oc:out_channel -> t -> unit
type nodeSet = NodeSet.t
type edgeSet = EdgeSet.t
val empty : t
val make : nodeSet -> nodeSet -> edgeSet -> t
val of_file : string -> t
val to_file : string -> t -> unit
val to_dotstring :
?size:string ->
?rd:string ->
?shape:string -> ?fs:string -> string -> t -> string
val to_dotfile :
?size:string ->
?rd:string ->
?shape:string -> ?fs:string -> string -> string -> t -> unit
val report : t -> unit
val starts : t -> nodeSet
val finals : t -> nodeSet
val edges : t -> edgeSet
val nodes : t -> nodeSet
val is_cyclic : t -> bool
val is_stripped : t -> bool
val are_isomorphic : t -> t -> bool
val equal : t -> t -> bool
val reverse : t -> t
val trim : t -> t
val rename : t -> t
val rename_n : int -> t -> t
val inter : t -> t -> t
val union : t -> t -> t
end