22.08.2013 Aufrufe

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Für den Zusammenhang zwischen Quell- und Zielsprache definieren wir eine Interpretationsfunktion mit folgenden<strong>der</strong><br />

Funktionalität:<br />

s : Syntaktische Aussage × Zustand → Ziel Wahrheitswert<br />

Diese Definition besagt, daß die Funktion s ein Objekt vom Typ Syntaktische Aussage (soll heißen einen<br />

Ableitungsbaum) und ein Objekt von Typ Zustand nimmt und ein Objekt vom Typ Ziel Wahrheitswert (soll<br />

heißen ein Element <strong>der</strong> Zielsprache) liefert. D.h. die Funktion s ist eine Funktion mit zwei Argumenten, die<br />

einen Ausdruck <strong>der</strong> Quellsprache zusammen mit einem Zustand auf einen Wahrheitswert <strong>der</strong> Zielsprache<br />

abbildet. Aus Platzgründen werden wir im folgenden, statt jedesmal explizit den Baum anzugeben, uns auf<br />

den durch ihn ableitbaren Ausdruck beschränken.<br />

Wozu benötigen wir einen Zustand? In dem ’Quell Ausdruck’ treten u.U. Bezeichner auf. Wir brauchen daher<br />

eine Handhabe, um zu entscheiden, welcher Wert (d.h. welches Element aus Ziel Wahrheitswerte) einem<br />

Bezeichner zugeordnet wird. Zu diesem Zweck führen wir den Begriff des Zustandes ein.<br />

Definition 2.1.1 (Zustand)<br />

Ein Zustand ist eine Funktion, von <strong>der</strong> Menge <strong>der</strong> Bezeichner in die <strong>der</strong> Wahrheitswerte wahr und<br />

falsch, also die semantischen Wahrheitswerte, d.h.<br />

Zustand : Bezeichner → Ziel Wahrheitswert<br />

In <strong>der</strong> Logik wird die Funktion Zustand häufig als Belegung bezeichnet.<br />

Dieser ’Zustand’, d.h. die Funktion kann z.B. über eine Wertetabelle festgelegt werden.<br />

Beispiel 2.1.2<br />

Sei Zustand die durch [a ↦→ wahr, bc ↦→ falsch, mu ↦→ wahr] gegebene Funktion.<br />

Dann bedeutet Zustand(a) die Anwendung <strong>der</strong> Funktion Zustand auf den Bezeichner a:<br />

Zustand(a) = wahr und entsprechend Zustand(bc) = falsch und Zustand(mu) = wahr.<br />

Man beachte, daß Zustand keine totale Funktion ist, da Zustand nicht für alle möglichen Bezeichner<br />

definiert ist; Zustand(Marion) ist bspw. undefiniert. Man mache sich klar, daß auch bei <strong>der</strong> Auswertung<br />

einer Gleichung x + 4 = 9 <strong>der</strong> Wert von x bekannt sein muß, um den Wert <strong>der</strong> Aussage zu ermitteln.<br />

Wir gehen davon aus, daß je<strong>der</strong> Bezeichner in einer Aussage in dem jeweiligen Zustand definiert ist; an<strong>der</strong>enfalls<br />

ist die gesamte Interpretation undefiniert. Dann werden die Definitionsgleichungen über die syntaktische<br />

Struktur <strong>der</strong> Aussagen rekursiv wie folgt definiert:<br />

s (Bezeichner, state) = state(Bezeichner)<br />

s (T, state) = wahr<br />

s (F, state) = falsch<br />

s ((Aussage), state) = s (Aussage, state)<br />

s (¬ Faktor, state) = (nicht s (Faktor, state))<br />

s (Term ∧ Faktor, state) = (s (Term, state) und s (Faktor, state))<br />

s (Ausdruck ∨ Term, state) = (s (Ausdruck, state) o<strong>der</strong> s (Term, state))<br />

s (Imp-Ausdruck ⇒ Ausdruck, state) = (s (Imp-Ausdruck, state) impl s (Ausdruck, state))<br />

s (Aussage ⇔ Imp-Ausdruck, state) = (s (Aussage, state) gleich s (Imp-Ausdruck, state))<br />

Abbildung 2.8: Semantik aussagenlogischer Formeln<br />

Was auf den ersten Blick kompliziert aussieht, ist eigentlich nicht sehr schwierig. ’s (Quell Ausdruck, state)’<br />

bedeutet, daß die Semantik des quellsprachlichen Ausdrucks Quell Ausdruck im Zustand ’state’ definiert wird;<br />

genauer gesagt, daß die Funktion s auf die beiden Argumente Quell Ausdruck und state angewendet wird.<br />

Rechts von dem Gleichheitszeichen steht dann die zielsprachliche Definition für Quell ausdruck. In dieser<br />

Definition kann die Funktion s wie<strong>der</strong> auftreten. Das bedeutet dann, daß an dieser Stelle <strong>der</strong> Parameter auf<br />

seine syntaktische Struktur hin zu prüfen ist und <strong>der</strong> Ausdruck gemäß den Definitionen ersetzt werden muß.<br />

Zu berücksichtigen ist hier, daß auch diese Anwendung <strong>der</strong> Funktion s natürlich wie<strong>der</strong> einen state erfor<strong>der</strong>t.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!