]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_disambiguation/disambiguate.mli
moved dummy_floc from Disambiguate to DisambiguateTypes, since it is now needed by...
[helm.git] / helm / ocaml / cic_disambiguation / disambiguate.mli
index 6f74c23c0ab674bcf213a60992e4544c0574ff55..5de2e5759eaa6c2a68ce3da74b746e2e7241db7a 100644 (file)
@@ -29,33 +29,43 @@ exception NoWellTypedInterpretation
 exception PathNotWellFormed
 
 val interpretate_path :
-  context:Cic.name list -> env:DisambiguateTypes.environment ->
-  DisambiguateTypes.term ->
+  context:Cic.name list -> DisambiguateTypes.term ->
     Cic.term
 
+  (** @param multi true if multi aliases are used, false otherwise *)
+type aliases = bool * DisambiguateTypes.environment
+
 module type Disambiguator =
 sig
+  (** @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. *)
   val disambiguate_term :
+    ?fresh_instances:bool ->
     dbd:Mysql.dbd ->
     context:Cic.context ->
     metasenv:Cic.metasenv ->
     ?initial_ugraph:CicUniv.universe_graph -> 
-    aliases:DisambiguateTypes.environment ->(* previous interpretation status *)
+    aliases:aliases ->               (* previous interpretation status *)
     DisambiguateTypes.term ->
     (DisambiguateTypes.environment * (* new interpretation status *)
      Cic.metasenv *                  (* new metasenv *)
      Cic.term *
-     CicUniv.universe_graph) list    (* disambiguated term *)
+     CicUniv.universe_graph) list *  (* disambiguated term *)
+    bool  (* has interactive_interpretation_choice been invoked? *)
 
+  (** @param fresh_instances as per disambiguate_term *)
   val disambiguate_obj :
+    ?fresh_instances:bool ->
     dbd:Mysql.dbd ->
-    aliases:DisambiguateTypes.environment ->(* previous interpretation status *)
+    aliases:aliases ->               (* previous interpretation status *)
     uri:UriManager.uri option ->     (* required only for inductive types *)
     GrafiteAst.obj ->
     (DisambiguateTypes.environment * (* new interpretation status *)
      Cic.metasenv *                  (* new metasenv *)
      Cic.obj *
-     CicUniv.universe_graph) list    (* disambiguated obj *)
+     CicUniv.universe_graph) list *  (* disambiguated obj *)
+    bool  (* has interactive_interpretation_choice been invoked? *)
 end
 
 module Make (C : DisambiguateTypes.Callbacks) : Disambiguator
@@ -80,5 +90,3 @@ sig
      CicUniv.universe_graph) list   (* disambiguated term *)
 end
 
-val dummy_floc: Lexing.position * Lexing.position
-