0
public void enterStatus(Parser.Context ctx)
{
}
Parser.Context ctx沒有像getLinuNumber()這樣的方法。我怎麼能得到解析器行號?如何通過Parser ctx獲取行號?
public void enterStatus(Parser.Context ctx)
{
}
Parser.Context ctx沒有像getLinuNumber()這樣的方法。我怎麼能得到解析器行號?如何通過Parser ctx獲取行號?
您可以使用ctx.getStart()函數getline()
公共令牌getStart()獲取在此背景下初始令牌。注意 ,從開始的範圍內停止是包容性的,所以對於做 規則不消耗任何東西(例如,長度爲零或錯誤的製作) 此令牌可能超過停止
從DOC:http://www.antlr.org/api/Java/org/antlr/v4/runtime/ParserRuleContext.html#getStart()
和
INT函數getline(),在其被匹配此令牌 的第一字符的行號,行= 1..n的
from:http://www.antlr.org/api/Java/org/antlr/v4/runtime/Token.html#getLine()
非常感謝! – MarkMa
@Markma,歡迎您:開心編碼:) – alainlompo