]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_disambiguation/cicTextualParser2.ml
1. tactical "try_tacticals" renamed to "first"
[helm.git] / helm / ocaml / cic_disambiguation / cicTextualParser2.ml
index fd79cdab176374096c76b36ed3ca28bc092447c0..7b0360b9cef2c7f4b4410ddbe568defb3ed167a3 100644 (file)
@@ -477,11 +477,14 @@ EXTEND
   ];
   tactical:
     [ "sequence" LEFTA
-      [ tactical = NEXT -> tactical
-      | tacticals = LIST1 NEXT SEP SYMBOL ";" -> TacticAst.Seq (loc, tacticals)
+      [ tacticals = LIST1 NEXT SEP SYMBOL ";" ->
+         match tacticals with
+            [] -> assert false
+          | [tac] -> tac
+          | l -> TacticAst.Seq (loc, l)
       ]
     | "then" NONA
-      [ tac = tactical;
+      [ tac = tactical; SYMBOL ";";
         PAREN "["; tacs = LIST0 tactical SEP SYMBOL "|"; PAREN "]" ->
           (TacticAst.Then (loc, tac, tacs))
       ]
@@ -492,11 +495,14 @@ EXTEND
           TacticAst.Repeat (loc, tac)
       ]
     | "simple" NONA
-      [ IDENT "tries";
-        PAREN "["; tacs = LIST0 tactical SEP SYMBOL ";"; PAREN "]" ->
-          TacticAst.Tries (loc, tacs)
+      [ IDENT "first";
+        PAREN "["; tacs = LIST0 tactical SEP SYMBOL "|"; PAREN "]" ->
+          TacticAst.First (loc, tacs)
       | IDENT "try"; tac = NEXT ->
           TacticAst.Try (loc, tac)
+      | IDENT "solve";
+        PAREN "["; tacs = LIST0 tactical SEP SYMBOL "|"; PAREN "]" ->
+          TacticAst.Solve (loc, tacs)
       | PAREN "("; tac = tactical; PAREN ")" -> tac
       | tac = tactic -> TacticAst.Tactic (loc, tac)
       ]