Compilerbau: die lexikalische Analyse
Willemers Informatik-Ecke

Die lexikalische Analyse kann eine reguläre Sprache erkennen und arbeitet auf der Basis eines deterministischen Automaten. Ein solcher Automat ist ein Modell für einen Programmteil, das durch die Eingabe gesteuert wird. Anhand des ersten Zeichens (oder mehrerer) kann er eindeutig erkennen, was vorliegt.

Um diesem Automaten das Leben leicht zu machen, definieren die meisten Programmiersprachen einen Bezeichner so, dass das erste Zeichen ein Buchstabe sein muss. So weiss der Automat bei Eintreten einer Ziffer, dass es sich um eine Zahl handelt und bei Erscheinen eines Buchstabens, dass es sich um einen Bezeichner handelt.

Die lexikalische Analyse ist für die Bearbeitung der Textvorlage zuständig und hat dem Parser einen Strom von Tokens zu liefern. An dieser Stelle wird die Auswertung der Konstanten und das Überspringen von Leerzeichen und Leerzeilen durchgeführt. Auch das Nachladen weiterer Sourcedateien wie in C bei der #include-Anweisung sind Aufgaben der lexikalischen Analyse.