我想在宏体中使用括号来分组表达式。例如:
macro m {
rule { ($x, $y) } => {
$x >>> ($y * 5)
}
}
Sweet.js删除所有括号:
m(6, 7) => 6 >>> 7 * 5
我期待下一个输出:
m(6, 7) => 6 >>> (7 * 5)
如何在宏体内转义括号?
答案 0 :(得分:3)
Sweet.js(技术上,sweet.js用于codegen的escodegen)只删除多余的parens(即优先规则意味着6 >>> 7 * 5 === 6 >>> (7 * 5)
所以不需要parens)所以你不应该需要做任何事情来逃避宏中的parens。