Karlsruher Institut f¨ ur Technologie
Lehrstuhl f¨ ur Programmierparadigmen
Sprachtechnologie und Compiler, Sommersemester 2014 Dozent: Prof. Dr.-Ing. G. Snelting
Ubungsleiter: Sebastian Buchwald¨ Sebastian.Buchwald@kit.edu Ubungsblatt 3¨ Ausgabe: 8.5.2014 Besprechung: 12.5.2014
Aufgabe 1:Taschenrechner-Parser
Aufbauend auf dem Taschenrechner-Lexer vom ersten ¨Ubungsblatt soll nun der zugeh¨orige SLL(1)-Parser ent- worfen und implementiert werden. Als Grundlage dient folgende Grammatik:
E →T E0
E0→+ T E0 |−T E0 |ε T →F T0
T0→*F T0 |/F T0|ε F →(E)|number
1.1First1- undFollow1-Mengen
Bestimmen Sie die First1- und Follow1-Mengen f¨ur jedes Nichtterminal. Erf¨ullt die Grammatik das in der Vorlesung vorgestellte SLL(1)-Kriterium?
1.2Implementierung
Implementieren Sie einen Parser f¨ur die Grammatik. Verwenden Sie dazu das Verfahren des rekursiven Abstiegs.
1