X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fcic_disambiguation%2Fdisambiguate.mli;h=b21c2bbe0f2480b996a44e3bef3379fc5a9c0cae;hb=424982ded255df68245241f56064202844ed1194;hp=4fe40da91fb5db8fbe2665df40e73ddca4b17524;hpb=ac741958783108ff31552e533c853e85c2ebb1c5;p=helm.git diff --git a/helm/software/components/cic_disambiguation/disambiguate.mli b/helm/software/components/cic_disambiguation/disambiguate.mli index 4fe40da91..b21c2bbe0 100644 --- a/helm/software/components/cic_disambiguation/disambiguate.mli +++ b/helm/software/components/cic_disambiguation/disambiguate.mli @@ -35,9 +35,9 @@ * useless for the final user ... *) exception NoWellTypedInterpretation of int * - ((Token.flocation list * string * string) list * + ((Stdpp.location list * string * string) list * (DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * - Token.flocation option * string Lazy.t * bool) list + Stdpp.location option * string Lazy.t * bool) list exception PathNotWellFormed val interpretate_path : @@ -45,27 +45,72 @@ val interpretate_path : type 'a disambiguator_input = string * int * 'a +type domain = domain_tree list +and domain_tree = + Node of Stdpp.location list * DisambiguateTypes.domain_item * domain + +type ('term,'metasenv,'subst,'graph) test_result = + | Ok of 'term * 'metasenv * 'subst * 'graph + | Ko of Stdpp.location option * string Lazy.t + | Uncertain of Stdpp.location option * string Lazy.t + +exception Try_again of string Lazy.t + +val domain_of_ast_term: context:Cic.name list -> CicNotationPt.term -> domain + 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_thing: + dbd:HSql.dbd -> + context:'context -> + metasenv:'metasenv -> + subst:'subst -> + initial_ugraph:'ugraph -> + hint: ('metasenv -> 'raw_thing -> 'raw_thing) * + (('refined_thing,'metasenv,'subst,'ugraph) test_result -> + ('refined_thing,'metasenv,'subst,'ugraph) test_result) -> + aliases:DisambiguateTypes.codomain_item DisambiguateTypes.Environment.t -> + universe:DisambiguateTypes.codomain_item list + DisambiguateTypes.Environment.t option -> + uri:'uri -> + pp_thing:('ast_thing -> string) -> + domain_of_thing:(context:'context -> 'ast_thing -> domain) -> + interpretate_thing:(context:'context -> + env:DisambiguateTypes.codomain_item + DisambiguateTypes.Environment.t -> + uri:'uri -> + is_path:bool -> 'ast_thing -> localization_tbl:'cichash -> 'raw_thing) -> + refine_thing:('metasenv -> + 'subst -> + 'context -> + 'uri -> + 'raw_thing -> + 'ugraph -> localization_tbl:'cichash -> + ('refined_thing, 'metasenv,'subst,'ugraph) test_result) -> + localization_tbl:'cichash -> + string * int * 'ast_thing -> + ((DisambiguateTypes.Environment.key * DisambiguateTypes.codomain_item) + list * 'metasenv * 'subst * 'refined_thing * 'ugraph) + list * bool + val disambiguate_term : ?fresh_instances:bool -> dbd:HSql.dbd -> context:Cic.context -> - metasenv:Cic.metasenv -> + metasenv:Cic.metasenv -> + subst:Cic.substitution -> + ?goal:int -> ?initial_ugraph:CicUniv.universe_graph -> aliases:DisambiguateTypes.environment ->(* previous interpretation status *) universe:DisambiguateTypes.multiple_environment option -> CicNotationPt.term disambiguator_input -> ((DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * Cic.metasenv * (* new metasenv *) - Cic.term * + Cic.substitution * + Cic.term* CicUniv.universe_graph) list * (* disambiguated term *) - bool (* has interactive_interpretation_choice been invoked? *) + bool - (** @param fresh_instances as per disambiguate_term *) val disambiguate_obj : ?fresh_instances:bool -> dbd:HSql.dbd -> @@ -75,9 +120,10 @@ sig CicNotationPt.term CicNotationPt.obj disambiguator_input -> ((DisambiguateTypes.domain_item * DisambiguateTypes.codomain_item) list * Cic.metasenv * (* new metasenv *) + Cic.substitution * Cic.obj * CicUniv.universe_graph) list * (* disambiguated obj *) - bool (* has interactive_interpretation_choice been invoked? *) + bool end module Make (C : DisambiguateTypes.Callbacks) : Disambiguator