| NCases of loc * NotationPt.term * npattern
| NCase1 of loc * string
| NChange of loc * npattern * NotationPt.term
+ | NClear of loc * string list
| NConstructor of loc * int option * NotationPt.term list
| NCut of loc * NotationPt.term
(* | NDiscriminate of loc * NotationPt.term
| NCut (_,t) -> "ncut " ^ NotationPp.pp_term t
(*| NDiscriminate (_,t) -> "ndiscriminate " ^ NotationPp.pp_term t
| NSubst (_,t) -> "nsubst " ^ NotationPp.pp_term t *)
+ | NClear (_,l) -> "nclear " ^ String.concat " " l
| NDestruct (_,dom,skip) -> "ndestruct ..."
| NElim (_,what,where) -> "nelim " ^ NotationPp.pp_term what ^
"...to be implemented..." ^ " " ^ "...to be implemented..."
| GrafiteAst.NCut (_loc, t) -> NTactics.cut_tac (text,prefix_len,t)
(*| GrafiteAst.NDiscriminate (_,what) -> NDestructTac.discriminate_tac ~what:(text,prefix_len,what)
| GrafiteAst.NSubst (_,what) -> NDestructTac.subst_tac ~what:(text,prefix_len,what)*)
+ | GrafiteAst.NClear (_loc, l) -> NTactics.clear_tac l
| GrafiteAst.NDestruct (_,dom,skip) -> NDestructTac.destruct_tac dom skip
| GrafiteAst.NDot _ -> NTactics.dot_tac
| GrafiteAst.NElim (_loc, what, where) ->
G.NTactic(loc,[G.NCases (loc, what, where)])
| IDENT "change"; what = pattern_spec; "with"; with_what = tactic_term ->
G.NTactic(loc,[G.NChange (loc, what, with_what)])
+ | SYMBOL "-"; ids = LIST1 IDENT ->
+ G.NTactic(loc,[G.NClear (loc, ids)])
| (*SYMBOL "^"*)PLACEHOLDER; num = OPT NUMBER;
l = OPT [ SYMBOL "{"; l = LIST1 tactic_term; SYMBOL "}" -> l ] ->
G.NTactic(loc,[G.NConstructor (loc, (match num with None -> None | Some x -> Some (int_of_string x)),match l with None -> [] | Some l -> l)])