SW wykład 6 - Slajd15: Różnice pomiędzy wersjami
Nie podano opisu zmian |
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
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.