X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_disambiguation%2Fdisambiguate.mli;h=ca33fa4226db2cdd4c667b1090692eb43634faa6;hb=bbe7741f3bbaacb93f2876c018dace82f5e929b8;hp=b0fe0fcd3e7dfa11f4a874d998971b198f2f14d2;hpb=31851952e1cc2db59168c5fd6f6093d9bc37ea86;p=helm.git diff --git a/helm/ocaml/cic_disambiguation/disambiguate.mli b/helm/ocaml/cic_disambiguation/disambiguate.mli index b0fe0fcd3..ca33fa422 100644 --- a/helm/ocaml/cic_disambiguation/disambiguate.mli +++ b/helm/ocaml/cic_disambiguation/disambiguate.mli @@ -23,24 +23,59 @@ * http://helm.cs.unibo.it/ *) -open DisambiguateTypes - (** {2 Disambiguation interface} *) exception NoWellTypedInterpretation +exception PathNotWellFormed + +val interpretate_path : + context:Cic.name list -> env:DisambiguateTypes.environment -> CicAst.term -> + Cic.term + + +module type Disambiguator = +sig + val disambiguate_term : + dbd:Mysql.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 *) + Cic.metasenv * (* new metasenv *) + Cic.term * + CicUniv.universe_graph) list (* disambiguated term *) + + val disambiguate_obj : + dbd:Mysql.dbd -> + aliases:DisambiguateTypes.environment ->(* previous interpretation status *) + uri:UriManager.uri option -> (* required only for inductive types *) + TacticAst.obj -> + (DisambiguateTypes.environment * (* new interpretation status *) + Cic.metasenv * (* new metasenv *) + Cic.obj * + CicUniv.universe_graph) list (* disambiguated obj *) +end + +module Make (C : DisambiguateTypes.Callbacks) : Disambiguator -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 +module Trivial: +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 -> + ?context:Cic.context -> + ?metasenv:Cic.metasenv -> + ?initial_ugraph:CicUniv.universe_graph -> + ?aliases:DisambiguateTypes.environment ->(* previous interpretation status*) + string -> + (DisambiguateTypes.environment * (* new interpretation status *) + Cic.metasenv * (* new metasenv *) + Cic.term * + CicUniv.universe_graph) list (* disambiguated term *) +end