diff options
author | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2003-12-19 18:20:53 +0000 |
---|---|---|
committer | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2003-12-19 18:20:53 +0000 |
commit | b820ff40cb8053df01ac422f36d5f3520727b5c6 (patch) | |
tree | 56005796146af1aaf2120c2e76afdce49a89b0c0 /interp | |
parent | 3b59ca927cba26b3bfbf53f22c3783bfa03b9f32 (diff) |
Substitution dans REvar et PEvar plutot que encodage via noeud application pour eviter la confusion avec la (vraie) application
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@5114 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp')
-rw-r--r-- | interp/constrextern.ml | 5 | ||||
-rw-r--r-- | interp/constrintern.ml | 2 | ||||
-rw-r--r-- | interp/reserve.ml | 2 |
3 files changed, 4 insertions, 5 deletions
diff --git a/interp/constrextern.ml b/interp/constrextern.ml index 337c888a4..64aedf741 100644 --- a/interp/constrextern.ml +++ b/interp/constrextern.ml @@ -1331,7 +1331,7 @@ let rec extern inctx scopes vars r = | RVar (loc,id) -> CRef (Ident (loc,v7_to_v8_id id)) - | REvar (loc,n) -> extern_evar loc n + | REvar (loc,n,_) -> (* we drop args *) extern_evar loc n | RPatVar (loc,n) -> if !print_meta_as_hole then CHole loc else CPatVar (loc,n) @@ -1342,7 +1342,6 @@ let rec extern inctx scopes vars r = else (f,args) in (match f with - | REvar (loc,ev) -> extern_evar loc ev (* we drop args *) | RRef (rloc,ref) -> let subscopes = Symbols.find_arguments_scope ref in let args = @@ -1558,7 +1557,7 @@ let extern_constr at_top env t = let rec raw_of_pat tenv env = function | PRef ref -> RRef (loc,ref) | PVar id -> RVar (loc,id) - | PEvar n -> REvar (loc,n) + | PEvar (n,l) -> REvar (loc,n,Some (array_map_to_list (raw_of_pat tenv env) l)) | PRel n -> let id = try match lookup_name_of_rel n env with | Name id -> id diff --git a/interp/constrintern.ml b/interp/constrintern.ml index 0f68f0314..84be73849 100644 --- a/interp/constrintern.ml +++ b/interp/constrintern.ml @@ -699,7 +699,7 @@ let internalise sigma env allow_soapp lvar c = | CPatVar (loc, _) -> raise (InternalisationError (loc,NegativeMetavariable)) | CEvar (loc, n) -> - REvar (loc, n) + REvar (loc, n, None) | CSort (loc, s) -> RSort(loc,s) | CCast (loc, c1, c2) -> diff --git a/interp/reserve.ml b/interp/reserve.ml index dc7393c67..8b759b6aa 100644 --- a/interp/reserve.ml +++ b/interp/reserve.ml @@ -62,7 +62,7 @@ let rec unloc = function | RSort (_,x) -> RSort (dummy_loc,x) | RHole (_,x) -> RHole (dummy_loc,x) | RRef (_,x) -> RRef (dummy_loc,x) - | REvar (_,x) -> REvar (dummy_loc,x) + | REvar (_,x,l) -> REvar (dummy_loc,x,l) | RPatVar (_,x) -> RPatVar (dummy_loc,x) | RDynamic (_,x) -> RDynamic (dummy_loc,x) |