X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaDisambiguator.mli;h=a5d0aed44e465d9f5c3ca4cf783ff70e0071e166;hb=6565cd51fb866a80838003cd65dc00e4d5a9814b;hp=7def4dc70b3035768112dcee72a6bb0c6e2bd243;hpb=6187b40af194fb960d91653682a0eb2096f20f3b;p=helm.git diff --git a/helm/matita/matitaDisambiguator.mli b/helm/matita/matitaDisambiguator.mli index 7def4dc70..a5d0aed44 100644 --- a/helm/matita/matitaDisambiguator.mli +++ b/helm/matita/matitaDisambiguator.mli @@ -1,4 +1,4 @@ -(* Copyright (C) 2004, HELM Team. +(* Copyright (C) 2004-2005, HELM Team. * * This file is part of HELM, an Hypertextual, Electronic * Library of Mathematics, developed at the Computer Science @@ -23,12 +23,52 @@ * http://helm.cs.unibo.it/ *) -val parserr: unit -> MatitaTypes.parserr -val disambiguator: unit -> MatitaTypes.disambiguator +open MatitaTypes - (** singleton parser instance *) -val parserr_instance: unit -> MatitaTypes.parserr +(** raised when ambiguous input is found but not expected (e.g. in the batch + * compiler) *) +exception Ambiguous_input - (** singleton disambiguator instance *) -val instance: unit -> MatitaTypes.disambiguator +type choose_uris_callback = id:string -> UriManager.uri list -> UriManager.uri list +type choose_interp_callback = (string * string) list list -> int list + +val set_choose_uris_callback: choose_uris_callback -> unit +val set_choose_interp_callback: choose_interp_callback -> unit + +(** @raise Ambiguous_input if called, default value for internal + * choose_uris_callback if not set otherwise with set_choose_uris_callback + * above *) +val mono_uris_callback: choose_uris_callback + +(** @raise Ambiguous_input if called, default value for internal + * choose_interp_callback if not set otherwise with set_choose_interp_callback + * above *) +val mono_interp_callback: choose_interp_callback + +(** for GUI callbacks see MatitaGui.interactive_{interp,user_uri}_choice *) + +val disambiguate_term : + dbd:Mysql.dbd -> + context:Cic.context -> + metasenv:Cic.metasenv -> + ?initial_ugraph:CicUniv.universe_graph -> + aliases:DisambiguateTypes.environment -> (* previous interpretation status *) + DisambiguateTypes.term -> + (DisambiguateTypes.environment * (* new interpretation status *) + Cic.metasenv * (* new metasenv *) + Cic.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 -> + aliases:DisambiguateTypes.environment -> (* previous interpretation status *) + uri:UriManager.uri option -> (* required only for inductive types *) + GrafiteAst.obj -> + (DisambiguateTypes.environment * (* new interpretation status *) + Cic.metasenv * (* new metasenv *) + Cic.obj * + CicUniv.universe_graph) list * (* disambiguated obj *) + bool (* has interactive_interpretation_choice been invoked? *)