X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fgrafite_parser%2FgrafiteParser.ml;h=7b4e6157b70fd43950da32b8d8f832628cbcffa5;hb=79659e9015f1f7079b1e7ef846288de60019093a;hp=2316c04cad0bb9934d47514e917bf0b5ed643a12;hpb=d58b48162ad53fb369d285e60a99f746a497ad89;p=helm.git diff --git a/helm/software/components/grafite_parser/grafiteParser.ml b/helm/software/components/grafite_parser/grafiteParser.ml index 2316c04ca..7b4e6157b 100644 --- a/helm/software/components/grafite_parser/grafiteParser.ml +++ b/helm/software/components/grafite_parser/grafiteParser.ml @@ -182,14 +182,33 @@ EXTEND using: [ [ using = OPT [ IDENT "using"; t = tactic_term -> t ] -> using ] ]; ntactic: [ [ IDENT "napply"; t = tactic_term -> GrafiteAst.NApply (loc, t) + | IDENT "nassert"; + seqs = LIST0 [ + hyps = LIST0 + [ id = IDENT ; SYMBOL ":" ; ty = tactic_term -> id,`Decl ty + | id = IDENT ; SYMBOL ":" ; ty = tactic_term ; + SYMBOL <:unicode> ; bo = tactic_term -> + id,`Def (bo,ty)]; + SYMBOL <:unicode>; + concl = tactic_term -> (hyps,concl) ] -> + GrafiteAst.NAssert (loc, seqs) | IDENT "ncases"; what = tactic_term ; where = pattern_spec -> GrafiteAst.NCases (loc, what, where) | IDENT "nchange"; what = pattern_spec; "with"; with_what = tactic_term -> GrafiteAst.NChange (loc, what, with_what) | IDENT "nelim"; what = tactic_term ; where = pattern_spec -> GrafiteAst.NElim (loc, what, where) + | IDENT "ngeneralize"; p=pattern_spec -> + GrafiteAst.NGeneralize (loc, p) + | IDENT "nletin"; name = IDENT ; SYMBOL <:unicode> ; t = tactic_term; + where = pattern_spec -> + GrafiteAst.NLetIn (loc,where,t,name) | IDENT "nrewrite"; dir = direction; what = tactic_term ; where = pattern_spec -> GrafiteAst.NRewrite (loc, dir, what, where) + | IDENT "nwhd"; delta = OPT [ IDENT "nodelta" -> () ]; + where = pattern_spec -> + let delta = match delta with None -> true | _ -> false in + GrafiteAst.NEval (loc, where, `Whd delta) | SYMBOL "#"; n=IDENT -> GrafiteAst.NIntro (loc,n) | SYMBOL "#"; SYMBOL "_" -> GrafiteAst.NIntro (loc,"_") | SYMBOL "*" -> GrafiteAst.NCase1 (loc,"_")