SW wykład 7 - Slajd5: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Tarlecki (dyskusja | edycje)
Nie podano opisu zmian
Dorota (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 9: Linia 9:
funkcje, które dla każdego środowiska zmiennych określają funkcję z
funkcje, które dla każdego środowiska zmiennych określają funkcję z
kontynuacji dla wyrażeń (arytmetycznych lub logicznych, odpowiednio) w
kontynuacji dla wyrażeń (arytmetycznych lub logicznych, odpowiednio) w
kontynuacje (dla instrukcji): w danym środowisku, wyrażenie określa,
kontynuacje (dla instrukcji): w danym środowisku wyrażenie określa,
jak znając kontynuację, która dla danego wyniku wyrażenia i stanu po
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ć
jego obliczeniu określa końcowy potok wyjściowy całego programu, podać
Linia 16: Linia 16:


Znaczeniami instrukcji są funkcje, które dla każdego środowiska
Znaczeniami instrukcji są funkcje, które dla każdego środowiska
zmiennych i dalej, dla każdego środowiska procedur określą funkcję z
zmiennych oraz dla każdego środowiska procedur określą funkcję z
kontynuacji (dla instrukcji) w kontynuacje (dla instrukcji): w danym
kontynuacji (dla instrukcji) w kontynuacje (dla instrukcji): w danym
środowisku zmiennych i procedur, instrukcja określa, jak znając
środowisku zmiennych i procedur, instrukcja określa, jak znając

Aktualna wersja na dzień 15:47, 29 wrz 2006

<<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.