【问题标题】:Is there way to provide wrapper of ParseTree to antlr4 parser?有没有办法将 ParseTree 的包装器提供给 antlr4 解析器?
【发布时间】:2014-09-10 05:51:26
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: antlr antlr4 abstract-syntax-tree


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多