Grundlagen des Compilerbaus

Die Funktionsweise von Scanner und Parser.

Grundlagen des Compilerbaus Joachim Christ


Ein Compiler ist ein Übersetzer, der eine meist höhere Programmiersprache in eine niedrigere, meist Maschinensprache, übersetzt. Wesentliche Teile eines Compilers sind Scanner und Parser.

Die Lehre vom Compilerbau beschäftigt sich damit, wie Programme aufgebaut sein müssen, die eine Sprache in eine andere übersetzen. Ein wesentlicher Teil dabei ist, die zu übersetzende Sprache syntaktisch und semantisch zu erkennen.

Der Scanner zerteilt eine Eingabe in einzelne “Wörter“. Dabei ist ein Wort als Zeichenfolge zu verstehen, die aus speziellen Buchstabengruppen besteht und sich von den umliegenden Buchstabengruppen abhebt.

Der Parser hat die Aufgabe die vom Scanner erkannten Wörter in ihrer Bedeutung zu erfassen. Man sagt auch, dass die Reihung der einzelnen Wörter einer vorgegebenen Sprache − der Programmiersprache − genügen muss. Dies überprüft der Parser.

Der einfache Parser benutzt einen Scanner und wandelt einen Infix-Ausdruck in einen Postfix-Ausdruck um. Als Operatoren sind +, , *, / (ganzzahlige Division) und % (Rest bei der ganzzahliger Division) erlaubt. Eine Zahl kann als Vorzeichen + oder haben.


↵
 

Bitte geben Sie den umzuwandelnden Ausdruck ein und starten Sie die Verarbeitung durch '↵' oder durch Klicken des Icons. Als Ausgabe erfolgt eine Liste von Token, die den Ausdruck in Postfix-Notation repräsentiert. Dabei steht z. B. “-/2” für den zweistelligen Operator der ‘Subtraktion’, wohingegen “-/1” für das negative Vorzeichen steht.

Voriger Beitrag Nächster Beitrag