]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/ng_disambiguation/disambiguateChoices.ml
.depend{.opt} files changed
[helm.git] / matita / components / ng_disambiguation / disambiguateChoices.ml
index 6c335ab64aa335d16c4c3df9ddf93561c33b1062..7e3e44f525ccfa8741e457e2301f8896447ffbc1 100644 (file)
@@ -31,27 +31,15 @@ open DisambiguateTypes
 
 exception Choice_not_found of string Lazy.t
 
-let num_choices = ref []
-let nnum_choices = ref []
-
-let add_num_choice choice = num_choices := choice :: !num_choices
-let nadd_num_choice choice = nnum_choices := choice :: !nnum_choices
-
 let has_description dsc = (fun x -> fst x = dsc)
 
-let lookup_num_choices () = !num_choices
-
-let lookup_num_by_dsc dsc =
-  try
-    List.find (has_description dsc) !num_choices
-  with Not_found -> raise (Choice_not_found (lazy ("Num with dsc " ^  dsc)))
-
 let nlookup_num_by_dsc dsc =
-  try
-    List.find (has_description dsc) !nnum_choices
-  with Not_found -> raise (Choice_not_found (lazy ("Num with dsc " ^  dsc)))
+ if dsc <> "natural number" then
+  raise (Choice_not_found (lazy ("Num with dsc " ^  dsc)))
+ else
+  "natural number", `Num_interp Nnumber_notation.ninterp_natural_number
 
-let mk_choice  ~mk_appl ~mk_implicit ~term_of_uri ~term_of_nref (dsc, args, appl_pattern)=
+let mk_choice  ~mk_appl ~mk_implicit ~term_of_nref (dsc, args, appl_pattern)=
   dsc,
   `Sym_interp
   (fun cic_args ->
@@ -75,24 +63,17 @@ let mk_choice  ~mk_appl ~mk_implicit ~term_of_uri ~term_of_nref (dsc, args, appl
     in
      let combined =
       Interpretations.instantiate_appl_pattern 
-        ~mk_appl ~mk_implicit ~term_of_uri ~term_of_nref env' appl_pattern
+        ~mk_appl ~mk_implicit ~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 ~term_of_nref symbol dsc =
-  let interpretations = Interpretations.lookup_interpretations ~sorted:false symbol in
+let lookup_symbol_by_dsc status ~mk_appl ~mk_implicit ~term_of_nref symbol dsc =
+  let interpretations =
+   Interpretations.lookup_interpretations status ~sorted:false symbol in
   try
-    mk_choice ~mk_appl ~mk_implicit ~term_of_uri ~term_of_nref
+    mk_choice ~mk_appl ~mk_implicit ~term_of_nref
       (List.find (fun (dsc', _, _) -> dsc = dsc') interpretations)
   with Interpretations.Interpretation_not_found | Not_found ->
     raise (Choice_not_found (lazy (sprintf "Symbol %s, dsc %s" symbol dsc)))
-
-let cic_lookup_symbol_by_dsc = lookup_symbol_by_dsc
-  ~mk_implicit:(function 
-     | 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_nref:(fun _ -> assert false)
-;;