从ANTLR 3中的walker文件解析外部化java代码(从walker规则返回的自定义对象)
我正在使用树语法遍历ANTLR3中解析输入后生成的AST。在walker规则中,嵌入了java代码,用于填充AST中的自定义java对象,并从AST中返回这些对象,这些对象用于操作输出
我面临着从语法文件中具体化java代码的挑战
考虑以下规则:
沃克。g
val returns [Node node]
@init { Node val= new Node(); }
@after { node = val; }
:
NUMERIC
{
node.setValue($NUMERIC.text); // Node initialisation and population
// inside .g file
}
;
这是一个示例节点类,用于存储和操作AST的信息
节点。爪哇
class Node{
String value;
public String getValue(){
return this.value;
}
public void setValue(String text){
this.value = text;
}
}
是否有任何方法可以在walker之外创建和填充节点。g文件强>
共 (0) 个答案