java - 如何访问语法中当前的树节点?

标签 java antlr antlr3

问题是如何访问语法中 {"action"} block 内的当前树节点。

我正在谈论 Java 目标,因此在生成的规则方法内部我想访问对象 root_1 (参见下文,标准生成的代码,SUBJECT 这是我语法中的标记,没关系):

  {
    Object root_1 = (Object)adaptor.nil();
    root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(SUBJECT, "SUBJECT"), root_1);
    adaptor.addChild(root_1, stream_noun.nextTree());
    adaptor.addChild(root_0, root_1);
  }

在语法内部,我希望能够执行以下操作:

subject :   noun -> ^(SUBJECT noun) { ... place code here to work with `root_1` object ... } ;

有人可以提出任何想法吗?谢谢。

最佳答案

我相信您正在寻找 $tree 属性。

关于java - 如何访问语法中当前的树节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15662375/

相关文章:

java - 如何在 Spring-app 和 PostgreSQL 中添加 ENUM?

c++ - 处理 C++ 目标中的 ANTLR3 错误

java - Antlr3 解析表达式时报 java.lang.OutOfMemoryError

java - 如何使用 Eclipse Juno 和 PDT (PHP) 安装 ANTLR IDE

java - 客户端-服务器应用程序。总是打开套接字

java.io.EOFException : Unexpected end of ZLIB input stream

javascript - Antlr4-JS actions in grammar : how to access tokens and define funcs ?(直接在java中,不在JS中)

antlr - ANTLR中是否存在逻辑AND和NOT?

java - ANTLR3 语法与谓词不匹配规则

java - 处理 ExecutionException 的原因