aboutsummaryrefslogtreecommitdiffhomepage
path: root/parsing/g_tacticnew.ml4
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2003-03-31 17:31:59 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2003-03-31 17:31:59 +0000
commite60fae1d7442c8662cdf3174590df972e7940635 (patch)
treee9f35bde6fb63bd76e630f227ece58a66d27ebed /parsing/g_tacticnew.ml4
parent8a8b61d623dd1a37cf5a7edb4d77ba8cae893085 (diff)
Bug pattern_occ_hyp_list
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3818 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing/g_tacticnew.ml4')
-rw-r--r--parsing/g_tacticnew.ml418
1 files changed, 11 insertions, 7 deletions
diff --git a/parsing/g_tacticnew.ml4 b/parsing/g_tacticnew.ml4
index 4083fe82c..dade80611 100644
--- a/parsing/g_tacticnew.ml4
+++ b/parsing/g_tacticnew.ml4
@@ -142,12 +142,16 @@ GEXTEND Gram
pattern_occ:
[ [ nl = LIST0 integer; c = [c=constr->c | g=global->Topconstr.CRef g]-> (nl,c) ] ]
;
+ pattern_occ_hyp_tail_list:
+ [ [ pl = pattern_occ_hyp_list -> pl | -> (None,[]) ] ]
+ ;
pattern_occ_hyp_list:
[ [ nl = LIST1 natural; IDENT "Goal" -> (Some nl,[])
- | nl = LIST1 natural; id = id_or_meta; (g,l) = pattern_occ_hyp_list ->
- (g,(id,nl)::l)
+ | nl = LIST1 natural; id = id_or_meta; (g,l) = pattern_occ_hyp_tail_list
+ -> (g,(id,nl)::l)
| IDENT "Goal" -> (Some [],[])
- | id = id_or_meta; (g,l) = pattern_occ_hyp_list -> (g,(id,[])::l) ] ]
+ | id = id_or_meta; (g,l) = pattern_occ_hyp_tail_list -> (g,(id,[])::l)
+ ] ]
;
clause_pattern:
[ [ "in"; p = pattern_occ_hyp_list -> p | -> None, [] ] ]
@@ -298,13 +302,13 @@ GEXTEND Gram
| IDENT "lapply"; c = lconstr -> TacLApply c
(* Derived basic tactics *)
- | IDENT "induction"; h = quantified_hypothesis -> TacOldInduction h
- | IDENT "newinduction"; c = induction_arg; el = OPT eliminator;
+ | IDENT "oldinduction"; h = quantified_hypothesis -> TacOldInduction h
+ | IDENT "induction"; c = induction_arg; el = OPT eliminator;
ids = with_names -> TacNewInduction (c,el,ids)
| IDENT "double"; IDENT "induction"; h1 = quantified_hypothesis;
h2 = quantified_hypothesis -> TacDoubleInduction (h1,h2)
- | IDENT "destruct"; h = quantified_hypothesis -> TacOldDestruct h
- | IDENT "newdestruct"; c = induction_arg; el = OPT eliminator;
+ | IDENT "olddestruct"; h = quantified_hypothesis -> TacOldDestruct h
+ | IDENT "destruct"; c = induction_arg; el = OPT eliminator;
ids = with_names -> TacNewDestruct (c,el,ids)
| IDENT "decompose"; IDENT "record" ; c = lconstr -> TacDecomposeAnd c
| IDENT "decompose"; IDENT "sum"; c = lconstr -> TacDecomposeOr c