antlr4 lexer谓词文档
关于antlr4的几个问题使用了本书中未提及的词法谓词,例如使用先行(字符串),使用getCharPositionInLine(),使用\u input.LA(1),等等。\u input.LA(1)在本书中也使用过几次(如2014版的第212页和第228页)但对于它的确切作用没有任何解释。有可用的lexer谓词列表及其文档吗?这些不是lexer谓词。相反,它们是运行时对象上的普通方法:antlr4 lexer谓词文档,antlr4,Antlr4,关于antlr4的几个问题使用了本书中未提及的词法谓词,例如使用先行(字符串),使用getCharPositionInLine(),使用\u input.LA(1),等等。\u input.LA(1)在本书中也使用过几次(如2014版的第212页和第228页)但对于它的确切作用没有任何解释。有可用的lexer谓词列表及其文档吗?这些不是lexer谓词。相反,它们是运行时对象上的普通方法:Token#getCharPositionInLine()和CharStream#LA(int)。文档在中提供
Token#getCharPositionInLine()
和CharStream#LA(int)
。文档在中提供
Lexer类将\u输入定义为
public CharStream _input;
另外,ahead()
方法是在特定语法顶部的@lexer::members
块中自定义定义的(取决于CharStream#LA(int)
)
TDAR仍然是最好的解释性文档。源代码在内部有很好的文档记录