X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_disambiguation%2Fdisambiguate.mli;h=a2cc0d0e7b04489333cadfb33572aa9b60dfbb49;hb=1bf23558e2145bcc125102d61f1ca17643d0fd02;hp=4db990283b919825430810a363e28d5e0e390dda;hpb=a1b3b062ef799002baf9f21c6e5850b190af5977;p=helm.git diff --git a/helm/ocaml/cic_disambiguation/disambiguate.mli b/helm/ocaml/cic_disambiguation/disambiguate.mli index 4db990283..a2cc0d0e7 100644 --- a/helm/ocaml/cic_disambiguation/disambiguate.mli +++ b/helm/ocaml/cic_disambiguation/disambiguate.mli @@ -23,44 +23,51 @@ * http://helm.cs.unibo.it/ *) -open DisambiguateTypes - (** {2 Disambiguation interface} *) -exception NoWellTypedInterpretation +(* the integer is an offset to be added to each location *) +exception NoWellTypedInterpretation of + int * (Token.flocation option * string Lazy.t) list +exception PathNotWellFormed -module Make (C : Callbacks) : - sig - val disambiguate_term : - dbd:Mysql.dbd -> - Cic.context -> - Cic.metasenv -> - CicAst.term -> - ?initial_ugraph:CicUniv.universe_graph -> - aliases:environment -> (* previous interpretation status *) - (environment * (* new interpretation status *) - Cic.metasenv * (* new metasenv *) - Cic.term* - CicUniv.universe_graph) list (* disambiguated term *) - end +val interpretate_path : + context:Cic.name list -> CicNotationPt.term -> + Cic.term -module Trivial: +module type Disambiguator = sig - exception Ambiguous_term of string - - (** 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 -> - Cic.context -> - Cic.metasenv -> + (** @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:HMysql.dbd -> + context:Cic.context -> + metasenv:Cic.metasenv -> ?initial_ugraph:CicUniv.universe_graph -> - ?aliases:environment -> (* previous interpretation status *) - string -> - (environment * (* new interpretation status *) - Cic.metasenv * (* new metasenv *) + aliases:DisambiguateTypes.environment ->(* previous interpretation status *) + universe:DisambiguateTypes.multiple_environment option -> + CicNotationPt.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 : + ?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 *) + CicNotationPt.obj -> + ((DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * + Cic.metasenv * (* new metasenv *) + Cic.obj * + CicUniv.universe_graph) list * (* disambiguated obj *) + bool (* has interactive_interpretation_choice been invoked? *) end +module Make (C : DisambiguateTypes.Callbacks) : Disambiguator +