4
我正在爲我的編譯器類編寫一個簡單的解析器(僅僅是我可以使這些工具工作的一個概念證明),並且正在使用帶有python綁定的ANTLR。我已經得到了我們平凡的語法來正確標記和解析,但我也想以自定義的方式處理錯誤。按照ANTLR文檔(更具體:http://www.antlr.org/wiki/display/ANTLR3/Error+reporting+and+recovery),我可以把我的語法文件下面的代碼這樣做:如何使用python在ANTLR中執行自定義錯誤報告?
@members {
private List<String> errors = new LinkedList<String>();
public void displayRecognitionError(String[] tokenNames,
RecognitionException e) {
String hdr = getErrorHeader(e);
String msg = getErrorMessage(e, tokenNames);
errors.add(hdr + " " + msg);
}
public List<String> getErrors() {
return errors;
}
}
然而,這是一個Java的例子,我似乎無法在python複製(我可以複製代碼,但似乎無法讓它運行)。有誰知道我會怎麼做?
不能接受我自己的答案,但將這樣做,明天如果沒有更好的解決方案出現。 – 2012-04-11 16:34:15
這似乎是一個很好的方式來處理它:我不期待任何其他答案! :) – 2012-04-11 17:43:24