1 module Label_ImperativeMap = struct
3 type key = Graphs.label
5 type 'data t = 'data Graphs.graph ref
7 let create () = ref (Identifiers.empty_map PreIdentifiers.LabelTag)
10 t := Identifiers.empty_map PreIdentifiers.LabelTag
13 t := Identifiers.add PreIdentifiers.LabelTag !t k d
16 match Identifiers.lookup PreIdentifiers.LabelTag !t k with
18 | Types.None -> raise Not_found
21 Identifiers.foldi PreIdentifiers.LabelTag (fun k v () -> f k v) !t ()
25 (** val compute_fixpoint : Fixpoints.fixpoint_computer **)
26 let compute_fixpoint latt =
27 let module L : Fix.PROPERTY with type property = Preamble.__ =
29 type property = Preamble.__
30 let bottom = Fixpoints.l_bottom latt
31 let equal x y = Fixpoints.l_equal latt x y = Bool.True
32 let is_maximal x = Fixpoints.l_is_maximal latt x = Bool.True
34 let module F = Fix.Make (Label_ImperativeMap) (L) in