SW wykład 7 - Slajd4: 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 7}}
{{Semantyka i weryfikacja programów/Wykład 7}}
[[Grafika:sw0703.png|center|frame]]
[[Grafika:sw0703.png|center|frame]]
Rozpoczynamy od definicji dziedzin semantycznych. Wiele z nich
(dziedziny liczb całkowitych, wartości logicznych, lokacji, składów,
środowisk dla zmiennych), pozostają niezmienione.
Dziedzina potoków wejściowych obejmuje skończone (zakończone
znacznikiem <b>eof</b>) i nieskończone ciągi liczb
całkowitych. Dziedzina stanów to dziedzina par złożonych ze składu i
potoku wejściowego. Dziedzina potoków wyjściowych to znów dziedzina
skończonych i nieskończonych ciągów liczb całkowitych, ale tym razem
na końcu takiego (skończonego) ciągu może pojawić się albo znacznik
końca <b>eof</b>, albo sygnał błędu.
Centralną rolę odgrywać będą oczywiście dziedziny
kontynuacji. Kontynuacje podstawowe, dla instrukcji, to funkcje ze
stanów w potoki wyjściowe. Kontynuacje dla wyrażeń arytmetycznych to
funkcje z liczb całkowitych w kontynuacje (dla instrukcji). Podobnie,
kontynuacje dla wyrażeń logicznych to funkcje z wartości logicznych w
kontynuacje (dla instrukcji). Dalej, kontynuacje dla deklaracji
zmiennych to funkcje ze środowisk zmiennych w kontynuacje (dla
instrukcji). I w końcu kontynuacje dla deklaracji procedur to funkcje
ze środowisk procedur w kontynuacje (dla instrukcji).
Inaczej --- choć podobnie, bo zachowana zostanie zgodność ze
znaczeniami instrukcji --- niż dotychczas definiujemy dziedzinę
znaczeń procedur bezparametrowych: są to funkcje z kontynuacji w
kontynuacje (dla instrukcji). Znaczenia procedur z jednym parametrem
przekazywanym przez zmienną to funkcje z lokacji w znaczenia procedur
bezparametrowych. I w końcu, środowiska procedur (jak dotychczas) to
funkcje przyporządkowujące identyfikatorom procedur ich znaczenia (lub
sygnał błędu).

Wersja z 13:07, 28 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 od definicji dziedzin semantycznych. Wiele z nich (dziedziny liczb całkowitych, wartości logicznych, lokacji, składów, środowisk dla zmiennych), pozostają niezmienione.

Dziedzina potoków wejściowych obejmuje skończone (zakończone znacznikiem eof) i nieskończone ciągi liczb całkowitych. Dziedzina stanów to dziedzina par złożonych ze składu i potoku wejściowego. Dziedzina potoków wyjściowych to znów dziedzina skończonych i nieskończonych ciągów liczb całkowitych, ale tym razem na końcu takiego (skończonego) ciągu może pojawić się albo znacznik końca eof, albo sygnał błędu.

Centralną rolę odgrywać będą oczywiście dziedziny kontynuacji. Kontynuacje podstawowe, dla instrukcji, to funkcje ze stanów w potoki wyjściowe. Kontynuacje dla wyrażeń arytmetycznych to funkcje z liczb całkowitych w kontynuacje (dla instrukcji). Podobnie, kontynuacje dla wyrażeń logicznych to funkcje z wartości logicznych w kontynuacje (dla instrukcji). Dalej, kontynuacje dla deklaracji zmiennych to funkcje ze środowisk zmiennych w kontynuacje (dla instrukcji). I w końcu kontynuacje dla deklaracji procedur to funkcje ze środowisk procedur w kontynuacje (dla instrukcji).

Inaczej --- choć podobnie, bo zachowana zostanie zgodność ze znaczeniami instrukcji --- niż dotychczas definiujemy dziedzinę znaczeń procedur bezparametrowych: są to funkcje z kontynuacji w kontynuacje (dla instrukcji). Znaczenia procedur z jednym parametrem przekazywanym przez zmienną to funkcje z lokacji w znaczenia procedur bezparametrowych. I w końcu, środowiska procedur (jak dotychczas) to funkcje przyporządkowujące identyfikatorom procedur ich znaczenia (lub sygnał błędu).