在antlr4中交换父规则的两个子规则

在antlr4中交换父规则的两个子规则,antlr4,Antlr4,我有一个规则如下 parent_clause: first_clause second_clause | second_clause first_clause ; 我如何交换子项,以便始终拥有first_子句,然后是second_子句 我如何交换子项,以便始终拥有first\u子句,然后是second\u子句 ANTLR4中没有这样的功能 ANTLR4提供了访问者和监听器类,可帮助您根据输入构建自己的解析/抽象语法树。那是你可以重写你的树的地方 以下是T

我有一个规则如下

  parent_clause: first_clause second_clause
         | second_clause first_clause
         ;
我如何交换子项,以便始终拥有
first_子句
,然后是
second_子句

我如何交换子项,以便始终拥有
first\u子句
,然后是
second\u子句

ANTLR4中没有这样的功能

ANTLR4提供了访问者和监听器类,可帮助您根据输入构建自己的解析/抽象语法树。那是你可以重写你的树的地方

以下是Terence(ANTLR的作者)的博客,他在博客中解释了为什么不支持树重写: