2016-01-26 45 views
0

如果發生錯誤,我想在我的編譯器中生成一條錯誤消息,例如,鐺,其中包含完整的違規源代碼行。ANTLR4:錯誤消息,包含完整的冒犯源代碼行

例子:

1.c:3:7: error: use of undeclared identifier 'x' 
    if (x== y) { 
     ^

我已經擴展了ANTLR BaseErrorListener,但我不知道 如何讓有問題的源代碼行(除了行號)作爲一個字符串。

回答

0

這是一件簡單的事情。您的錯誤信息中會顯示行號和字符位置。用它來定位輸入中的位置。然後掃描前後換行。這些換行符之間的文本是您的源代碼行。

相關問題