aboutsummaryrefslogtreecommitdiffhomepage
path: root/toplevel/metasyntax.ml
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2002-12-03 08:33:49 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2002-12-03 08:33:49 +0000
commit28f18a76de0e801649075be220ea823cf3c75982 (patch)
treecf24b80cc10b08f394906618615e8e351fb89704 /toplevel/metasyntax.ml
parent98b16fa6af9fd6c37120b29d96ea0785a8598335 (diff)
Pas de globalisation impérative pour les Grammar
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3361 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel/metasyntax.ml')
-rw-r--r--toplevel/metasyntax.ml8
1 files changed, 7 insertions, 1 deletions
diff --git a/toplevel/metasyntax.ml b/toplevel/metasyntax.ml
index 12a5903e6..265f4945d 100644
--- a/toplevel/metasyntax.ml
+++ b/toplevel/metasyntax.ml
@@ -46,8 +46,14 @@ let globalize_ref vars ref =
| RVar (loc,x) -> Ident (loc,x)
| _ -> anomaly "globalize_ref: not a reference"
+let globalize_ref_term vars ref =
+ match Constrintern.interp_reference vars ref with
+ | RRef (loc,a) -> CRef (Constrextern.extern_reference loc a)
+ | RVar (loc,x) -> CRef (Ident (loc,x))
+ | c -> Constrextern.extern_rawconstr c
+
let rec globalize_constr_expr vars = function
- | CRef ref -> CRef (globalize_ref vars ref)
+ | CRef ref -> globalize_ref_term vars ref
| CAppExpl (_,ref,l) ->
let f =
map_constr_expr_with_binders globalize_constr_expr