diff options
author | 2001-08-05 18:46:45 +0000 | |
---|---|---|
committer | 2001-08-05 18:46:45 +0000 | |
commit | eaf89ab5428046bb3a7ccf6ccfd602b8b812c454 (patch) | |
tree | c54808ee676b4e8ea73639496deb3ce893662d04 /parsing | |
parent | eb4d45fa494a306d15617ac4881be41775db7177 (diff) |
Mise en place d'un nouveau Destruct sur le modèle du nouvel Induction
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1874 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing')
-rw-r--r-- | parsing/g_tactic.ml4 | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/parsing/g_tactic.ml4 b/parsing/g_tactic.ml4 index d8c4ecf08..647a4179e 100644 --- a/parsing/g_tactic.ml4 +++ b/parsing/g_tactic.ml4 @@ -87,6 +87,10 @@ GEXTEND Gram castedconstrarg: [ [ c = Constr.constr -> <:ast< (CASTEDCOMMAND $c) >> ] ] ; + ident_or_numarg: + [ [ id = identarg -> id + | n = numarg -> n ] ] + ; ident_or_constrarg: [ [ c = Constr.constr -> match c with @@ -303,8 +307,10 @@ GEXTEND Gram | IDENT "Case"; cl = constrarg_binding_list -> <:ast< (Case ($LIST $cl)) >> | IDENT "CaseType"; c = constrarg -> <:ast< (CaseType $c) >> - | IDENT "Destruct"; s = identarg -> <:ast< (Destruct $s) >> + | IDENT "Destruct"; s = ident_or_constrarg -> <:ast< (Destruct $s) >> | IDENT "Destruct"; n = numarg -> <:ast< (Destruct $n) >> + | IDENT "NewDestruct"; s = ident_or_constrarg -> <:ast<(NewDestruct $s)>> + | IDENT "NewDestruct"; n = numarg -> <:ast< (NewDestruct $n) >> | IDENT "Decompose"; IDENT "Record" ; c = constrarg -> <:ast< (DecomposeAnd $c) >> | IDENT "Decompose"; IDENT "Sum"; c = constrarg -> |