采取以下伪规则:
rule: prefix? rest;
我想根据前缀的外观重写AST。
如果没有前缀,我希望将其重写为rest
。
如果有前缀,我希望将其重写为(PARENT prefix rest)
PARENT
-prefix
-rest
换句话说,如果找到0或1替代,我想在AST中出现一个标记。
[怎么样]可能?
答案 0 :(得分:1)
将它分为两个不同的选择:
rule
: prefix rest -> ^(PARENT prefix rest)
| rest -> rest
;