From: Enrico Tassi Date: Tue, 9 Jun 2009 14:56:01 +0000 (+0000) Subject: termAcicContent is logic independent (despite its name) thus it X-Git-Tag: make_still_working~3896 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=fbe17b2934c978e14ce1eb1247f35a6c177571f1;p=helm.git termAcicContent is logic independent (despite its name) thus it needs also term_of_nref --- diff --git a/helm/software/components/acic_content/termAcicContent.ml b/helm/software/components/acic_content/termAcicContent.ml index 0c0b02328..0af74d261 100644 --- a/helm/software/components/acic_content/termAcicContent.ml +++ b/helm/software/components/acic_content/termAcicContent.ml @@ -497,7 +497,7 @@ let remove_interpretation id = let init () = List.iter (fun f -> f []) !load_patterns32s let instantiate_appl_pattern - ~mk_appl ~mk_implicit ~term_of_uri env appl_pattern + ~mk_appl ~mk_implicit ~term_of_uri ~term_of_nref env appl_pattern = let lookup name = try List.assoc name env @@ -507,7 +507,7 @@ let instantiate_appl_pattern in let rec aux = function | Ast.UriPattern uri -> term_of_uri uri - | Ast.NRefPattern _ -> assert false + | Ast.NRefPattern nref -> term_of_nref nref | Ast.ImplicitPattern -> mk_implicit false | Ast.VarPattern name -> lookup name | Ast.ApplPattern terms -> mk_appl (List.map aux terms) diff --git a/helm/software/components/cic_disambiguation/disambiguateChoices.ml b/helm/software/components/cic_disambiguation/disambiguateChoices.ml index bc82e60ff..f0c7b373f 100644 --- a/helm/software/components/cic_disambiguation/disambiguateChoices.ml +++ b/helm/software/components/cic_disambiguation/disambiguateChoices.ml @@ -44,7 +44,7 @@ let lookup_num_by_dsc dsc = List.find (has_description dsc) !num_choices with Not_found -> raise (Choice_not_found (lazy ("Num with dsc " ^ dsc))) -let mk_choice ~mk_appl ~mk_implicit ~term_of_uri (dsc, args, appl_pattern)= +let mk_choice ~mk_appl ~mk_implicit ~term_of_uri ~term_of_nref (dsc, args, appl_pattern)= dsc, `Sym_interp (fun cic_args -> @@ -68,16 +68,16 @@ let mk_choice ~mk_appl ~mk_implicit ~term_of_uri (dsc, args, appl_pattern)= in let combined = TermAcicContent.instantiate_appl_pattern - ~mk_appl ~mk_implicit ~term_of_uri env' appl_pattern + ~mk_appl ~mk_implicit ~term_of_uri ~term_of_nref env' appl_pattern in match rest with [] -> combined | _::_ -> mk_appl (combined::rest)) -let lookup_symbol_by_dsc ~mk_appl ~mk_implicit ~term_of_uri symbol dsc = +let lookup_symbol_by_dsc ~mk_appl ~mk_implicit ~term_of_uri ~term_of_nref symbol dsc = let interpretations = TermAcicContent.lookup_interpretations ~sorted:false symbol in try - mk_choice ~mk_appl ~mk_implicit ~term_of_uri + mk_choice ~mk_appl ~mk_implicit ~term_of_uri ~term_of_nref (List.find (fun (dsc', _, _) -> dsc = dsc') interpretations) with TermAcicContent.Interpretation_not_found | Not_found -> raise (Choice_not_found (lazy (sprintf "Symbol %s, dsc %s" symbol dsc))) @@ -87,5 +87,5 @@ let cic_lookup_symbol_by_dsc = lookup_symbol_by_dsc | true -> Cic.Implicit (Some `Type) | false -> Cic.Implicit None) ~mk_appl:(function (Cic.Appl l)::tl -> Cic.Appl (l@tl) | l -> Cic.Appl l) - ~term_of_uri:CicUtil.term_of_uri + ~term_of_uri:CicUtil.term_of_uri ~term_of_nref:(fun _ -> assert false) ;; diff --git a/helm/software/components/grafite_parser/grafiteDisambiguate.ml b/helm/software/components/grafite_parser/grafiteDisambiguate.ml index e94507a86..9c12d1173 100644 --- a/helm/software/components/grafite_parser/grafiteDisambiguate.ml +++ b/helm/software/components/grafite_parser/grafiteDisambiguate.ml @@ -78,6 +78,7 @@ let ncic_mk_choice = function (NCic.Appl l)::tl -> NCic.Appl (l@tl) | l -> NCic.Appl l) ~term_of_uri:(fun uri -> fst (OCic2NCic.convert_term uri (CicUtil.term_of_uri uri))) + ~term_of_nref:(fun nref -> NCic.Const nref) name dsc | LexiconAst.Number_alias (_, dsc) -> let desc,f = DisambiguateChoices.lookup_num_by_dsc dsc in