add AST rule