X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matitaB%2Fcomponents%2Fng_disambiguation%2FgrafiteDisambiguate.mli;h=fd9615cde7e5acbdc24bed36259677ebe3c6fe62;hb=3b7b8afcb429a60d716d5226a5b6ab0d003228b1;hp=1f5553e912d31875cee67bcd654770c178b1f384;hpb=cacbe3c6493ddce76c4c13379ade271d8dd172e8;p=helm.git diff --git a/matitaB/components/ng_disambiguation/grafiteDisambiguate.mli b/matitaB/components/ng_disambiguation/grafiteDisambiguate.mli index 1f5553e91..fd9615cde 100644 --- a/matitaB/components/ng_disambiguation/grafiteDisambiguate.mli +++ b/matitaB/components/ng_disambiguation/grafiteDisambiguate.mli @@ -28,34 +28,61 @@ type db class type g_status = object inherit Interpretations.g_status + inherit NCicLibrary.g_status method disambiguate_db: db end class virtual status : + string option -> object ('self) inherit g_status inherit Interpretations.status + inherit NCicLibrary.status method set_disambiguate_db: db -> 'self + method reset_disambiguate_db: unit -> 'self method set_disambiguate_status: #g_status -> 'self end -val eval_with_new_aliases: +(* reports disambiguation errors *) +exception Error of + (* location of a choice point *) + (Stdpp.location * + (* one possible choice (or no valid choice) *) + (GrafiteAst.alias_spec option * + (* list of asts together with the failing location and error msg *) + ((Stdpp.location * GrafiteAst.alias_spec) list * + Stdpp.location * string) list) + list) + list + + (* val eval_with_new_aliases: #status as 'status -> ('status -> 'a) -> - (DisambiguateTypes.domain_item * GrafiteAst.alias_spec) list * 'a + ((Stdpp.location * DisambiguateTypes.domain_item) * GrafiteAst.alias_spec) list * 'a +*) + +val get_interpr : db -> GrafiteAst.alias_spec DisambiguateTypes.InterprEnv.t + +val add_to_interpr: + #status as 'status -> + (Stdpp.location * GrafiteAst.alias_spec) list -> 'status + +(* val print_interpr: + #status as 'status -> unit *) -val set_proof_aliases: +val add_to_disambiguation_univ: #status as 'status -> - implicit_aliases:bool -> (* implicit ones are made explicit *) - GrafiteAst.inclusion_mode -> - (DisambiguateTypes.domain_item * GrafiteAst.alias_spec) list -> 'status + (DisambiguateTypes.domain_item * GrafiteAst.alias_spec) list -> 'status val aliases_for_objs: - #NCic.status -> NUri.uri list -> + #NCicLibrary.status -> NUri.uri list -> (DisambiguateTypes.domain_item * GrafiteAst.alias_spec) list (* args: print function, message (may be empty), status *) val dump_aliases: (string -> unit) -> string -> #status -> unit +(* reports the first source of ambiguity and its possible interpretations *) +exception Ambiguous_input of (Stdpp.location * GrafiteAst.alias_spec list) + exception BaseUriNotSetYet val disambiguate_nterm : @@ -67,14 +94,14 @@ val disambiguate_nterm : val disambiguate_nobj : #status as 'status -> ?baseuri:string -> (NotationPt.term NotationPt.obj) Disambiguate.disambiguator_input -> - 'status * NCic.obj + 'status * NCic.obj type pattern = NotationPt.term Disambiguate.disambiguator_input option * (string * NCic.term) list * NCic.term option val disambiguate_npattern: - #NCic.status -> GrafiteAst.npattern Disambiguate.disambiguator_input -> pattern + #NCicEnvironment.status -> GrafiteAst.npattern Disambiguate.disambiguator_input -> pattern val disambiguate_cic_appl_pattern: #status ->