Fachkonzept - Scanner

Lexikalische Analyse

Ein (lexikalischer) Scanner ist eine Programmeinheit, die eine Zeichenfolge nach vorgegebenen Mustern in lexikalische Einheiten zerlegt oder anzeigt, dass eine solche Zerlegung nicht möglich ist.

Betrachte als Beispiel eine Zeichenfolge, die ein MyKa-Programm darstellt:

links
while nichtVorWand:
  ziegelHinlegen
  schritt
#while

Diese Zeichenfolge wird in die folgenden lexikalischen Einheiten zerlegt:

'links', 'while', 'nichtVorWand', ':', 'ziegelHinlegen', 'schritt', '#while'

Solche lexikalischen Einheiten - zusammen mit den zugehörigen Namen der Muster und ggf. weiteren Informationen - bilden die sogenannten Token.

(ELANW,'links')
(WH,'while')
(BED,'nichtVorWand')
(DP,':')
(ELANW,'ziegelHinlegen')
(ELANW,'schritt')
(WH_ENDE,'#while')

Ein (lexikalischer) Scanner ist also eine Funktionseinheit, die aus einem Quelltext eine Tokenfolge erzeugt oder eine Fehlermeldung liefert, wenn das nicht möglich ist.

Scanner
X

Fehler melden

X

Suche