diff options
| author | herbelin | 2005-03-07 21:39:55 +0000 |
|---|---|---|
| committer | herbelin | 2005-03-07 21:39:55 +0000 |
| commit | d2562604fcea7ef0b0c5658af8fe21003ef3953e (patch) | |
| tree | 7fde3fe8bac6e069de13a153fda8844bd98a3a04 /parsing | |
| parent | 3af4fe78c8e5ed1c4148e8feeffeb6c66eaa6b09 (diff) | |
Added 'clear - id' to clear all hypotheses except the ones dependent in the statement of id
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@6806 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing')
| -rw-r--r-- | parsing/g_tactic.ml4 | 3 | ||||
| -rw-r--r-- | parsing/g_tacticnew.ml4 | 3 | ||||
| -rw-r--r-- | parsing/pptactic.ml | 5 | ||||
| -rw-r--r-- | parsing/q_coqast.ml4 | 4 |
4 files changed, 9 insertions, 6 deletions
diff --git a/parsing/g_tactic.ml4 b/parsing/g_tactic.ml4 index c578c66b3c..8972b0a210 100644 --- a/parsing/g_tactic.ml4 +++ b/parsing/g_tactic.ml4 @@ -322,7 +322,8 @@ GEXTEND Gram TacDAuto (n, p) (* Context management *) - | IDENT "Clear"; l = LIST1 id_or_ltac_ref -> TacClear l + | IDENT "Clear"; "-"; l = LIST1 id_or_meta -> TacClear (true, l) + | IDENT "Clear"; l = LIST0 id_or_meta -> TacClear (l=[], l) | IDENT "ClearBody"; l = LIST1 id_or_ltac_ref -> TacClearBody l | IDENT "Move"; id1 = id_or_ltac_ref; IDENT "after"; id2 = id_or_ltac_ref -> TacMove (true,id1,id2) diff --git a/parsing/g_tacticnew.ml4 b/parsing/g_tacticnew.ml4 index 49dd4fa309..c41de337b0 100644 --- a/parsing/g_tacticnew.ml4 +++ b/parsing/g_tacticnew.ml4 @@ -359,7 +359,8 @@ GEXTEND Gram TacDAuto (n, p) (* Context management *) - | IDENT "clear"; l = LIST1 id_or_meta -> TacClear l + | IDENT "clear"; "-"; l = LIST1 id_or_meta -> TacClear (true, l) + | IDENT "clear"; l = LIST0 id_or_meta -> TacClear (l=[], l) | 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) diff --git a/parsing/pptactic.ml b/parsing/pptactic.ml index c6718c8a9e..52d6eb2d78 100644 --- a/parsing/pptactic.ml +++ b/parsing/pptactic.ml @@ -547,8 +547,9 @@ and pr_atom1 = function hov 1 (str "Auto" ++ pr_opt int n ++ str "Decomp" ++ pr_opt int p) (* Context management *) - | TacClear l -> - hov 1 (str "Clear" ++ spc () ++ prlist_with_sep spc pr_ident l) + | TacClear (keep,l) -> + hov 1 (str "Clear" ++ spc () ++ (if keep then str "- " else mt ()) ++ + prlist_with_sep spc pr_ident l) | TacClearBody l -> hov 1 (str "ClearBody" ++ spc () ++ prlist_with_sep spc pr_ident l) | TacMove (b,id1,id2) -> diff --git a/parsing/q_coqast.ml4 b/parsing/q_coqast.ml4 index 37dcc22b19..a411d0ddde 100644 --- a/parsing/q_coqast.ml4 +++ b/parsing/q_coqast.ml4 @@ -423,9 +423,9 @@ let rec mlexpr_of_atomic_tactic = function <:expr< Tacexpr.TacNewDestruct $mlexpr_of_induction_arg c$ $cbo$ ($ids$,ref []) >> (* Context management *) - | Tacexpr.TacClear l -> + | Tacexpr.TacClear (b,l) -> let l = mlexpr_of_list (mlexpr_of_hyp) l in - <:expr< Tacexpr.TacClear $l$ >> + <:expr< Tacexpr.TacClear $mlexpr_of_bool b$ $l$ >> | Tacexpr.TacClearBody l -> let l = mlexpr_of_list (mlexpr_of_hyp) l in <:expr< Tacexpr.TacClearBody $l$ >> |
