diff options
| author | herbelin | 2007-02-13 18:47:49 +0000 |
|---|---|---|
| committer | herbelin | 2007-02-13 18:47:49 +0000 |
| commit | 34ba48a885c91ea895cbba7ba5a53b1ec9de5db8 (patch) | |
| tree | 7c793d76af431bc2cb0aa78e7e9edaa991d1892f /parsing | |
| parent | 6e9c0edd9efc9d72e6f32bc434a34076b1a6afee (diff) | |
Réactivation du filtrage d'ordre 2 dans ltac qui avait cessé de
fonctionner entre la V7.3 et la V8.0 (notation : "@ ?meta id1 ... idn")
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9644 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing')
| -rw-r--r-- | parsing/g_constr.ml4 | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/parsing/g_constr.ml4 b/parsing/g_constr.ml4 index b29b82607f..1a721a2e39 100644 --- a/parsing/g_constr.ml4 +++ b/parsing/g_constr.ml4 @@ -151,7 +151,10 @@ GEXTEND Gram | c1 = operconstr; "->"; c2 = SELF -> CArrow(loc,c1,c2)] | "10" LEFTA [ f=operconstr; args=LIST1 appl_arg -> CApp(loc,(None,f),args) - | "@"; f=global; args=LIST0 NEXT -> CAppExpl(loc,(None,f),args) ] + | "@"; f=global; args=LIST0 NEXT -> CAppExpl(loc,(None,f),args) + | "@"; "?"; (locid,id) = identref; args=LIST1 identref -> + let args = List.map (fun x -> CRef (Ident x), None) args in + CApp(loc,(None,CPatVar(locid,(true,id))),args) ] | "9" [ ".."; c = operconstr LEVEL "0"; ".." -> CAppExpl (loc,(None,Ident (loc,Topconstr.ldots_var)),[c]) ] |
