]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/lambda-delta/common/hierarchy.ml
- we added a parser for lambda-delta textual syntax (file extension .hln)
[helm.git] / helm / software / lambda-delta / common / hierarchy.ml
index f8a58dc0f37bf180d4ec6c07eeb74e0ad743f910..7a1610e8b64675b808f4ad0ec50e80dfd3a3ba8d 100644 (file)
@@ -28,9 +28,18 @@ let set_sort h s =
 let set_sorts ss i =   
    List.fold_left set_sort i ss
 
-let get_sort err f h =
+let string_of_sort err f h =
    try f (H.find sort h) with Not_found -> err ()
 
+let sort_of_string err f s =
+   let map h n = function
+      | None when n = s -> Some h
+      | xh              -> xh
+   in
+   match H.fold map sort None with
+      | None   -> err ()
+      | Some h -> f h
+
 let string_of_graph (s, _) = s
 
 let apply (_, g) h = (g h)