2017-04-25 115 views
0

上antlr4幾個問題已經使用詞法還沒有在書中提到的謂詞,例如28730446使用提前(字符串),42058127使用getCharPositionInLine(),23465358使用_input.LA(1 )等。_input.LA(1)也在書中使用了幾次(例如2014年版的第212頁和第228頁),但沒有解釋它究竟做了什麼。是否有可用的詞法分析謂詞列表及其文檔?antlr4詞法謂詞文檔

回答

1

這些不是詞法分析謂詞。相反,它們是運行時對象的普通方法:Token#getCharPositionInLine()CharStream#LA(int)。文檔在source code中提供。

詞法分析器類定義_input作爲

public CharStream _input; 

另外,ahead()方法是定製在@lexer::members塊在該特定語法的頂部定義(並且取決於使用的CharStream#LA(int))。

TDAR仍然是最好的expositive文件。源代碼在內部有很好的文檔。

+0

也感謝鏈接到源代碼。 – R71