トルコ語の自然言語テキストをトークン化するためにantlr4を使用してレクサーを作成しました。必要なのは、トークンを1つずつフェッチできるトークンストリームを用意することです。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トークンを取得するまでこれを繰り返します。
トークンを反復処理できるトークンストリームはありますか?