2
使用antlr4 API獲取相對於文件開頭的令牌開始字符位置有沒有可靠的方法?做了一些研究之後,我發現的唯一方法是使用IntStream的一些自定義實現,它不會將'\ n'當作行終止符,但也許我錯過了一些更簡單的方法?如果它很重要,我使用Visitor API。獲取相對於文件開頭的令牌開始字符位置
我正在處理的應用程序解析源文件,併爲使用提供的座標插入其他代碼的另一個應用程序提供插入座標。如果另一個應用程序獲得了文件中的符號位置,而不是line:positionInLine對,那將更方便。
謝謝!我對'Token.getStartIndex()'不是很滿意,因爲它在Token javadoc中被標記爲可選的,並且不知道'TerminalNode'的方式。猜猜我會試試'getStartIndex()'。 – user2592325
@ user2592325我對'getSourceInterval'不正確。您需要使用'Token.getStartIndex()',並在必要時使用'TerminalNode.getSymbol()'來獲得'TerminalNode'的實際'Token'。 –