Lexer-Variante: durch Leerraum getrennte Einheiten Eigenständiges Lernbeispiel, keine produktive Bogofilter-Lexerdatei. Hier bildet jede Folge ohne Leerraum eine Einheit. Das ist eine andere Entscheidung als die getrennte Erkennung von Wörtern und Zahlen. %option noyywrap %{ #include %} %% [^ \t\r\n]+ { printf("TOKEN:%s\n", yytext); } [ \t\r\n]+ { /* whitespace */ } %% int main(void) { return yylex(); } Eingabe: Mail 42! Erwartete Einheiten: TOKEN:Mail, TOKEN:42! Vorteil: Satzzeichen bleiben an der angrenzenden Zeichenfolge. Grenze: Mail, Mail! und Mail? werden dadurch verschiedene Einheiten. Ob diese Unterscheidung nützlich ist, hängt vom Zweck des Modells ab. Vergleich: https://piology.org/bogofilter/lexer_v3.l Prüffälle: https://piology.org/bogofilter/lexer_v3.l.radical.current