java - ANTLRWorks 生成解析器声明抛出但在 java 文件中没有其他内容

标签 java antlr antlrworks

我刚开始研究 ANTLR,并注意到 ANTLRWorks 1.5 生成了 Java 解析器文件,但抛出声明不完整。

语法文件:

grammar ASTDemo;

options { 
  output=AST; 
}

parse
    :   orexpr+
    |   andexpr+
    |   TAG ' ' parens
    |   TAG (parens andexpr)+
    |   together+
    ;

parens
    :   '(' TAG ')';

andexpr
    :   TAG (AND^ TAG)+;    

orexpr
    :   '[' TAG (OR^ TAG)+ ']';

together
    :   TAG (' '^ TAG)*
    ;

TAG     : ('FOO' | 'BAR');
OR  :   '|';
AND :   ': ';
WS  :   (' ')+;

这是包含不完整 throws 语句的示例行

public final ASTDemoParser.parse_return parse() throws  {

当前用于启动 ANTLRWorks 的 JDK 版本是 1.6x 有人以前见过这个吗?

不幸的是,这个编译错误 ANTLRWorks 不允许我在其中调试我的语法。每次我想测试时,我都不得不手动修复文件。

最佳答案

我刚刚使用 ANTLRWorks 1.5 rc1JDK 1.7.0.11 编译了您的语法。

所有编译都很好,提到的代码行如下所示:

public final ASTDemoParser.parse_return parse() 抛出 RecognitionException {

它可能是任意错误表现。再次尝试重新编译,可能是您尝试使用JDK 1.7

关于java - ANTLRWorks 生成解析器声明抛出但在 java 文件中没有其他内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14381146/

相关文章:

java - 如何在intellij IDEA中设置默认数据库

java - 获取特定位置上所有出现的元素,并将它们显示为 JavaFX 中的工具提示

Antlr 错误 'no viable alternative at character'

java - ANTLR - 处理一条规则后触发

java - ANTLR NoViableAltException 与 JAVA

java - 如何在java swing中运行ANTLR GUI?

ANTLR 忽略 AST 运算符

java - JPA rest 在尝试上传 blob 时停止工作

java - String[]a 和 String...a 的区别

visual-studio-2019 - 哪些 ANTLR Nuget 包是哪些?