• Keine Ergebnisse gefunden

Karlsruher Institut f¨ur Technologie Lehrstuhl f¨ur Programmierparadigmen

N/A
N/A
Protected

Academic year: 2022

Aktie "Karlsruher Institut f¨ur Technologie Lehrstuhl f¨ur Programmierparadigmen"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Karlsruher Institut f¨ ur Technologie

Lehrstuhl f¨ ur Programmierparadigmen

Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting

Ubungsleiter: Matthias Braun¨ matthias.braun@kit.edu Ubungsblatt 4¨ Ausgabe: 7.5.2012 Besprechung: 14.5.2012

Aufgabe 1:SLR-Parser Gegeben folgende Grammatik:

S→S S+|S S*|a 1.1SLR-Situationsmengen

• Konstruieren Sie die SLR-Situationsmengen f¨ur die Grammatik.

• Berechnen Sie die Funktion GOTO f¨ur diese Situationsmengen.

• Erstellen Sie die Parsertabelle f¨ur diese Grammatik.

1.2Verhalten

Zeigen Sie die Aktionen eines SLR(1)-Parsers mit Ihrer Parsertabelle aus der letzten Teilaufgabe bei Eingabe vonaa*a+.

1.3Grammatiken

Zeigen Sie, dass folgende Grammatik SLR(1) ist, aber nicht LL(1):

S → SA|A

A → a

1.4Mehrdeutige Grammatiken

Die folgende Grammatik ist mehrdeutig:

S → A S|b A → S A|a

Legen Sie f¨ur diese Grammatik die Sammlung der LR(0)-Situationsmengen an. Wenn wir versuchen, eine LR- Parsertabelle daf¨ur zu erstellen, ergeben sich Konflikte zwischen einigen Aktionen. Welche sind es? Nehmen Sie an, wir versuchen die Parsertabelle zu nutzen, indem wir bei jedem Konflikt nichtdeterministisch eine m¨ogliche Aktion w¨ahlen. Zeigen Sie alle m¨oglichen Aktionsfolgen bei Eingabe von abab.

1.5Weitere Parsertabellen (Zusatzaufgabe) Gegeben folgende Grammatiken:

1. S→S(S)S|ε

1

(2)

2. S→S+S|S S|(S )|S*|a 3.

bexpr → bexprorbterm|bterm bterm → btermand bfactor|bfactor

bfactor → notbfactor|(bexpr)|true|false F¨uhren Sie f¨ur jede der Grammatiken folgendes durch:

• Erstellen Sie die SLR-Situationsmengen und die GOTO-Funktion.

• Zeigen Sie alle Aktionskonflikte in Ihren Situationsmengen auf.

• Legen Sie die SLR-Parsertabelle an, wenn es eine gibt.

2

Referenzen

ÄHNLICHE DOKUMENTE

(5) Alle Strings aus a und b mit einer geraden Anzahl von a und einer ungeraden Anzahl von b (Denksport- aufgabe). Aufgabe 4: Regul¨ are

Enth¨ alt die Zahl einen Punkt, so darf der Buchstabe e oder E angeh¨ angt werden, gefolgt von einem optionalen + oder - und weiteren Ziffern.. Zus¨ atzlich soll bei T NUMBER Tokens

Wie kann man dies anhand der Parsertabelle begr¨

Ubersetzen Sie den Ausdruck ¨ this.x = 32 - this.foo()[2] in Java Bytecode, geben Sie auch einen passenden Konstantenpool an?. (foo ist eine

Idee: durchlaufe Programm r¨ uckw¨ arts, ab einer Benutzung ist eine Variable lebendig, ab einer Definition tot?. gen enth¨ alt Variablen die Benutzt werden, kill Variablen

Erweitern Sie ihren Verband und die dazugeh¨ origen Transferfunktionen, um das gefundene Problem zu beheben.. F¨ uhren Sie eine Fixpunktiteration mit den erweiterten

Sprachtechnologie und Compiler, Sommersemester 2014 Dozent: Prof.. Was f¨ allt

Schreiben Sie mehrere kleine Testprogramme und vergleichen Sie den generierten x86-64-Assemblers f¨ ur zwei optimierende Compiler.. K¨ onnen Sie