• Keine Ergebnisse gefunden

1.1 Operationale Semantik von Ausdrücken

N/A
N/A
Protected

Academic year: 2022

Aktie "1.1 Operationale Semantik von Ausdrücken"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Serge Autexier Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe 18

1. Übungsblatt

Ausgabe: 12.04.18 Abgabe: 12.04.18

1.1 Operationale Semantik von Ausdrücken

In der Vorlesung wurde die operationale Semantik von C0 eingeführt. Geben Sie die Ableitung der Auswer- tung folgender Ausdrücke in der operationalen Semantik unter einem gegeben Zustandσan:

• 5∗ (3 + x) <= 49 || 6 <= xmitσ(x) =7

• y/x && x != 0mitσ(x) =0 undσ(y) =6

• x != 0 && y/xmitσ(x) =0 undσ(y) =6

1.2 Operationale Semantik von Programmen

In der Vorlesung wurde die operationale Semantik von C0 eingeführt. Geben Sie die Ableitung der Auswer- tung folgender C0-Programme in der operationalen Semantik unter einem gegeben Zustandσan:

// GGT(A,B) while ( b ! = 0 ) {

i f ( a <= b ) b = b − a ; e l s e a = a − b ; }

mitσ(a) =6 undσ(b) =9.

— Seite 1 von 2 —

(2)

1. Übungsblatt Korrekte Software: Grundlagen und Methoden, SoSe 18

Die folgendeZusatzaufgabemuss nicht mit dem Übungsblatt abgegeben werden, und kann insbesondere zur Prüfungsvorbereitung dienen.

1.3 Spracherweiterungen Zusatzaufgabe

Wir betrachten die Syntax für C0 aus der Vorlesung:

Aexp a ::=Z|Loc|a1+a2|a1−a2|a1∗a2|a1/a2

Bexp b ::=0|1|a1==a2|a1!=a2|a1<=a2|!b|b1&&b2|b1||b2

Exp e :=Aexp|Bexp

Stmt c ::=Loc=Exp| if(b)c1 else c2| while(b)c|c1;c2| { }

Wir wollen C0 um den ternären BedingungsoperatorB?E1 : E2, sowohl für arithmetische als auch boolsche Ausdrücke erweitern.

• Erweitern Sie die Syntax für arithmetische Ausdrücke um den ternären Bedingungsoperator.

• Definieren Sie entsprechend die operationalen Semantik für den Bedingungsoperator durch Angabe der geeignete Regeln. Achten Sie auf Vollständigkeit und Striktheit — wann ist der gesamte Ausdruck un- definiert?

• Erweitern Sie die Syntax auch für boolesche Ausdrücke um den ternären Bedingungsoperator und defi- nieren Sie die operationale Semantik entsprechend.

— Seite 2 von 2 —

Referenzen

ÄHNLICHE DOKUMENTE

I Die (operationale) Semantik einer imperativen Sprache wie C0 ist ein Zustandsübergang: das System hat einen impliziten Zustand, der durch Zuweisung von Werten an Adressen

Für die While-Schleife Rückgriff auf Definition des Fixpunkts und Induktion über die Teilmengen Γ i (∅)

Geben Sie die Ableitung der Auswer- tung folgender Ausdrücke in der operationalen Semantik unter einem gegeben Zustand s an. Nutzen Sie hierzu die lineare Schreibweise wie sie in

I Die (operationale) Semantik einer imperativen Sprache wie C0 ist ein Zustandsübergang: das System hat einen impliziten Zustand, der durch Zuweisung von Werten an Adressen

Für die While-Schleife Rückgriff auf Definition des Fixpunkts und Induktion über die Teilmengen Γ i (∅)

Serge Autexier Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe

I Die (operationale) Semantik einer imperativen Sprache wie C0 ist ein Zustandsübergang: das System hat einen impliziten Zustand, der durch Zuweisung von Werten an Adressen

Zu zeigen ist, dass sowohl w also auch if (b) {c; w} else { } zu dem selben Programmzustand auswerten oder beide zu