0

私は Antlr を初めて使用し、セットアップは次のとおりです: Windows 7、Java JDK 1.7.0_17、AntlrWorks 1.5、Antlr 3.5。

AntlrWorks Help-About には、次の情報が表示されます。

ANTLRWorks 1.5
ANTLR 3.5
StringTemplate v3 3.2.1
StringTemplate v4 4.0.7-SNAPSHOT
Java 1.7.0_17 (Oracle Corporation)

Definitive Antlr Reference book の第 3 章では、式評価のサンプル文法 (Expr.g) を紹介しています。これは、本の PDF 版のハイパーリンクからダウンロードしたものです。

この本は AntlrWorks の使用を推奨していますが、私は AntlrWorks でコードを生成 (Ctrl+Shift+G) すると、"throws" 句のないコードを生成します。

たとえば、AntlrWorks では次のように生成されます。

// $ANTLR start "prog"
// C:\\Users\\Mark\\Documents\\output\\Expr.g:12:1: prog : ( stat )+ ;
public final void prog() throws  {
    try {

throwsキーワードの後に​​欠落しているコードに注意してください...

このコマンド ラインを使用してコマンド プロンプトから生成する場合:
java -cp antlr-3.5-complete.jar org.antlr.Tool Expr.g

私はこの出力を得る:

// $ANTLR start "prog"
// Expr.g:12:1: prog : ( stat )+ ;
public final void prog() throws RecognitionException {
    try {

私の質問はこれです-AntlrWorksに同じコードを生成させるにはどうすればよいですか?

4

1 に答える 1

2

これは ANTLRWorks 1.5 の既知の問題であり、次のリリースで解決されています。

#5: ANTLRworks が適切な Java コードの生成に失敗する

于 2013-03-12T02:09:50.023 に答える