]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/cic_disambiguation/disambiguate.mli
exported disambiguate_thing
[helm.git] / helm / software / components / cic_disambiguation / disambiguate.mli
index 5dc0df28b164feaa1d89c880e7cdb3f5323ef0d7..99c1e45560947209b6982c4046cc51cae64f78d7 100644 (file)
@@ -45,8 +45,46 @@ val interpretate_path :
 
 type 'a disambiguator_input = string * int * 'a
     
+type domain = domain_tree list
+and domain_tree = 
+  Node of Stdpp.location list * DisambiguateTypes.domain_item * domain
+type ('a,'m) test_result =
+  | Ok of 'a * 'm
+  | Ko of Stdpp.location option * string Lazy.t
+  | Uncertain of Stdpp.location option * string Lazy.t
+
 module type Disambiguator =
 sig
+  val disambiguate_thing:
+    dbd:HSql.dbd ->
+    context:'context ->
+    metasenv:'metasenv ->
+    initial_ugraph:'ugraph ->
+    aliases:DisambiguateTypes.codomain_item DisambiguateTypes.Environment.t ->
+    universe:DisambiguateTypes.codomain_item list
+             DisambiguateTypes.Environment.t option ->
+    uri:'uri ->
+    pp_thing:('ast_thing -> string) ->
+    domain_of_thing:(context:'context -> 'ast_thing -> domain) ->
+    interpretate_thing:(context:'context ->
+                        env:DisambiguateTypes.codomain_item
+                            DisambiguateTypes.Environment.t ->
+                        uri:'uri ->
+                        is_path:bool -> 
+                        'ast_thing -> 
+                        localization_tbl:'cichash -> 'raw_thing) ->
+    refine_thing:('metasenv ->
+                  'context ->
+                  'uri ->
+                  'raw_thing ->
+                  'ugraph -> localization_tbl:'cichash -> ('refined_thing,
+                  'metasenv) test_result * 'ugraph) ->
+    localization_tbl:'cichash ->
+    string * int * 'ast_thing ->
+    ((DisambiguateTypes.Environment.key * DisambiguateTypes.codomain_item)
+     list * 'metasenv * 'refined_thing * 'ugraph)
+    list * bool
+
   (** @param fresh_instances when set to true fresh instances will be generated
    * for each number _and_ symbol in the disambiguation domain. Instances of the
    * input AST will be ignored. Defaults to false. *)
@@ -78,6 +116,7 @@ sig
      Cic.obj *
      CicUniv.universe_graph) list *  (* disambiguated obj *)
     bool  (* has interactive_interpretation_choice been invoked? *)
+
 end
 
 module Make (C : DisambiguateTypes.Callbacks) : Disambiguator