+
+let eval_ng_punct (_text, _prefix_len, punct) =
+ match punct with
+ | GrafiteAst.Dot _ -> NTactics.dot_tac
+ | GrafiteAst.Semicolon _ -> fun x -> x
+ | GrafiteAst.Branch _ -> NTactics.branch_tac
+ | GrafiteAst.Shift _ -> NTactics.shift_tac
+ | GrafiteAst.Pos (_,l) -> NTactics.pos_tac l
+ | GrafiteAst.Wildcard _ -> NTactics.wildcard_tac
+ | GrafiteAst.Merge _ -> NTactics.merge_tac
+;;
+
+let eval_ng_tac (text, prefix_len, tac) =
+ match tac with
+ | GrafiteAst.NApply (_loc, t) -> NTactics.apply_tac (text,prefix_len,t)
+ | GrafiteAst.NCases (_loc, what, where) ->
+ NTactics.cases_tac
+ ~what:(text,prefix_len,what)
+ ~where:(text,prefix_len,where)
+ | GrafiteAst.NCase1 (_loc,n) -> NTactics.case1_tac n
+ | GrafiteAst.NChange (_loc, pat, ww) ->
+ NTactics.change_tac
+ ~where:(text,prefix_len,pat) ~with_what:(text,prefix_len,ww)
+ | GrafiteAst.NElim (_loc, what, where) ->
+ NTactics.elim_tac
+ ~what:(text,prefix_len,what)
+ ~where:(text,prefix_len,where)
+ | GrafiteAst.NEval (_loc, where, reduction) ->
+ NTactics.eval_tac ~reduction ~where:(text,prefix_len,where)
+ | GrafiteAst.NGeneralize (_loc, where) ->
+ NTactics.generalize_tac ~where:(text,prefix_len,where)
+ | GrafiteAst.NId _ -> (fun x -> x)
+ | GrafiteAst.NIntro (_loc,n) -> NTactics.intro_tac n
+ | GrafiteAst.NRewrite (_loc,dir,what,where) ->
+ NTactics.rewrite_tac ~dir ~what:(text,prefix_len,what)
+ ~where:(text,prefix_len,where)
+;;
+