我是ANTLR的新手,并试图在ANTLR4中编写语法,而无需事先使用以前的版本进行刷新。我正在按照本书'The Definitive ANTLR 4 Reference'。我使用Eclipse并安装了here中给出的ANTLR4 IDE。我写在Expr.g4以下语法:ANTLR4 Parser,未创建的访问者
grammar Expr;
import Common;
options{
language = Java;
}
prog: stat+;
stat: expr NEWLINE
| ID '=' expr NEWLINE
| NEWLINE;
expr: expr ('/'|'*') expr
| expr ('+'|'-') expr
| INT
| ID
| '('expr')';
的Common.g4包含以下内容:
lexer grammar Common;
ID: [A-Za-z]+;
INT: [0-9]+;
NEWLINE: '\r'?'\n';
WS: [\t]+ -> skip;
的lexer.java被创造但不parser.java和visitor.java和其他基地文件。请帮我解决这个问题。提前致谢。
没有足够的信息。你确定解析器和访问者应该被生成吗?你看过正确的目录吗?也许你应该再次查看文档和/或发布跟踪器。 – blackcompe
@blackcompe是的,我已经使用了其他语法并进行了检查。当我保存文件时,所有文件都是自动创建的。但不是在上述情况下。 – Pacu
我有同样的问题,你有没有找到解决办法? – user902383