29.01.2014 Aufrufe

3. Übung - Fakultät Informatik

3. Übung - Fakultät Informatik

3. Übung - Fakultät Informatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!