ANTLRWorks生成Parser声明抛出但java文件中没有其他内容

时间:2013-01-17 14:23:35

标签: 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不允许我在其中调试我的语法。每次我想测试时,我都被迫手动修复文件。

1 个答案:

答案 0 :(得分:0)

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

所有编译良好,并提到的代码行如下:

public final ASTDemoParser.parse_return parse() throws RecognitionException {

可能是任意的bug表现。尝试重新编译它,可能您尝试使用JDK 1.7