X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_disambiguation%2Fdisambiguate.mli;h=ac9b977927bb9c69a86c64198949fba1cadb4ab8;hb=aca103d3c3d740efcc0bcc2932922cff77facb49;hp=5f797ab5dbbfb1ef12b0096aba811a541ac53a77;hpb=358d1d55044347255aacb8daf03de0dbb18bc668;p=helm.git diff --git a/helm/ocaml/cic_disambiguation/disambiguate.mli b/helm/ocaml/cic_disambiguation/disambiguate.mli index 5f797ab5d..ac9b97792 100644 --- a/helm/ocaml/cic_disambiguation/disambiguate.mli +++ b/helm/ocaml/cic_disambiguation/disambiguate.mli @@ -23,37 +23,46 @@ * http://helm.cs.unibo.it/ *) -open Disambiguate_types +open DisambiguateTypes - (* TODO move to CicSomething *) -val term_of_uri: string -> Cic.term - -(** {2 Choice registration interface} *) - - (** to be raised when a choice is invalid due to some given parameter (e.g. - * wrong number of Cic.term arguments received) *) -exception Invalid_choice +(** {2 Disambiguation interface} *) - (** register a new symbol choice *) -val add_symbol_choice: string -> codomain_item -> unit +exception NoWellTypedInterpretation - (** register a new number choice *) -val add_num_choice: codomain_item -> unit +module type Disambiguator = +sig + val disambiguate_term : + dbd:Mysql.dbd -> + context:Cic.context -> + metasenv:Cic.metasenv -> + ?initial_ugraph:CicUniv.universe_graph -> + aliases:environment -> (* previous interpretation status *) + CicAst.term -> + (environment * (* new interpretation status *) + Cic.metasenv * (* new metasenv *) + Cic.term* + CicUniv.universe_graph) list (* disambiguated term *) +end -(** {2 Disambiguation interface} *) +module Make (C : Callbacks) : Disambiguator -exception NoWellTypedInterpretation +module Trivial: +sig + exception Ambiguous_term of string -module Make (C : Callbacks) : - sig - val disambiguate_term : - MQIConn.handle -> - Cic.context -> - Cic.metasenv -> - Ast.term -> - aliases:environment -> (* previous interpretation status *) - environment * (* new interpretation status *) - Cic.metasenv * (* new metasenv *) - Cic.term (* disambiguated term *) - end + (** 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 -> + ?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 *) + Cic.term * + CicUniv.universe_graph) list (* disambiguated term *) +end