2 Lexikalische Analyse - Westfälische Wilhelms-Universität Münster
2 Lexikalische Analyse - Westfälische Wilhelms-Universität Münster
2 Lexikalische Analyse - Westfälische Wilhelms-Universität Münster
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kapitel 2: <strong>Lexikalische</strong> <strong>Analyse</strong><br />
Einen zweiten Lösungsansatz bietet die Symboltabelle. Üblicherweise werden, wie in<br />
Abbildung 7, bis Index 9 die sogenannten reservierten Schlüsselwörter verwaltet<br />
[ALSU08, S. 160]. Diese Wörter sind, wie z. B. BEGIN, Wörter, die in der<br />
Programmiersprache eine bestimmte Rolle spielen und daher geschützt werden müssen.<br />
Index<br />
1<br />
2<br />
3<br />
4<br />
.<br />
.<br />
.<br />
9<br />
10<br />
11<br />
12<br />
const<br />
var<br />
begin<br />
end<br />
.<br />
.<br />
.<br />
odd<br />
abcd<br />
Dipl.-Ing.<br />
E150d<br />
Schlüsselwörter<br />
Bezeichner<br />
Abbildung 7: Symboltabelle mit reservierten Schlüsselwörtern<br />
Taucht nun das Problem der Mehrdeutigkeit auf, wird das Wort erkannt, welches als<br />
erstes in der Symboltabelle steht. Findet die lexikalische <strong>Analyse</strong> z. Β. das Muster<br />
„beginnen“, wird sie auf Grund des zweiten Lösungsansatzes das Lexem BEGIN sowie<br />
einen Bezeichner „nen“ identifizieren. Als Ergebnis werden die beiden Token BEGIN<br />
und ID ausgegeben.<br />
2.2.6 Eingabepuffer<br />
Das Einlesen der Eingabezeichen wird dadurch erschwert, dass oft über das nächste<br />
Lexem hinausgeblickt werden muss (Lookahead). Um das Muster zu identifizieren,<br />
müssen noch ein oder mehrere zusätzliche Zeichen gelesen werden. Der Eingabepuffer<br />
soll diese Problem mindern und den Einlesevorgang beschleunigen, indem nicht jedes<br />
Zeichen einzeln aufgerufen werden muss.<br />
Aufgebaut ist solch ein Eingabepuffer meist durch zwei separate Puffer der Größe N,<br />
wie ihn Abbildung 8 zeigt [ALSU08, S. 141]. Die Größe entspricht hierbei<br />
12