Erweiterung : Bedingung



[Erweiterung : Zuweisung] ... [Erweiterung : Schleifen]
Natürlich sind für die Modellierung einer Programmiersprache auch Controlstatements notwendig, speziell die Bedingung und die Schleife. Zunächst soll hier die Bedingung formuliert werden. Zuvor wurde bereits die Definition eines Statements derart abgeändert, daß es eine Funktion von einer Umgebung zu einer Umgebung darstellt.

S: Statement -> Environment -> Environment

Darauf basierend wird die Definition einer Bedingung so gestaltet :

S[['if' E 'then' L1 'else' L2 'fi']](Env) = cond(E[[E]](Env);L[[L1]](Env);L[[L2]](Env))

Hierbei ist cond folgendermaßen definiert :
cond (e,s1,s2)(Env) =
s1(Env) für e(Env) > 0
s2(Env) für e(Env) <= 0
undef sonst

Der hier zuletzt aufgeführte Zweig wird nur dann notwendig, wenn _ ein mögliches Ergebnis von E[[E]] ist. Ist das nicht der Fall, kommt dieser Zweig nie zur Ausführung.


[Zurück] ... [Nach oben] ... [Weiter]