diff options
| author | letouzey | 2007-07-06 15:31:37 +0000 |
|---|---|---|
| committer | letouzey | 2007-07-06 15:31:37 +0000 |
| commit | f7e0b60554789d3859562ae533961bb04fc4ec84 (patch) | |
| tree | 0d368092cbb361ecc13023fdbdd747e94765dc70 /parsing | |
| parent | 7d030bc502378e89d81947bac91820047bdd0380 (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.ml4 | 6 | ||||
| -rw-r--r-- | parsing/pptactic.ml | 10 |
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) |
