module Make:
module T: T
val nil : int
val is_nil : int -> bool
type
node = int
type
transition = node T.transition
type
cfg = cell Vector.t
type
cell = {
|
mutable pred : node list ; |
|
mutable next : node T.transition ; |
}
val create : unit -> 'a Vector.t
val size : 'a Vector.t -> int
val remove : 'a -> 'a list -> 'a list
val set_pred : cell Vector.t ->
node -> int T.transition -> unit
val del_pred : cell Vector.t ->
node -> int T.transition -> unit
val node : cell Vector.t -> int
val set : cell Vector.t ->
node -> node T.transition -> unit
val add : cell Vector.t -> node T.transition -> int
val next : cell Vector.t -> int -> node T.transition
val pred : cell Vector.t -> int -> node list
val iter : (int -> node T.transition -> unit) ->
cell Vector.t -> unit
val iter_succ : cell Vector.t -> (node -> unit) -> int -> unit
val iter_pred : cell Vector.t -> (node -> unit) -> int -> unit
val succ : cell Vector.t -> int -> node list
val id : 'a -> 'a
val nid : 'a -> 'a
type
marks = Bitvector.t
val marks : 'a Vector.t -> Bitvector.t
val once : Bitvector.t -> int -> bool
type
dotter = Format.formatter
type
pp_cfg = dotter -> node -> transition -> unit
val pp_node : Format.formatter ->
int -> ('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
val pp_edge : Format.formatter ->
int -> int -> ('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
val dot : cell Vector.t ->
(Format.formatter -> int -> node T.transition -> unit) ->
string -> unit