SW wykład 7 - Slajd5

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

<<powrót do strony wykładu

Kontynuacje Kontynuacje wyrażeń i deklaracji Tiny+++ Dziedziny semantyczne Funkcje semantyczne Przykłady klauzul [[SW_wykład_7_-_Slajd7|Przykłady klauzul, c.d.] Instrukcje Bloki Skoki Semantyka skoków Semantyka skoków, c.d. Semantyka skoków, c.d. Semantyka skoków, c.d. Semantyka "standardowa"

Rozpoczynamy teraz definiowanie funkcji semantycznych, przy okazji wprowadzając dziedziny semantyczne znaczeń dla poszczególnych kategorii składniowych języka.

Znaczeniami wyrażeń (arytmetycznych lub logicznych, odpowiednio) są funkcje, które dla każdego środowiska zmiennych określają funkcję z kontynuacji dla wyrażeń (arytmetycznych lub logicznych, odpowiednio) w kontynuacje (dla instrukcji): w danym środowisku wyrażenie określa, jak znając kontynuację, która dla danego wyniku wyrażenia i stanu po jego obliczeniu określa końcowy potok wyjściowy całego programu, podać kontynuację, która ten potok określi już na podstawie stanu sprzed obliczenia tego wyrażenia.

Znaczeniami instrukcji są funkcje, które dla każdego środowiska zmiennych oraz dla każdego środowiska procedur określą funkcję z kontynuacji (dla instrukcji) w kontynuacje (dla instrukcji): w danym środowisku zmiennych i procedur, instrukcja określa, jak znając kontynuację, która dla danego stanu po wykonaniu danej instrukcji określa końcowy potok wyjściowy całego programu, podać kontynuację, która ten potok określi już na podstawie stanu sprzed wykonania danej instrukcji.

Znaczeniami deklaracji zmiennych są funkcje, które dla każdego środowiska zmiennych określają funkcję z kontynuacji dla deklaracji zmiennych w kontynuacje (dla instrukcji): w danym środowisku, ciąg deklaracji zmiennych określa, jak znając kontynuację, która dla danego środowiska zmiennych po elaboracji tych deklaracji i stanu po tej elaboracji określa końcowy potok wyjściowy całego programu, podać kontynuację, która ten potok określi już na podstawie stanu przed elaboracją tego ciągu deklaracji zmiennych.

Podobnie, znaczeniami deklaracji procedur są funkcje, które dla każdego środowiska zmiennych i dalej, dla każdego środowiska procedur określają funkcję z kontynuacji dla deklaracji procedur w kontynuacje (dla instrukcji): w danym środowisku, ciąg deklaracji procedur określa, jak znając kontynuację, która dla danego środowiska procedur po elaboracji tych deklaracji i stanu po tej elaboracji określa końcowy potok wyjściowy całego programu, podać kontynuację, która ten potok określi już na podstawie stanu przed elaboracją tego ciągu deklaracji zmiennych.

W końcu, znaczenia programów są, jak dotychczas, funkcjami z potoków wejściowych w potoki wyjściowe.