diff options
| author | herbelin | 2003-04-09 15:58:14 +0000 |
|---|---|---|
| committer | herbelin | 2003-04-09 15:58:14 +0000 |
| commit | 6725bbe3fa7a20941b4ff84c67d7cda7e7988be6 (patch) | |
| tree | acaf39e3e1c10b999d92d0102a6a7e58db1f0f74 /interp/constrintern.ml | |
| parent | 39cd2e369cc4871bf650e4f4f4a667c0e6b4d2d0 (diff) | |
Mécanisme plus simple et efficace pour traduire les implicites
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3889 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp/constrintern.ml')
| -rw-r--r-- | interp/constrintern.ml | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/interp/constrintern.ml b/interp/constrintern.ml index 641ccf7fc5..ffed01a34e 100644 --- a/interp/constrintern.ml +++ b/interp/constrintern.ml @@ -32,6 +32,10 @@ let for_grammar f x = interning_grammar := false; a +(* For the translator *) +let temporary_implicits_in = ref [] +let set_temporary_implicits_in l = temporary_implicits_in := l + (**********************************************************************) (* Internalisation errors *) @@ -183,7 +187,9 @@ let intern_reference env lvar = function (* Extra allowance for grammars *) if !interning_grammar then begin set_var_scope loc id env lvar; - RVar (loc,id), [], [] + RVar (loc,id), + (try List.assoc id !temporary_implicits_in with Not_found -> []), + [] end else raise e |
