Scanner, Parser und Interpreter für Mini-Pascal
In Kapitel 20, Band 2 von Informatik mit Prolog wird dargestellt, wie Konzepte und Methoden der theoretischen Informatik bei der Konstruktion eines Scanners, Parsers, Interpreters und Compilers für die Sprache Mini-Pascal angewendet werden können.
Im Folgenden ist als Beispiel ein Mini-Pascal-Programm für die Berechnung der Fakultaet angegeben:
program Fakultaet; |
Der Scanner liest den Quelltext eines Mini-Logo-Programmes ein und erzeugt daraus eine Symbolliste. Der Parser baut aus der Symbolliste einen Parsebaum, den man mit dem Terminterpreter darstellen kann.
Der Interpreter führt das Mini-Pascal-Programm aus und gibt das Ergebnis auf der Prolog-Konsole aus.
speicher(fak, 5040).
speicher(i, 7).
speicher(n, 7).
Der Compiler arbeitet wie der Interpreter auf dem Parsebaum. Er übersetzt das im Parsebaum dargestellte Mini-Pascal-Programm in Assemblersprache:
mov ax, 7 |
Benutzungshinweise
Laden Sie sich das Mini-Pascal-Paket herunter und entpacken Sie es in ein Verzeichnis minipascal. Starten Sie Swing-Prolog, laden und konsultieren Sie die Datei minipascal.pl. Stellen Sie dann die Anfrage ?- minipascal.
Der Terminterpreter muss installiert sein.