2012-03-15 59 views
1

我想實現try-catch塊

我在.jjt語法文件中提到的以下代碼的JavaCC語法錯誤報告和恢復

當我執行命令的JJTree CMinus.jjt我得到以下錯誤

從文件CMinus_ragu.jjt讀取。 。 。 解析輸入時出錯:org.javacc.jjtree.ParseException:遇到「」{「」{「」a t line 111,30。 正在等待之一: 「throws」... 「:」.. 「#」...

代碼中的錯誤是什麼以及如何處理錯誤恢復?

回答

1

應該在語法文件中的錯誤處理程序代碼之前添加關鍵字JAVACODE。因此,該方法應如下所示:

JAVACODE 
void error_skipto(int kind) { 
    ParseException e = generateParseException(); // generate the exception object. 
    System.out.println(e.toString()); // print the error message 
    Token t; 
    do { 
    t = getNextToken(); 
    } while (t.kind != kind); 
} 

這是因爲應在使用java樣式生成之前添加關鍵字JAVACODE。