ANTLRWorks在java文件中生成解析器声明抛出,但不生成任何其他内容
我刚开始研究ANTLRWorks在java文件中生成解析器声明抛出,但不生成任何其他内容,java,antlr,antlrworks,Java,Antlr,Antlrworks,我刚开始研究ANTLR,注意到antlrworks1.5生成了Java解析器文件,但声明不完整 语法文件: grammar ASTDemo; options { output=AST; } parse : orexpr+ | andexpr+ | TAG ' ' parens | TAG (parens andexpr)+ | together+ ; parens : '(' TAG ')'; and
ANTLR
,注意到antlrworks1.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 : (' ')+;
下面是包含不完整抛出语句的示例行
public final ASTDemoParser.parse_return parse() throws {
当前用于启动ANTLRWorks的JDK版本为1.6x
以前有人见过这个吗
不幸的是,由于这个编译错误,
ANTLRWorks
不允许我在其中调试语法。每次要测试时,我都必须手动修复文件。我刚刚使用AntlWorks 1.5 rc1
和JDK 1.7.0.11
编译了您的语法
所有代码都编译得很好,上面提到的代码行如下所示:
public final ASTDemoParser.parse_return parse()抛出识别异常{
这可能是任意错误的表现。再次尝试重新编译它,可能是您尝试使用
JDK 1.7
让AntlWorks使用JDK 1.7x启动确实解决了问题。谢谢!现在尝试并找出调试无法工作的原因。总是有一些问题。:)再次感谢!!我从AntlWorks 1.5和JDK 1.7u2得到了这一点1也是。AntlrWorks1.4.3工作正常。