从ANTLR4转换后获取语法?

从ANTLR4转换后获取语法?,antlr4,Antlr4,我知道ANTLR4的工作方式是对语法进行一些转换,从而消除歧义、左因子分解等,这样你就可以专注于编写更多可读的语法,而不是手工进行转换,这样机器就会接受它。在ANTLR做出这些更改后,有没有办法导出我的语法?我想看看我的语法有什么变化。ANTLR 4的参考版本没有执行任何左因子分解。ANTLR 4的优化版本在某些情况下确实执行左因子分解,但本版本中更高级的优化所产生的中间形式,左因子分解和间接左递归消除在标准ANTLR语法中是不可表达的。如果语法与标准不匹配,那就好了。我只是想看看它在我的解析器

我知道ANTLR4的工作方式是对语法进行一些转换,从而消除歧义、左因子分解等,这样你就可以专注于编写更多可读的语法,而不是手工进行转换,这样机器就会接受它。在ANTLR做出这些更改后,有没有办法导出我的语法?我想看看我的语法有什么变化。

ANTLR 4的参考版本没有执行任何左因子分解。ANTLR 4的优化版本在某些情况下确实执行左因子分解,但本版本中更高级的优化所产生的中间形式,左因子分解和间接左递归消除在标准ANTLR语法中是不可表达的。如果语法与标准不匹配,那就好了。我只是想看看它在我的解析器和词法分析器中使用的最终语法。我是说在某些情况下,没有ANTLR语法能够表达最终形式。重要的是转换的表示行为在原始定义的添加。这就像询问C++程序的优化形式是什么。优化应用于比语言语法更低的级别,因此输出将不是您所期望的。最好的选择是只将它生成的Java代码作为输出。