SW wykład 6 - Slajd2: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
(Nie pokazano 2 wersji utworzonych przez 2 użytkowników) | |||
Linia 1: | Linia 1: | ||
{{Semantyka i weryfikacja programów/Wykład 6}} | |||
[[Grafika:sw0601.png|center|frame]] | [[Grafika:sw0601.png|center|frame]] | ||
Dla opisu tak rozszerzonego języka rozszerzamy dziedziny semantyczne. | |||
Środowiska procedur mogą teraz przypisywać identyfikatorom nie tylko | |||
znaczenia procedur bezparametrowych (lub sygnał błędu), lecz także | |||
znaczenia procedur jednoparametrowych, podzielone w zależności od | |||
sposobu przekazywania parametru (przez zmienną, przez wartość, przez | |||
nazwę). | |||
Dziedzina znaczeń procedur bezparametrowych pozostaje bez zmian (jak | |||
w poprzednim module dla wiązania statycznego). | |||
Pozostałe dziedziny tworzą funkcje, które semantycznym znaczeniom | |||
parametru przypisują funkcję ze składu w skład (z możliwością | |||
sygnalizacji błędu) --- a więc znaczenie procedury | |||
bezparametrowej. Intuicja powinna być tu jasna: gdy procedura otrzyma | |||
i "przetrawi" parametr, to dalej zachowuje się już jak procedura | |||
bezparametrowa. | |||
Dla procedur z parametrem przekazywanym przez zmienną, semantycznym | |||
odpowiednikiem parametru przekazywanym znaczeniu procedury jest | |||
lokacja (intuicyjnie: lokacja zmiennej przekazywanej jako parametr | |||
aktualny). Stąd wynika, że dziedzina znaczeń procedur jednoparametrowych z | |||
paramatrem przekazywanym przez zmienną to funkcje z lokacji w | |||
znaczenia procedur bezparametrowych. | |||
Dla procedur z parametrem przekazywanym przez wartość, semantycznym | |||
odpowiednikiem parametru przekazywanym znaczeniu procedury jest | |||
wartość liczbowa (intuicyjnie: wartość wyrażenia przekazywanego jako | |||
parametr aktualny). Stąd wynika, że dziedzina znaczeń procedur | |||
jednoparametrowych z paramatrem przekazywanym przez wartość to funkcje | |||
z liczb całkowitych w znaczenia procedur bezparametrowych. | |||
Dla procedur z parametrem przekazywanym przez nazwę, semantycznym | |||
odpowiednikiem parametru jest funkcja ze składu w wartości liczbowe | |||
(lub sygnał błędu); intuicyjnie: jest to "ewaluator" --- sposób | |||
wyliczania wartości --- wyrażenia przekazywanego jako parametr | |||
aktualny. Stąd wynika, że dziedzina znaczeń procedur jednoparametrowych z | |||
paramatrem przekazywanym przez nazwę to funkcje z takiej właśnie | |||
dziedziny funkcji w znaczenia procedur bezparametrowych. |
Aktualna wersja na dzień 15:25, 29 wrz 2006
Parametry Semantyka procedur Semantyka procedur, c.d. Semantyka procedur bezparametrowych Przekazywanie przez zmienną Przekazywanie przez wartość Przekazywanie przez nazwę Wejście/wyjście Semantyka wejścia/wyjścia Semantyka wejścia/wyjścia, c.d. Semantyka wejścia/wyjścia, c.d. Programy Problem Nowe podejście Kontynuacje

Dla opisu tak rozszerzonego języka rozszerzamy dziedziny semantyczne.
Środowiska procedur mogą teraz przypisywać identyfikatorom nie tylko znaczenia procedur bezparametrowych (lub sygnał błędu), lecz także znaczenia procedur jednoparametrowych, podzielone w zależności od sposobu przekazywania parametru (przez zmienną, przez wartość, przez nazwę).
Dziedzina znaczeń procedur bezparametrowych pozostaje bez zmian (jak w poprzednim module dla wiązania statycznego).
Pozostałe dziedziny tworzą funkcje, które semantycznym znaczeniom parametru przypisują funkcję ze składu w skład (z możliwością sygnalizacji błędu) --- a więc znaczenie procedury bezparametrowej. Intuicja powinna być tu jasna: gdy procedura otrzyma i "przetrawi" parametr, to dalej zachowuje się już jak procedura bezparametrowa.
Dla procedur z parametrem przekazywanym przez zmienną, semantycznym odpowiednikiem parametru przekazywanym znaczeniu procedury jest lokacja (intuicyjnie: lokacja zmiennej przekazywanej jako parametr aktualny). Stąd wynika, że dziedzina znaczeń procedur jednoparametrowych z paramatrem przekazywanym przez zmienną to funkcje z lokacji w znaczenia procedur bezparametrowych.
Dla procedur z parametrem przekazywanym przez wartość, semantycznym odpowiednikiem parametru przekazywanym znaczeniu procedury jest wartość liczbowa (intuicyjnie: wartość wyrażenia przekazywanego jako parametr aktualny). Stąd wynika, że dziedzina znaczeń procedur jednoparametrowych z paramatrem przekazywanym przez wartość to funkcje z liczb całkowitych w znaczenia procedur bezparametrowych.
Dla procedur z parametrem przekazywanym przez nazwę, semantycznym odpowiednikiem parametru jest funkcja ze składu w wartości liczbowe (lub sygnał błędu); intuicyjnie: jest to "ewaluator" --- sposób wyliczania wartości --- wyrażenia przekazywanego jako parametr aktualny. Stąd wynika, że dziedzina znaczeń procedur jednoparametrowych z paramatrem przekazywanym przez nazwę to funkcje z takiej właśnie dziedziny funkcji w znaczenia procedur bezparametrowych.