aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar delahaye <delahaye@85f007b7-540e-0410-9357-904b9bb8a0f7>2000-12-19 15:23:41 +0000
committerGravatar delahaye <delahaye@85f007b7-540e-0410-9357-904b9bb8a0f7>2000-12-19 15:23:41 +0000
commit5e37d8609c6fae33ae839c21a2d9607a923a34f1 (patch)
tree031c3b079dfd6b014633027d9aa37444ae7f702b
parent992277e9bba95cf658c284e189c53728b3c3616c (diff)
Correction associativite de Repeat/Orelse
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1151 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--PROBLEMES4
-rw-r--r--parsing/g_tactic.ml42
2 files changed, 2 insertions, 4 deletions
diff --git a/PROBLEMES b/PROBLEMES
index c22a1c483..b03414a8c 100644
--- a/PROBLEMES
+++ b/PROBLEMES
@@ -32,10 +32,6 @@ plus sūr
REPONSE PROVISOIRE: si c'est pour Specialize, faudrait en changer la
syntaxe, elle est incompatible avec L_tac.
-Associativite Repeat Orelse changee
- Repeat A Orelse B se lit (Repeat A) Orelse B
-ce n'est pas malin car Repeat A n'echoue jamais
-
CONTRIBS
---------
BellLabs/lazyPCF : OK
diff --git a/parsing/g_tactic.ml4 b/parsing/g_tactic.ml4
index f502f860b..cb85e676d 100644
--- a/parsing/g_tactic.ml4
+++ b/parsing/g_tactic.ml4
@@ -282,6 +282,8 @@ GEXTEND Gram
<:ast< (TRY (ORELSE $ta0 $ta1)) >>
| IDENT "Try"; ta = tactic_atom -> <:ast< (TRY $ta) >>
| IDENT "Do"; n = pure_numarg; ta = tactic_atom -> <:ast< (DO $n $ta) >>
+ | IDENT "Repeat"; ta0 = tactic_atom; "Orelse"; ta1 = tactic_atom ->
+ <:ast< (REPEAT (ORELSE $ta0 $ta1)) >>
| IDENT "Repeat"; ta = tactic_atom -> <:ast< (REPEAT $ta) >>
| IDENT "Idtac" -> <:ast< (IDTAC) >>
| IDENT "Fail" -> <:ast<(FAIL)>>