有没有办法为antlr4解析器提供ParseTree的包装?

时间:2014-09-09 07:47:59

标签: antlr antlr4 abstract-syntax-tree

有没有办法为antlr4解析器提供ParseTree的包装?

在antlr2中,我可以设置自定义AST节点类型:

parser.setASTNodeClass(DetailAST.class.getName());

我知道在antlr4中没有AST,但是我想在解析树中为所有节点添加一些功能,例如:getNextSibling,getPreviousSibling,getType,getLine,getColumn等。

我不希望将每个节点都转换为YYYContext来使用它。而不是这个,我想为解析树中的所有节点创建基本类,它将具有所有这些方法。

1 个答案:

答案 0 :(得分:1)

从ANTLR 4.4开始,无法覆盖用于解析树的类型。关于该主题的讨论确实存在问题,但(截至今天)该功能尚未实施,甚至未分配给目标发布里程碑。

https://github.com/antlr/antlr4/issues/30

相关问题