SW wykład 5 - Slajd5: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 13: | Linia 13: | ||
Jednak taka dziedzina semantyczna dla instrukcji byłaby w pewnym | Jednak taka dziedzina semantyczna dla instrukcji byłaby w pewnym | ||
sensie zbyt bogata. Nieformalnie bowiem | sensie zbyt bogata. Nieformalnie bowiem znaczenie funkcji | ||
potencjalnie mogłoby odwzorowywać dowolną parę środowisko-skład na | potencjalnie mogłoby odwzorowywać dowolną parę środowisko-skład na | ||
dowolną inną (lub tę samą) taką parę. A przecież zupełnie podstawową | dowolną inną (lub tę samą) taką parę. A przecież zupełnie podstawową | ||
Linia 21: | Linia 21: | ||
dziedziny semantycznej dla instrukcji --- i tak właśnie postąpimy. | dziedziny semantycznej dla instrukcji --- i tak właśnie postąpimy. | ||
Zatem | Zatem znaczeniami instrukcji języka TINY będą funkcje, które dowolne | ||
środowisko (środowisko zadeklarowanych zmiennych, w którym wykonywana | środowisko (środowisko zadeklarowanych zmiennych, w którym wykonywana | ||
jest dana instrukcja) odwzorowują w funkcje ze składów w składy (plus | jest dana instrukcja) odwzorowują w funkcje ze składów w składy (plus | ||
sygnał sytuacji błędnej). | sygnał sytuacji błędnej). |
Aktualna wersja na dzień 14:00, 29 wrz 2006
Bloki i deklaracje Lokacje Funkcje semantyczne Konwencje notacyjne Instrukcje Klauzule semantyczne Klauzule semantyczne, c.d. Deklaracje Deklaracje, c.d. Semantyka bloków Procedury Wiązania zmiennych Semantyka Tiny++ Semantyka Tiny++ Rekurencja Semantyka procedur rek. Semantyka procedur rek.

Jak i poprzednio, znacznie ciekawsza od semantyki dla wyrażeń języka TINY jest semantyka jego instrukcji.
Przyjmując, że stanom odpowiadają teraz pary złożone ze środowiska i składu, możliwa oczywista modyfikacja semantyki dla instrukcji mogłaby polegać na prostym zastąpieniu dziedziny stanów przez iloczyn kartezjański dziedzin środowisk i składów. Wówczas znaczeniami instrukcji byłyby funkcje z tej dziedziny w nią samą (z uwzględnieniem możliwości pojawienia się błędów i zapętlenia).
Jednak taka dziedzina semantyczna dla instrukcji byłaby w pewnym sensie zbyt bogata. Nieformalnie bowiem znaczenie funkcji potencjalnie mogłoby odwzorowywać dowolną parę środowisko-skład na dowolną inną (lub tę samą) taką parę. A przecież zupełnie podstawową intuicją jest, że instrukcje języka TINY nie wprowadzają nowych deklaracji, zatem nie modyfikują środowisk, a jedynie modyfikują składy. Tę ważną informację o języku możemy zawrzeć już w definicji dziedziny semantycznej dla instrukcji --- i tak właśnie postąpimy.
Zatem znaczeniami instrukcji języka TINY będą funkcje, które dowolne środowisko (środowisko zadeklarowanych zmiennych, w którym wykonywana jest dana instrukcja) odwzorowują w funkcje ze składów w składy (plus sygnał sytuacji błędnej).