]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite_parser/grafiteParser.ml
Implementation of ndestruct tactic (including destruction of constructor forms
[helm.git] / helm / software / components / grafite_parser / grafiteParser.ml
index 0fc42291d318d76408280f51104c11340f7b5f23..2914a8906ae47e1670d9b57a89c0d3db1ef7a002 100644 (file)
@@ -257,6 +257,9 @@ EXTEND
         G.NConstructor (loc,
            (match num with None -> None | Some x -> Some (int_of_string x)),l)
     | IDENT "ncut"; t = tactic_term -> G.NCut (loc, t)
+(*  | IDENT "ndiscriminate"; t = tactic_term -> G.NDiscriminate (loc, t)
+    | IDENT "nsubst"; t = tactic_term -> G.NSubst (loc, t) *)
+    | IDENT "ndestruct" -> G.NDestruct loc
     | IDENT "nelim"; what = tactic_term ; where = pattern_spec ->
         G.NElim (loc, what, where)
     | IDENT "ngeneralize"; p=pattern_spec ->
@@ -566,6 +569,7 @@ EXTEND
       | SYMBOL "|" -> G.NShift loc
       | i = LIST1 int SEP SYMBOL ","; SYMBOL ":" -> G.NPos (loc, i)
       | SYMBOL "*"; SYMBOL ":" -> G.NWildcard loc
+      | name = IDENT; SYMBOL ":" -> G.NPosbyname (loc, name)
       | SYMBOL "]" -> G.NMerge loc
       | SYMBOL ";" -> G.NSemicolon loc
       | SYMBOL "." -> G.NDot loc
@@ -803,6 +807,7 @@ EXTEND
         G.NObj (loc, N.Theorem (nflavour, name, N.Implicit `JustOne, Some body,`Regular))
     | IDENT "naxiom"; name = IDENT; SYMBOL ":"; typ = term ->
         G.NObj (loc, N.Theorem (`Axiom, name, typ, None, `Regular))
+    | IDENT "ndiscriminator" ; indty = tactic_term -> G.NDiscriminator (loc,indty)
     | IDENT "ninverter"; name = IDENT; IDENT "for" ; indty = tactic_term ;
       paramspec = OPT inverter_param_list ; 
       outsort = OPT [ SYMBOL ":" ; outsort = term -> outsort ] ->