X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_disambiguation%2Fdisambiguate.mli;h=e8d21c0cda5f98c57b74aa845a4e3e831217393f;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=ca33fa4226db2cdd4c667b1090692eb43634faa6;hpb=358cefe50cccd4cb7d8e2a9cecb7efcb5780b8a3;p=helm.git diff --git a/helm/ocaml/cic_disambiguation/disambiguate.mli b/helm/ocaml/cic_disambiguation/disambiguate.mli index ca33fa422..e8d21c0cd 100644 --- a/helm/ocaml/cic_disambiguation/disambiguate.mli +++ b/helm/ocaml/cic_disambiguation/disambiguate.mli @@ -25,57 +25,67 @@ (** {2 Disambiguation interface} *) -exception NoWellTypedInterpretation +exception NoWellTypedInterpretation of string Lazy.t list exception PathNotWellFormed val interpretate_path : - context:Cic.name list -> env:DisambiguateTypes.environment -> CicAst.term -> - Cic.term - + context:Cic.name list -> DisambiguateTypes.term -> + Cic.term 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 : - dbd:Mysql.dbd -> + ?fresh_instances:bool -> + dbd:HMysql.dbd -> context:Cic.context -> metasenv:Cic.metasenv -> ?initial_ugraph:CicUniv.universe_graph -> aliases:DisambiguateTypes.environment ->(* previous interpretation status *) - CicAst.term -> - (DisambiguateTypes.environment * (* new interpretation status *) + universe:DisambiguateTypes.multiple_environment option -> + DisambiguateTypes.term -> + ((DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * 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 : - dbd:Mysql.dbd -> + ?fresh_instances:bool -> + dbd:HMysql.dbd -> aliases:DisambiguateTypes.environment ->(* previous interpretation status *) + universe:DisambiguateTypes.multiple_environment option -> uri:UriManager.uri option -> (* required only for inductive types *) - TacticAst.obj -> - (DisambiguateTypes.environment * (* new interpretation status *) + GrafiteAst.obj -> + ((DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * 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 module Trivial: sig - exception Ambiguous_term of string + exception Ambiguous_term of string Lazy.t (** disambiguate an _unanmbiguous_ term using dummy callbacks which fail if a * choice from the user is needed to disambiguate the term * @raise Ambiguous_term for ambiguous term *) val disambiguate_string: - dbd:Mysql.dbd -> + dbd:HMysql.dbd -> ?context:Cic.context -> ?metasenv:Cic.metasenv -> ?initial_ugraph:CicUniv.universe_graph -> ?aliases:DisambiguateTypes.environment ->(* previous interpretation status*) string -> - (DisambiguateTypes.environment * (* new interpretation status *) + ((DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * Cic.metasenv * (* new metasenv *) Cic.term * CicUniv.universe_graph) list (* disambiguated term *) end +