source: Deliverables/D5.1/cost-plug-in/plugin/stringTools.ml @ 1462

Last change on this file since 1462 was 1462, checked in by ayache, 8 years ago

Added D5.1: Frama-C plug-in and Lustre wrapper. D2.2 (8051) has been updated accordingly.

File size: 597 bytes
RevLine 
[1462]1
2(** This module provides some generic structures over strings. *)
3
4
5module Set = struct
6  module M = Set.Make (String)
7  include M
8
9  let of_list l = List.fold_right M.add l M.empty
10  let disjoint s1 s2 = M.inter s1 s2 = M.empty
11end
12
13module Map = struct
14  module M = Map.Make (String)
15  include M
16
17  let split_couple map =
18    let f key (a, b) (resa, resb) = (M.add key a resa, M.add key b resb) in
19    M.fold f map (M.empty, M.empty)
20
21  let combine mapa mapb =
22    let f key a res =
23      if M.mem key mapb then M.add key (a, M.find key mapb) res
24      else res in
25    M.fold f mapa M.empty
26end
Note: See TracBrowser for help on using the repository browser.