sig
exception Dferror of string
type dfsink_kind = DFSerialize | DFControl
type dfpass_kind = DFOrdered of int | DFUnordered | DFMerge | DFImmediate
type dfnode_kind =
DFSink of Df_struct.dfsink_kind
| DFPass of Df_struct.dfpass_kind
| DFFork
type dfnode_id
type ('a, 'b) dfnode
type ('a, 'b) dfgraph =
('a, 'b) Df_struct.dfnode list * ('a, 'b) Df_struct.dfnode
val mkdfnode_dfsink :
Df_struct.dfsink_kind -> 'a -> ('a, 'b) Df_struct.dfnode
val mkdfnode_dfpass :
Df_struct.dfpass_kind -> 'a -> ('a, 'b) Df_struct.dfnode
val mkdfnode_dffork : 'a -> ('a, 'b) Df_struct.dfnode
val mkdfgraph_empty : unit -> ('a, 'b) Df_struct.dfgraph
val mkdfgraph_singleton :
('a, 'b) Df_struct.dfnode -> ('a, 'b) Df_struct.dfgraph
val get_dfnode_value : ('a, 'b) Df_struct.dfnode -> 'a
val get_dfnode_kind : ('a, 'b) Df_struct.dfnode -> Df_struct.dfnode_kind
val get_dfnode_id : ('a, 'b) Df_struct.dfnode -> Df_struct.dfnode_id
val is_dfsink : Df_struct.dfsink_kind -> ('a, 'b) Df_struct.dfnode -> bool
val is_dfpass : Df_struct.dfpass_kind -> ('a, 'b) Df_struct.dfnode -> bool
val is_dffork : ('a, 'b) Df_struct.dfnode -> bool
val affiliate_unary : ('a, 'b) Df_struct.dfnode -> unit
val affiliate_binary :
('a, 'b) Df_struct.dfnode -> ('a, 'b) Df_struct.dfnode -> unit
val affiliate_many : ('a, 'b) Df_struct.dfnode list -> unit
val get_affiliates :
('a, 'b) Df_struct.dfnode -> ('a, 'b) Df_struct.dfnode list
val terminate_unary :
('a, 'b) Df_struct.dfnode ->
('a, 'b) Df_struct.dfgraph -> ('a, 'b) Df_struct.dfgraph
val terminate_binary :
('a, 'b) Df_struct.dfnode ->
('a, 'b) Df_struct.dfgraph ->
('a, 'b) Df_struct.dfgraph -> ('a, 'b) Df_struct.dfgraph
val terminate_many :
('a, 'b) Df_struct.dfnode ->
('a, 'b) Df_struct.dfgraph list -> ('a, 'b) Df_struct.dfgraph
val merge_dfgraphs :
('a, 'b) Df_struct.dfgraph ->
('a, 'b) Df_struct.dfgraph -> ('a, 'b) Df_struct.dfgraph
val iter_dfs :
(('a, 'b) Df_struct.dfnode -> 'b -> 'b) ->
'b -> ('a, 'b) Df_struct.dfgraph -> unit
val fold_left_dfs :
('a list -> ('b, 'a) Df_struct.dfnode -> 'c -> 'a) ->
(('b, 'a) Df_struct.dfnode -> 'c -> 'c) ->
'a -> 'c -> ('b, 'a) Df_struct.dfnode -> 'a
val find_all :
(('a, 'b) Df_struct.dfnode -> bool) ->
('a, 'b) Df_struct.dfgraph -> ('a, 'b) Df_struct.dfnode list
val string_of_dfnode_id : Df_struct.dfnode_id -> string
val print_dot_dfgraph :
Format.formatter -> ('a, 'b) Df_struct.dfgraph -> unit
val print_dot_clustered_dfgraph :
Format.formatter -> ('a, 'b) Df_struct.dfgraph -> unit
val print_dot_dfgraph_custom :
Format.formatter ->
(Format.formatter ->
Df_struct.dfnode_kind -> Df_struct.dfnode_id -> 'a -> unit) ->
('a, 'b) Df_struct.dfgraph -> unit
end