aboutsummaryrefslogtreecommitdiff
path: root/parsing
diff options
context:
space:
mode:
authorletouzey2007-07-06 15:31:37 +0000
committerletouzey2007-07-06 15:31:37 +0000
commitf7e0b60554789d3859562ae533961bb04fc4ec84 (patch)
tree0d368092cbb361ecc13023fdbdd747e94765dc70 /parsing
parent7d030bc502378e89d81947bac91820047bdd0380 (diff)
extension of the rename tactic: the following is now allowed:
rename A into B, C into D, E into F. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9952 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing')
-rw-r--r--parsing/g_tactic.ml46
-rw-r--r--parsing/pptactic.ml10
2 files changed, 11 insertions, 5 deletions
diff --git a/parsing/g_tactic.ml4 b/parsing/g_tactic.ml4
index 9f783771b7..3853a6d51c 100644
--- a/parsing/g_tactic.ml4
+++ b/parsing/g_tactic.ml4
@@ -314,6 +314,9 @@ GEXTEND Gram
[ [ IDENT "by"; tac = tactic_expr LEVEL "3" -> TacComplete tac
| -> TacId [] ] ]
;
+ rename :
+ [ [ id1 = id_or_meta; IDENT "into"; id2 = id_or_meta -> (id1,id2) ] ]
+ ;
simple_tactic:
[ [
(* Basic tactics *)
@@ -415,8 +418,7 @@ GEXTEND Gram
| IDENT "clearbody"; l = LIST1 id_or_meta -> TacClearBody l
| IDENT "move"; id1 = id_or_meta; IDENT "after"; id2 = id_or_meta ->
TacMove (true,id1,id2)
- | IDENT "rename"; id1 = id_or_meta; IDENT "into"; id2 = id_or_meta ->
- TacRename (id1,id2)
+ | IDENT "rename"; l = LIST1 rename SEP "," -> TacRename l
(* Constructors *)
| IDENT "left"; bl = with_bindings -> TacLeft bl
diff --git a/parsing/pptactic.ml b/parsing/pptactic.ml
index d4fa5163ed..b07213fe98 100644
--- a/parsing/pptactic.ml
+++ b/parsing/pptactic.ml
@@ -782,10 +782,14 @@ and pr_atom1 = function
hov 1
(str "move" ++ brk (1,1) ++ pr_ident id1 ++ spc () ++
str "after" ++ brk (1,1) ++ pr_ident id2)
- | TacRename (id1,id2) ->
+ | TacRename l ->
hov 1
- (str "rename" ++ brk (1,1) ++ pr_ident id1 ++ spc () ++
- str "into" ++ brk (1,1) ++ pr_ident id2)
+ (str "rename" ++ brk (1,1) ++
+ prlist_with_sep
+ (fun () -> str "," ++ brk (1,1))
+ (fun (i1,i2) ->
+ pr_ident i1 ++ spc () ++ str "into" ++ spc () ++ pr_ident i2)
+ l)
(* Constructors *)
| TacLeft l -> hov 1 (str "left" ++ pr_bindings l)