SW wykład 6 - Slajd15: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Arturas (dyskusja | edycje)
Nie podano opisu zmian
Tarlecki (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 1: Linia 1:
{{Semantyka i weryfikacja programów/Wykład 6}}
{{Semantyka i weryfikacja programów/Wykład 6}}
[[Grafika:sw0614.png|center|frame]]
[[Grafika:sw0614.png|center|frame]]
Bardzo schematycznie, zakładając, że program składa się z szeregu
instrukcji składowych wykonywanych sekwencyjnie, dotychczasowa
"bezpośrednia" semantyka opisywała przekształcenia stanów
odpowiadające poszczególnym instrukcjom składowym, a znaczenie całego
programu budowała kolejno te znaczenia składając.
Wprowadzimy nowe pojęcie: kontynuację, oznaczającą przypisanie
bieżącym stanom programu ostatecznego jego wyniku. Teraz znaczenie
całego programu budować będziemy niejako "od końca", poczynając od
oczywistej kontynuacji końcowej, a następnie przesuwając jej "punkt
początkowy" krok po kroku do początku programu. Oznacza to, że
znaczenie poszczególnych składowych określać będziemy jako funkcje
przekształcające kontynuacje prowadzące od stanów bezpośrednio po
danej składowej w kontynuacje prowadzące od stanów bezpośrednio przed
daną składowej. Tak budowaną semantykę określać będziemy mianem
"semantyki kontynuacyjnej".
Modelowaniem tego pomysłu zajmiemy się formalnie w kolejnym wykładzie.

Aktualna wersja na dzień 12:05, 28 wrz 2006

<<powrót do strony wykładu

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

Bardzo schematycznie, zakładając, że program składa się z szeregu instrukcji składowych wykonywanych sekwencyjnie, dotychczasowa "bezpośrednia" semantyka opisywała przekształcenia stanów odpowiadające poszczególnym instrukcjom składowym, a znaczenie całego programu budowała kolejno te znaczenia składając.

Wprowadzimy nowe pojęcie: kontynuację, oznaczającą przypisanie bieżącym stanom programu ostatecznego jego wyniku. Teraz znaczenie całego programu budować będziemy niejako "od końca", poczynając od oczywistej kontynuacji końcowej, a następnie przesuwając jej "punkt początkowy" krok po kroku do początku programu. Oznacza to, że znaczenie poszczególnych składowych określać będziemy jako funkcje przekształcające kontynuacje prowadzące od stanów bezpośrednio po danej składowej w kontynuacje prowadzące od stanów bezpośrednio przed daną składowej. Tak budowaną semantykę określać będziemy mianem "semantyki kontynuacyjnej".

Modelowaniem tego pomysłu zajmiemy się formalnie w kolejnym wykładzie.