3. Übung - Fakultät Informatik
3. Übung - Fakultät Informatik
3. Übung - Fakultät Informatik
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Fakultät</strong> <strong>Informatik</strong> • Institut für Theoretische <strong>Informatik</strong> • Lehrstuhl Grundlagen der Programmierung<br />
Prof. Dr. H. Vogler / Dipl.-Inf. J. Osterholzer<br />
http://www.orchid.inf.tu-dresden.de<br />
Algorithmen und Datenstrukturen<br />
<strong>3.</strong> <strong>Übung</strong>sblatt<br />
Zeitraum: 04. November – 08. November 2013<br />
Bitte beachten: die <strong>Übung</strong>sgruppe am Do, 6.DS wird aufgelöst.<br />
<strong>Übung</strong> 1 (AGS 2.12)<br />
a) Die Wörter einer Sprache seien definiert durch: W (E) = {b k a i b i−1 c 3k | i ≥ 1, k ≥ 0}.<br />
Geben Sie für diese Sprache ein zugehöriges System E von Syntaxdiagrammen an.<br />
b) Folgendes Syntaxdiagrammsystem U sei gegeben:<br />
S<br />
B<br />
A<br />
✎☞<br />
☞ ☞<br />
✎☞<br />
☞ ☞<br />
✎ B ☞ ☞ b<br />
✍✌✍<br />
b✎ ✌ B ✍<br />
a✎ ✎ ☞ d<br />
✌<br />
✍✌✍<br />
d✎ ✌ A c✎ ✎<br />
✍✌<br />
✍ ✌ ✍ A<br />
✌ ✍ ✎ ☞<br />
c ✌<br />
✍✌<br />
Prüfen Sie zunächst mit Hilfe des Rücksprungalgorithmus, ob das Wort bbddccac zu der durch<br />
das gegebene Syntaxdiagrammsystem definierten Sprache gehört. Fertigen Sie dazu ein Markenprotokoll<br />
an. S ist das Startdiagramm.<br />
Geben Sie nun eine Wortbildungsvorschrift für die von diesem Diagrammsystem erzeugte<br />
Sprache W (U) an.<br />
<strong>Übung</strong> 2 (AGS 2.28)<br />
Sei E = (V, Σ, S, R) eine EBNF–Definition mit V = {S, A}, Σ = {a, b, c} und<br />
R = { S ::= (aA | c), A ::= [aS b] } .<br />
a) Welche Sprache wird (vermutlich) durch E beschrieben? Geben Sie die Gesetzmäßigkeit der<br />
Wortbildungen dieser Sprache an.<br />
b) Geben Sie das zu E gemäß der in der Vorlesung vorgestellten Übersetzung äquivalente Syntaxdiagrammsystem<br />
an.<br />
<strong>Übung</strong> 3 (AGS 2.42)<br />
Die Wörter einer Sprache seien definiert durch: W (E) = {(ab) i c k+i+1 d k | i, k ≥ 0} ∗ (Beachten Sie<br />
den * an der Menge!).<br />
a) Geben Sie für diese Sprache eine zugehörige EBNF–Definition E an.<br />
b) Zeigen Sie mit Hilfe der Semantik von EBNF–Termen durch schrittweises Anwenden der entsprechenden<br />
Regeln, dass die Sprachen W (E ′ , S) = W (E ′ , A) = {a m (ab) n | n, m ≥ 0} die EBNF–<br />
Regel S ::= {a}A{ab} erfüllen.<br />
Achtung: Auf die Kennzeichnung der Metasymbole mit ˆ wurde verzichtet.<br />
1/2
<strong>Übung</strong> 4 (AGS 2.41)<br />
Sei E = (V, Σ, S, R) eine EBNF–Definition mit V = {S, A}, Σ = {a, b} und<br />
R = { S ::= b[A], A ::= aS } .<br />
Berechnen Sie die syntaktischen Kategorien W (E, S) und W (E, A) mithilfe der Fixpunktsemantik.<br />
Gehen Sie dazu in folgenden Schritten vor:<br />
a) Dokumentieren Sie mindestens 5 Iterationsschritte der Fixpunktsemantik,<br />
b) und geben Sie dann die Sprachen W (E, S) und W (E, A) in Mengenschreibweise an.<br />
c) Geben Sie eine EBNF-Definition E ′ an, so dass gilt: W (E ′ ) = {a i+k c b k abc 2i | i, k ≥ 0}<br />
Achtung: Auf die Kennzeichnung der Metasymbole mit ˆ wurde verzichtet.<br />
Zusatzaufgabe 1 (AGS 2.44)<br />
a) Geben Sie eine EBNF-Definition E ′ an, so dass gilt: W (E ′ )= {a i+j b j+k+l ac 2l | i, j, k, l ≥ 0}<br />
b) Sei E = (V, Σ, S, R) mit V = {S, A}, Σ = {a, b} und R = { S ::= aAb, A ::= [S] | b}. Berechnen<br />
Sie die syntaktischen Kategorien W (E, S) und W (E, B) mit Hilfe der Fixpunktsemantik. Gehen<br />
Sie dazu in den folgenden Schritten vor:<br />
• Dokumentieren Sie 5 Iterationsschritte.<br />
• Schreiben Sie in Mengenschreibweise die Sprachen W (E, S) und W (E, A) auf.<br />
Achtung: Auf die Kennzeichnung der Metasymbole mit ˆ wurde verzichtet.<br />
Zusatzaufgabe 2 (AGS 2.49)<br />
a) Geben Sie eine EBNF-Definition E = (V, Σ, S, R) an, so dass gilt:<br />
W (E) = {a n b j c m+1 d m | n ≥ 0, j ≤ n, m ≥ 0} .<br />
b) Zeigen Sie mit Hilfe der Semantik von EBNF-Termen durch schrittweises Anwenden der entsprechenden<br />
Regeln, dass die Sprache W (E ′ , A) = {(ab) m c m | m ≥ 0} die EBNF-Regel A ::= ˆ[abAcˆ]<br />
von E ′ erfüllt.<br />
c) Sei E ′′ = (V ′′ , Σ ′′ , S, R ′′ ) mit V ′′ = {S, A}, Σ ′′ = {a, b, c}, und R ′′ umfasse die Regeln<br />
S ::= ˆ{abˆ}aA, A ::= ˆ(a ˆ| ˆ[cˆ]Adˆ) .<br />
Geben Sie das zu E ′ äquivalente System von Syntaxdiagrammen an!<br />
2/2