有没有办法将ParseTree的包装器提供给antlr4解析器?
在antlr2中,我可以设置自定义AST节点类型:
parser.setASTNodeClass(DetailAST.class.getName());
我知道antlr4中没有AST,但我想为解析树中的所有节点添加一些功能,例如:getNextSibling、getPreviousSibling、getType、getLine、getColumn等。
我不想将每个节点强制转换为YYYContext来处理它。相反,我想为解析树中的所有节点创建基类,这些节点将具有所有这些方法。
从ANTLR 4.4开始,没有办法覆盖用于解析树的类型。确实存在一个问题需要讨论,但(截至今天)该功能尚未实现,甚至尚未分配给目标发布里程碑。
https://github.com/antlr/antlr4/issues/30