diff options
| author | herbelin | 2003-11-12 19:03:28 +0000 |
|---|---|---|
| committer | herbelin | 2003-11-12 19:03:28 +0000 |
| commit | e233f936225c6fe40efbae854dda66afa74243ac (patch) | |
| tree | 204dde1ddd1410902743394f9184f6ae52454876 | |
| parent | daf5bf99ebddd91c5042f1d1ec747339f1d62bcf (diff) | |
Test de la reference principale plutot que le module dans lequel se trouve la reference pour l'interpretation des numeraux
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@4865 85f007b7-540e-0410-9357-904b9bb8a0f7
| -rw-r--r-- | interp/symbols.ml | 7 | ||||
| -rw-r--r-- | interp/symbols.mli | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/interp/symbols.ml b/interp/symbols.ml index a79d98495b..427524c74d 100644 --- a/interp/symbols.ml +++ b/interp/symbols.ml @@ -193,7 +193,7 @@ type num_uninterpreter = rawconstr list * (rawconstr -> bigint option) * (cases_pattern -> bigint option) option -type required_module = string list +type required_module = global_reference * string list let numeral_interpreter_tab = (Hashtbl.create 7 : (scope_name,required_module*num_interpreter) Hashtbl.t) @@ -206,10 +206,11 @@ let declare_numeral_interpreter sc dir interp (patl,uninterp,uninterpc) = (sc,uninterp,uninterpc)) patl -let check_required_module loc sc d = +let check_required_module loc sc (ref,d) = let d' = List.map id_of_string d in let dir = make_dirpath (List.rev d') in - if not (Library.library_is_loaded dir) then + try let _ = sp_of_global ref in () + with Not_found -> user_err_loc (loc,"numeral_interpreter", str ("Cannot interpret numbers in "^sc^" without requiring first module " ^(list_last d))) diff --git a/interp/symbols.mli b/interp/symbols.mli index 483c0b792d..051b0aa3cb 100644 --- a/interp/symbols.mli +++ b/interp/symbols.mli @@ -65,7 +65,7 @@ type num_uninterpreter = rawconstr list * (rawconstr -> bigint option) * (cases_pattern -> bigint option) option -type required_module = string list +type required_module = global_reference * string list val declare_numeral_interpreter : scope_name -> required_module -> num_interpreter -> num_uninterpreter -> unit |
