antlr4 lexer谓词文档

时间:2017-04-25 15:41:23

标签: antlr4

关于antlr4的几个问题使用了本书中未提及的词法分析词谓词,例如28730446使用提前(字符串),42058127使用 getCharPositionInLine < / strong>(),23465358使用 _input.LA(1)等。 _input.LA(1)也在使用了几次本书(例如2014年版第212和228页),但没有解释它究竟是做什么的。是否有可用的词法分析器谓词列表及其文档?

1 个答案:

答案 0 :(得分:1)

这些不是词法分类的谓词。相反,它们是运行时对象的普通方法:Token#getCharPositionInLine()CharStream#LA(int)。文档在source code

中提供

Lexer类将_input定义为

public CharStream _input;

此外,ahead()方法是在该特定语法顶部的@lexer::members块中自定义的(并且取决于CharStream#LA(int)的使用)。

TDAR仍然是最好的解释性文档。源代码内部记录良好。