• Keine Ergebnisse gefunden

1 Regeln zur Bestimmung von Objektsprachen

N/A
N/A
Protected

Academic year: 2022

Aktie "1 Regeln zur Bestimmung von Objektsprachen"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Wolfgang Hönig / Andreas Ecke WS 09/10

1 Regeln zur Bestimmung von Objektsprachen

1.1 Aufgabentyp

Zeigen Sie die Gleichung [...] schrittweise mit Hilfe der über den induktiven Aufbau von EBNF-Termen definierten Regeln zur Bestimmung von Objektsprachen.

1.2 Überblick

In jedem Schritt ist eine der folgenden Regeln anzuwenden:

1. α ∈V, d.h. α ist syntaktische Variable⇒JαK(ρ) =ρ(α) 2. α ∈Σ, d.h.α ist Terminalsymbol⇒JαK(ρ) ={α}

3. α =α1α2 ⇒JαK(ρ) =Jα1K(ρ)·Jα2K(ρ) 4. α = ˆ(α1ˆ|α2ˆ) ⇒JαK(ρ) =Jα1K(ρ)∪Jα2K(ρ) 5. α = ˆ{α1ˆ} ⇒JαK(ρ) = (Jα1K(ρ))

6. α = ˆ[α1ˆ]⇒JαK(ρ) =Jα1K(ρ)∪ {}

7. α = ˆ(α1ˆ) ⇒JαK(ρ) =Jα1K(ρ)

1.3 Grundidee

Es soll die Menge von Wörtern beschrieben werden, die ein gegebener EBNF-Term erzeugt.

Dafür wird eine Funktion benötigt, welche mindestens als einen Parameter den EBNF- Term bekommt und als Ergebnis die gesuchte Menge von Wörtern zurückgibt. Nun kann aber ein EBNF-Term auch eine syntaktische Variable enthalten, welche wiederum eine Menge von Wörtern beschreibt. Es wird also noch eine Hilfsfunktion benötigt, welche zu einer gegebenen syntaktischen Variablen die zugehörige Menge von Wörtern liefert. Diese Hilfsfunktion wird ρ genannt. Die eingangs erwähnte Funktion bekommt jetzt also zwei Parameter: Den EBNF-Term sowie die Hilfsfunktionρund liefert eine Menge von Wörtern als Ergebnis:

f(EBNF-Term, ρ)→ {Wörter}

Die Funktion kann jetzt noch umbenannt werden:

J.K(EBNF-Term, ρ)→ {Wörter}

Und schließlich kann man noch den ersten Parameter mit in den Funktionsnamen schreiben:

JEBNF-TermK(ρ)→ {Wörter}

Und schon erhält man die aus der Vorlesung bekannte Notation.

1

(2)

Wolfgang Hönig / Andreas Ecke WS 09/10

1.4 Erklärung am Beispiel

1.4.1 Aufgabe

SeiE = (V,Σ, S, R) mit V ={S, A},Σ ={a, b, c} undR ={S ::= ˆ(aAbˆ|ˆ[abˆ]ˆ), A::= ˆ{cˆ}}.

Berechnen Sie mit Hilfe der über den induktiven Aufbau von EBNF-Termen definierten Regeln zur Bestimmung von ObjektsprachenW(E, S).

1.4.2 Analyse

Die Sprache W(E, S) hängt von W(E, A) ab, daher ist es zweckmäßig diese zuerst zu berechnen. Ansonsten wird in irgendeinem Schritt JAK(ρ) = ρ(A) (Regel 1) ausgeführt werden müssen. Da aber die Funktionρunbekannt ist (kann z.B. durch Fixpunktsemantik berechnet werden), können wir dieses Problem in diesem Fall geschickt vermeiden.

1.4.3 Teilsprache

Wir wollen nun W(E, A) mit Hilfe der Regeln zur Bestimmung von Objektsprachen be- rechnen. Nach Definition (quasi Regel 0) gilt:

W(E, A) =JAK(ρ)

Der Ausdruck A kann nun aus der EBNF-Definition entnommen werden. Damit ergibt sich:

W(E, A) =JAK(ρ) =J{c}K(ρ) Jetzt können die Regeln angewendet werden:

W(E, A) =JAK(ρ) Regel 0

=Jˆ{cˆ}K(ρ) EBNF einsetzen

= (JcK(ρ)) Regel 5 mit α1 =c

= ({c}) Regel 2 mit α=c

={cn|n≥0} Definition Kleenestern

1.4.4 Zielsprache

Da nun die Vorarbeitet fertig ist, können wir W(E, S) berechnen. Durch Anwenden der Regeln ergibt sich:

2

(3)

Wolfgang Hönig / Andreas Ecke WS 09/10

W(E, S) =JSK(ρ) Regel 0

=Jˆ(aAbˆ|ˆ[abˆ]ˆ)K(ρ) EBNF einsetzen

