Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier. Ein lexikalischer Scanner ist ein Computerprogramm(-teil) zur Zerlegung einer in eine Folge von logisch zusammengehörigen Einheiten Tokens ).
Ein Scanner wird meist als Teil Compilers genutzt. Er erkennt dabei innerhalb der oder des Eingabedatenstroms z. B. Schlüsselwörter Bezeichner Zahlen und Zeichenketten . Als Einheit erkannte Zeichenfolgen ( Tokens ) werden mit ihrem Typ markiert zurückgeliefert.
Ein Scanner kann einen separaten so Screener benutzen um Whitespace (Computer) und Kommentare entfernen.
Wenn man eine formale Beschreibung der erkennenden Lexik angeben kann läßt sich ein lexikalischer automatisch generieren. Das auf UNIX -Betriebssystemen enthaltene Program lex sowie das von Free Software Foundation entwickelte flex erfüllen genau diese Funktion. Aus der Beschreibung generieren diese Programme eine Funktion die einem eingegebenen Text das jeweils nächste Token und zurückgibt. Diese Funktion findet dann meist einem Parser Verwendung.