module Make: functor (
G
:
sig
type
t
module V: sig
.. end
val iter_vertex : (V.t -> unit) -> t -> unit
val iter_succ : (V.t -> unit) ->
t -> V.t -> unit
val iter_pred : (V.t -> unit) ->
t -> V.t -> unit
val fold_pred : (V.t -> 'a -> 'a) ->
t -> V.t -> 'a -> 'a
val datatype_name : string
end
) ->
sig
.. end
Generic functor implementing the services algorithm according to a graph
implementation.
Parameters: |
G |
: |
sig
type t
module V: sig
(** @modify Oxygen-20120901 require [compare] *)
include Graph.Sig.COMPARABLE
val id: t -> int
(** assume is >= 0 and unique for each vertices of the graph *)
val name: t -> string
val attributes: t -> Graph.Graphviz.DotAttributes.vertex list
val entry_point: unit -> t option
(** @modify Nitrogen-20111001 return an option*)
end
val iter_vertex : (V.t -> unit) -> t -> unit
val iter_succ : (V.t -> unit) -> t -> V.t -> unit
val iter_pred : (V.t -> unit) -> t -> V.t -> unit
val fold_pred : (V.t -> 'a -> 'a) -> t -> V.t -> 'a -> 'a
val datatype_name: string
end
|
|
type
vertex = private {
|
node : G.V.t ; |
|
mutable is_root : bool ; |
|
mutable root : vertex ; |
}
type
edge = private
| |
Inter_services |
| |
Inter_functions |
| |
Both |
module CallG: sig
.. end
val compute : G.t -> Datatype.String.Set.t -> CallG.t
val output_graph : Pervasives.out_channel -> CallG.t -> unit
val entry_point : unit -> CallG.V.t option
compute
must be called before
Since Carbon-20101201
Change in Nitrogen-20111001: return an option type
module TP: Graph.Graphviz.GraphWithDotAttrs
with type t = CallG.t
and type V.t = vertex
and type E.t = CallG.E.t