2013-03-12 48 views
0

我是Antlr的新手,我的設置如下:Windows 7,Java JDK 1.7.0_17,AntlrWorks 1.5,Antlr 3.5。權威Antlr參考 - 第3章和AntlrWorks

的AntlrWorks幫助 - 關於顯示以下信息:

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書的第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生成相同的代碼?

回答