=JaAbK(ρ)∪Jˆ[abˆ]K(ρ) Regel 4 mit α1 =aAbund α2 = ˆ[abˆ]

=JaAbK(ρ)∪JabK(ρ)∪ {} Regel 6 mit α1 =ab

=JaAbK(ρ)∪JaK(ρ)·JbK(ρ)∪ {} Regel 3 mit α1 =aund α2 =b

=JaAbK(ρ)∪ {a} ·JbK(ρ)∪ {} Regel 2 mit α=a

=JaAbK(ρ)∪ {a} · {b} ∪ {} Regel 2 mit α=b

=JaAbK(ρ)∪ {ab} ∪ {} Komplexprodukt

=JaK(ρ)·JAbK(ρ)∪ {ab} ∪ {} Regel 3 mit α1=aundα2=Ab

=JaK(ρ)·JAK(ρ)·JbK(ρ)∪ {ab} ∪ {} Regel 3 mit α1 =A und α2 =b

={a} ·JAK(ρ)·JbK(ρ)∪ {ab} ∪ {} Regel 2 mit α=a

={a} ·JAK(ρ)· {b} ∪ {ab} ∪ {} Regel 2 mit α=b

={a} ·W(E, A)· {b} ∪ {ab} ∪ {} Sprache einsetzen

={a} · {cn|n≥0} · {b} ∪ {ab} ∪ {} Ergebnis aus letztem Abschnitt einsetzen

={acn|n≥0} · {b} ∪ {ab} ∪ {} Komplexprodukt

={acnb|n≥0} ∪ {ab} ∪ {} Komplexprodukt

={acnb|n≥0} ∪ {} daab∈ {acnb|n≥0}

1.5 Anmerkungen

1.5.1 Umfang

„Schrittweise“ in der Aufgabenstellung ist zu realisieren, d.h. es sollte pro Schritt nur eine Regel angewendet werden.

1.5.2 Zusammenhang mit der Fixpunktsemantik

Die Regeln zur Bestimmung von Objektsprachen ist nur anwendbar, wenn keine Abhän- gigkeiten zwischen den einzelnen Regeln vorhanden sind. Das heißt insbesondere, dass es mindestens eine Regel geben muss, die keine syntaktische Variable enthält.

Die Fixpunktsemantik hingegen funktioniert auch in den anderen Fällen, da sie schritt- weise arbeitet. Durch die schrittweise Abarbeitung ist es allerdings auch nicht möglich nach endlich vielen Schritten eine unendliche Sprache eindeutig zu definieren (Falls man eine Vermutung hat, kann jedoch vorzeitig ein Induktionsbeweis geführt werden.). Die Re- geln zur Bestimmung von Objektsprachen liefern dagegen nach endlich vielen Schritten ein eindeutiges (und richtiges) Ergebnis.

3

(4)

Wolfgang Hönig / Andreas Ecke WS 09/10

Übersicht

Regeln zur Bestimmung von Ob- jektsprachen

Fixpunktsemantik anwendbar falls es keine Abhängigkeiten zwi-

schen den Regeln gibt

immer

Terminierung nach endlich vielen Schritten Nie (aber nach Vermutung Abbruch und Induktionsbeweis möglich.)

Korrektheit bei korrekter Regelanwendung korrekt; kein Beweis nötig.

Induktionsbeweis nötig

4

Referenzen

ÄHNLICHE DOKUMENTE

F¨ ur einen von der Wurzel verschiedenen Knoten v aus Trie (P ) sei Fail v der Knoten, f¨ ur den L(Fail v ) das l¨ angste echte Suffix von L(v) ist, das Pr¨ afix eines Wortes aus

Hinweis zu §§ 60a, 60b UrhG: Das Werk oder Teile hiervon dürfen nicht ohne eine solche Einwilligung an Schulen oder in Unterrichts- und Lehrmedien (§ 60b Abs. 3 UrhG)

Falls diese Restfehler, für die als einheitliches Maß sp (Q) verwendet werden kann, noch groß sind, wird man zu der Annahme geführt, daß die eliminierten

(2) Eine konvergente unendliche Reihe besitzt also stets einen (eindeutigen) Summen- wert, einer divergenten unendlichen Reihe la¨sst sich dagegen kein Summenwert zuordnen..

Nach dem Drücken einer Wahltaste kann entweder bezahlt oder eine andere Wahltaste gedrückt werden.. Die zuletzt getätigte

Durch die schrittweise Abarbeitung ist es allerdings auch nicht möglich nach endlich vielen Schritten eine unendliche Sprache eindeutig zu definie- ren (Falls man eine Vermutung

Für das Hallenbad Süd gilt, dass 42 Personen gleichzeitig das Sportbecken nutzen können, 16 Personen das Nichtschwimmerbecken.. Im Hallenbad Oggersheim können 25 Personen

Wir müssen endlich Verantwortung übernehmen, für uns und für zukünftige Generationen“, so Richard Mergner, Vorsitzender des BUND Naturschutz in Bayern e.V., nach