Interface for AST rewriting
rewrite(ast, rules)
A language object.
A language object.
A list of functions, each of which is the output from `make_rule`.
library(sketch)
rewrite(
ast = rlang::parse_expr("2 * (3 + pi)"),
rules = list(make_rule("pi", "Math.PI"))
)
rewrite(
ast = rlang::parse_expr("2 + pi"),
rules = list(
make_rule("pi", "Math.PI"),
make_rule("+", "Math.add")
)
)
Run the code above in your browser using DataLab