• Keine Ergebnisse gefunden

LALR Parser(24 Punkte)

N/A
N/A
Protected

Academic year: 2022

Aktie "LALR Parser(24 Punkte)"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Institut für Systemsoftware Übungen zu Überse erbau WS 2017/2018 

Prof. Dr. H. Mössenböck, DI Leopoldseder, DI Eisl Übung 7 

Le ter Abgabetermin: Mi woch, 24.01.2018, 18 00 Uhr 

LALR Parser (24 Punkte)

1. LALR(1) Tabelle Erstellen (2+3+3+6 Punkte)

Erzeugen Sie für die folgende Grammatik eine LALR(1) Tabelle. Zeigen Sie dabei sowohl alle Umformungen, die Sie an der Grammatik vornehmen, als auch die Berechnung der einzelnen Zustände (wie in der VO gezeigt). Beachten Sie außerdem die Regeln der Fluchtgrammatik, also die Reihenfolge der Produktionen.

Grammatik in EBNF (Startsymbol E):

E = T {(‘+’ | ‘-’ ) T }.

T = F {(‘*’ | ‘/’ ) F }.

F = i | n | i ‘>’ i | ‘(‘ E ‘)’.

2. Simulation einer LALR(1) Analyse (8 Punkte)

Simulieren Sie folgende Eingabesä e mit der Tabelle aus Aufgabe 1:

Sa 1:

4 + a * b + 12 Sa 2:

4 c + ( x

Beachten Sie, dass sie den Eingabestrom vorher in den Tokenstrom der Grammatik aus (1) abbilden müssen. Sollte ein Fehler auftreten, se en Sie wieder auf, indem Sie die Eingabe mit dem Algorithmus aus der VO korrigieren und führen Sie die Analyse fort. Formulieren Sie dabei sinnvolle Fehlermeldungen.

3. Tabellenverkleinerung (4 Punkte)

Verkleinern Sie die Tabelle aus Aufgabe 1 durch Zusammenfassen von shift- und reduce- Aktionen und geben sie die komprimierte Tabelle an.

(2)

Abgabe und Hinweise

● Die Abgabe der Übungen muss elektronisch erfolgen. Geben Sie folgende Dateien ab:

Elektronisch in das Repository: PDF-Datei mit der Lösung.

svn://ssw.jku.at/2017W/UB/k<MatrNr>/branches/UE7

● Bevorzugen Sie Linksrekursion beim Auflösen von Schleifen

● Bevorzugen Sie # als Wegweiser falls mehrere zur Wahl stehen

● Sind mehrere Items im Kern, fügen Sie die Hülle des ersten Kerns vor dem Zweiten ein.

Dasselbe gilt für rekursive Hüllen.

● Sie können gegebenenfalls neue Nonterminalsymbole definieren.

● Die Anführungsstriche (‘) bei den Literalen können in BNF weggelassen werden.

Referenzen

ÄHNLICHE DOKUMENTE

[r]

Erstellen Sie auf Basis dieser Zustände eine Analysetabelle, die für jeden Zustand und jedes Eingabesymbol die durchzuführende Aktion angibt..

Jede Regel der Grammatik (siehe MicroJava Grammatik auf der Übungshomepage) muss durch eine eigene Methode vertreten sein, welche die Top-Down-Erkennung realisiert..

[r]

Zeigen Sie dabei sowohl alle Umformungen, die Sie an der Grammatik vornehmen, als auch die Berechnung der einzelnen Zustände, wie sie in der Vorlesung und Übung gezeigt

Benutzen Sie die drei in der Vorlesung vorgestellten Methoden  scan(),  check()  und  error(). Zur Fehlerbehandlung   verwenden   Sie   vorläufig   die   „Panic

Gegenanzeigen: Keine Anwendung bei Magengeschwüren, Überempfi ndlichkeit gegen die Wirkstoffe, gegen andere Apiaceen (Umbelliferen, z. Anis, Fenchel), gegen Anethol (Bestandteil

Es muss aber nicht mal Afrika oder Asien sein, auch bei Reisen nach Südeu- ropa kommen Durchfallerkran- kungen, aber auch grippale In- fekte häufiger vor.. Die Zahlen hatte ich