我使用 antlr 4 创建了一个词法分析器,用于对土耳其自然语言文本进行标记,我需要做的是有一个标记流,我可以一个一个地获取标记。如果我像这样使用 CommonTokenStream ,它会返回一个列表:
ANTLRInputStream inputStream = new ANTLRInputStream(input);
TurkishLexer lexer = new TurkishLexer(inputStream);
CommonTokenStream tokenStream = new CommonTokenStream(lexer);
List<Token> tokens = tokenStream.fill();
for (Token token : token) ...
但是我不想构建一个令牌列表,因为我的输入可能很大,我只想要这样的东西:
for (Token token: tokenStream.next()) ...
我会迭代直到获得 EOF 令牌。
是否有允许我迭代令牌的令牌流?