Ich habe einen Lexer erstellt mit Hilfe von Antlr 4 für Tokening Türkisch natürliche Sprache Texte, was ich tun muss, ist ein Token-Stream, den ich Token eins nach dem anderen holen kann. CommonTokenStream gibt eine Liste, wenn ich es wie folgt verwenden:Wie verwende ich den TokenStream von antlr 4 als iterierbaren Stream?
ANTLRInputStream inputStream = new ANTLRInputStream(input);
TurkishLexer lexer = new TurkishLexer(inputStream);
CommonTokenStream tokenStream = new CommonTokenStream(lexer);
List<Token> tokens = tokenStream.fill();
for (Token token : token) ...
aber ich möchte nicht eine Liste von Token zu konstruieren, wie meine Eingabe sehr groß sein könnte, ich will nur so etwas wie:
for (Token token: tokenStream.next()) ...
Was ich wiederholen würde, bis ich ein EOF-Token bekomme.
Gibt es einen Token-Stream, mit dem ich über Token iterieren kann?
Ah vielen Dank. Vielleicht wäre es trotzdem schön, dies in Token-Streams zu veröffentlichen. Als Randnotiz verwendet die Java-Version lexer.nextToken() – mdakin