aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorherbelin2000-11-20 08:52:56 +0000
committerherbelin2000-11-20 08:52:56 +0000
commitd913ea8ae9623efd1fb607dac696b0f63b9e827f (patch)
treeacb6512b62f88c3a14ecf4b6b710173660b067e7
parentb7e5541cd7b04f331b8939b069b217029e11f00b (diff)
Nouvelle entrée qualidarg pour noms qualifiés; nouveau lexeme METAIDENT pour les $id
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@880 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--parsing/g_tactic.ml420
1 files changed, 17 insertions, 3 deletions
diff --git a/parsing/g_tactic.ml4 b/parsing/g_tactic.ml4
index b9c4b6a3e1..bcbb32d5bc 100644
--- a/parsing/g_tactic.ml4
+++ b/parsing/g_tactic.ml4
@@ -16,7 +16,14 @@ open Util
GEXTEND Gram
identarg:
- [ [ id = IDENT -> <:ast< ($VAR $id) >> ] ]
+ [ [ id = IDENT -> <:ast< ($VAR $id) >>
+ | id = METAIDENT -> <:ast< ($VAR $id) >> ] ]
+ ;
+ qualidarg:
+ [ [ l = Constr.qualid -> <:ast< (QUALIDARG ($LIST l)) >> ] ]
+ ;
+ qualidconstarg:
+ [ [ l = Constr.qualid -> <:ast< (QUALIDCONSTARG ($LIST l)) >> ] ]
;
pure_numarg:
[ [ n = Prim.number -> n
@@ -44,6 +51,12 @@ GEXTEND Gram
ne_identarg_list:
[ [ l = LIST1 identarg -> l ] ]
;
+ ne_qualidarg_list:
+ [ [ l = LIST1 qualidarg -> l ] ]
+ ;
+ ne_qualidconstarg_list:
+ [ [ l = LIST1 qualidarg -> l ] ]
+ ;
ne_num_list:
[ [ n = numarg; l = ne_num_list -> n :: l | n = numarg -> [n] ] ]
;
@@ -283,8 +296,9 @@ GEXTEND Gram
| n = pure_numarg -> n
| c = constrarg ->
(match c with
- Coqast.Node(_,"COMMAND",[Coqast.Nvar(_,s)]) -> <:ast<($VAR $s)>>
- |_ -> c) ] ]
+ | Coqast.Node(_,"COMMAND",[Coqast.Nvar(_,s)]) -> <:ast<($VAR $s)>>
+ | Coqast.Node(_,"COMMAND",[Coqast.Node(_,"QUALID",[Coqast.Nvar(_,s)])]) -> <:ast<($VAR $s)>>
+ |_ -> c) ] ]
;
simple_tactic:
[ [ IDENT "Fix"; n = numarg -> <:ast< (Fix $n) >>