aboutsummaryrefslogtreecommitdiff
path: root/parsing
diff options
context:
space:
mode:
authorherbelin2003-06-19 20:19:00 +0000
committerherbelin2003-06-19 20:19:00 +0000
commit5f1e8b75c2f0d138e64cb57fbd7a3479f4b5d066 (patch)
treef5ccedd36ece68de9e9ec8f7eb54d5dafa24284a /parsing
parent37848b4e597a0fff00999215503ed443b6dec767 (diff)
Ajout 'Symmetry in Hyp'
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@4185 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing')
-rw-r--r--parsing/g_tactic.ml43
-rw-r--r--parsing/pptactic.ml5
-rw-r--r--parsing/q_coqast.ml42
3 files changed, 6 insertions, 4 deletions
diff --git a/parsing/g_tactic.ml4 b/parsing/g_tactic.ml4
index 3b70810129..c52a5888dd 100644
--- a/parsing/g_tactic.ml4
+++ b/parsing/g_tactic.ml4
@@ -337,7 +337,8 @@ GEXTEND Gram
(* Equivalence relations *)
| IDENT "Reflexivity" -> TacReflexivity
- | IDENT "Symmetry" -> TacSymmetry
+ | IDENT "Symmetry"; ido = OPT [ "in"; id = id_or_ltac_ref -> id ] ->
+ TacSymmetry ido
| IDENT "Transitivity"; c = constr -> TacTransitivity c
(* Conversion *)
diff --git a/parsing/pptactic.ml b/parsing/pptactic.ml
index 0382a2fdbe..817109a97b 100644
--- a/parsing/pptactic.ml
+++ b/parsing/pptactic.ml
@@ -388,7 +388,7 @@ let rec pr_atom0 = function
| TacAutoTDB None -> str "AutoTDB"
| TacDestructConcl -> str "DConcl"
| TacReflexivity -> str "Reflexivity"
- | TacSymmetry -> str "Symmetry"
+ | TacSymmetry None -> str "Symmetry"
| t -> str "(" ++ pr_atom1 t ++ str ")"
(* Main tactic printer *)
@@ -530,7 +530,8 @@ and pr_atom1 = function
brk (1,1) ++ pr_constr c ++ pr_clause pr_ident h)
(* Equivalence relations *)
- | (TacReflexivity | TacSymmetry) as x -> pr_atom0 x
+ | (TacReflexivity | TacSymmetry None) as x -> pr_atom0 x
+ | TacSymmetry (Some id) -> str "Symmetry " ++ pr_ident id
| TacTransitivity c -> str "Transitivity" ++ pr_arg pr_constr c
and pr_tactic_seq_body tl =
diff --git a/parsing/q_coqast.ml4 b/parsing/q_coqast.ml4
index f5ebd8fcf2..697c788901 100644
--- a/parsing/q_coqast.ml4
+++ b/parsing/q_coqast.ml4
@@ -422,7 +422,7 @@ let rec mlexpr_of_atomic_tactic = function
(* Equivalence relations *)
| Tacexpr.TacReflexivity -> <:expr< Tacexpr.TacReflexivity >>
- | Tacexpr.TacSymmetry -> <:expr< Tacexpr.TacSymmetry >>
+ | Tacexpr.TacSymmetry ido -> <:expr< Tacexpr.TacSymmetry $mlexpr_of_option mlexpr_of_hyp ido$ >>
| Tacexpr.TacTransitivity c -> <:expr< Tacexpr.TacTransitivity $mlexpr_of_constr c$ >>
(* Automation tactics *)