sig
module type Transition =
sig
type 'a transition
val empty : 'a CfgTypes.Transition.transition
val iter : ('a -> unit) -> 'a CfgTypes.Transition.transition -> unit
end
module type Cfg =
sig
type cfg
type node
module T : Transition
type transition = CfgTypes.Cfg.node T.transition
val nil : CfgTypes.Cfg.node
val is_nil : CfgTypes.Cfg.node -> bool
val create : unit -> CfgTypes.Cfg.cfg
val node : CfgTypes.Cfg.cfg -> CfgTypes.Cfg.node
val size : CfgTypes.Cfg.cfg -> int
val set :
CfgTypes.Cfg.cfg ->
CfgTypes.Cfg.node -> CfgTypes.Cfg.transition -> unit
val add :
CfgTypes.Cfg.cfg -> CfgTypes.Cfg.transition -> CfgTypes.Cfg.node
val next :
CfgTypes.Cfg.cfg -> CfgTypes.Cfg.node -> CfgTypes.Cfg.transition
val succ :
CfgTypes.Cfg.cfg -> CfgTypes.Cfg.node -> CfgTypes.Cfg.node list
val pred :
CfgTypes.Cfg.cfg -> CfgTypes.Cfg.node -> CfgTypes.Cfg.node list
val iter_succ :
CfgTypes.Cfg.cfg ->
(CfgTypes.Cfg.node -> unit) -> CfgTypes.Cfg.node -> unit
val iter_pred :
CfgTypes.Cfg.cfg ->
(CfgTypes.Cfg.node -> unit) -> CfgTypes.Cfg.node -> unit
val iter :
(CfgTypes.Cfg.node -> CfgTypes.Cfg.transition -> unit) ->
CfgTypes.Cfg.cfg -> unit
val id : CfgTypes.Cfg.node -> int
val nid : int -> CfgTypes.Cfg.node
type marks
val marks : CfgTypes.Cfg.cfg -> CfgTypes.Cfg.marks
val once : CfgTypes.Cfg.marks -> CfgTypes.Cfg.node -> bool
type dotter
val pp_node :
CfgTypes.Cfg.dotter ->
CfgTypes.Cfg.node ->
('a, Format.formatter, unit) Pervasives.format -> 'a
val pp_edge :
CfgTypes.Cfg.dotter ->
CfgTypes.Cfg.node ->
CfgTypes.Cfg.node ->
('a, Format.formatter, unit) Pervasives.format -> 'a
type pp_cfg =
CfgTypes.Cfg.dotter ->
CfgTypes.Cfg.node -> CfgTypes.Cfg.transition -> unit
val dot : CfgTypes.Cfg.cfg -> CfgTypes.Cfg.pp_cfg -> string -> unit
end
end