1
给定一些具体的语法值,我如何将它映射到不同类型的值(在这种情况下是int
)?如何将具体语法值转换为其他类型的值?
// Syntax
start syntax MyTree = \node: "(" MyTree left "," MyTree right ")"
| leaf: Leaf leaf
;
layout MyLayout = [\ \t\n\r]*;
lexical Leaf = [0-9]+;
这并不遗憾的是工作:
public Tree increment() {
MyTree tree = (MyTree)`(3, (1, 10))`;
return visit(tree) {
case l:(Leaf)`3` => l + 1
};
}
或者是implode
的唯一途径进入,我指定类型的ADT?