X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fgrafite_parser%2FgrafiteDisambiguate.ml;h=143ac5e11f83949682d513dfd51bb0f39328f4c1;hb=53a5acbe28212706be9c684d612aee1ccb165587;hp=5f2ac335d3cba50be6fcbf3cf74da070048978c7;hpb=560db5569f54fba5bded568699a33947f88df3ba;p=helm.git diff --git a/matita/components/grafite_parser/grafiteDisambiguate.ml b/matita/components/grafite_parser/grafiteDisambiguate.ml index 5f2ac335d..143ac5e11 100644 --- a/matita/components/grafite_parser/grafiteDisambiguate.ml +++ b/matita/components/grafite_parser/grafiteDisambiguate.ml @@ -25,14 +25,23 @@ (* $Id$ *) +class type g_status = + object + inherit LexiconEngine.g_status + inherit NCicCoercion.g_status + end + +class status = + object (self) + inherit LexiconEngine.status + inherit NCicCoercion.status + method set_grafite_disambiguate_status + : 'status. #g_status as 'status -> 'self + = fun o -> (self#set_lexicon_engine_status o)#set_coercion_status o + end + exception BaseUriNotSetYet -(* -type tactic = - (NotationPt.term, NotationPt.term, - NotationPt.term GrafiteAst.reduction, string) - GrafiteAst.tactic *) - let singleton msg = function | [x], _ -> x | l, _ -> @@ -45,20 +54,19 @@ let singleton msg = function let __Implicit = "__Implicit__" let __Closed_Implicit = "__Closed_Implicit__" -let ncic_mk_choice = function +let ncic_mk_choice status = function | LexiconAst.Symbol_alias (name, _, dsc) -> if name = __Implicit then dsc, `Sym_interp (fun _ -> NCic.Implicit `Term) else if name = __Closed_Implicit then dsc, `Sym_interp (fun _ -> NCic.Implicit `Closed) else - DisambiguateChoices.lookup_symbol_by_dsc + DisambiguateChoices.lookup_symbol_by_dsc status ~mk_implicit:(function | true -> NCic.Implicit `Closed | false -> NCic.Implicit `Term) ~mk_appl:(function (NCic.Appl l)::tl -> NCic.Appl (l@tl) | l -> NCic.Appl l) - ~term_of_uri:(fun _ -> assert false) ~term_of_nref:(fun nref -> NCic.Const nref) name dsc | LexiconAst.Number_alias (_, dsc) -> @@ -124,7 +132,7 @@ let disambiguate_nterm expty estatus context metasenv subst thing ~expty ~universe:(Some estatus#lstatus.LexiconEngine.multi_aliases) ~lookup_in_library:nlookup_in_library - ~mk_choice:ncic_mk_choice + ~mk_choice:(ncic_mk_choice estatus) ~mk_implicit ~fix_instance ~description_of_alias:LexiconAst.description_of_alias ~context ~metasenv ~subst thing) @@ -202,7 +210,7 @@ let disambiguate_nobj estatus ?baseuri (text,prefix_len,obj) = (NCicDisambiguate.disambiguate_obj ~lookup_in_library:nlookup_in_library ~description_of_alias:LexiconAst.description_of_alias - ~mk_choice:ncic_mk_choice + ~mk_choice:(ncic_mk_choice estatus) ~mk_implicit ~fix_instance ~uri ~rdb:estatus @@ -212,10 +220,3 @@ let disambiguate_nobj estatus ?baseuri (text,prefix_len,obj) = let estatus = LexiconEngine.set_proof_aliases estatus diff in estatus, cic ;; - -let disambiguate_command estatus ?baseuri (text,prefix_len,cmd)= - match cmd with - | GrafiteAst.Include _ - | GrafiteAst.Print _ - | GrafiteAst.Set _ as cmd -> - estatus,cmd