SW wykład 7 - Slajd4

Z Studia Informatyczne
Wersja z dnia 15:46, 29 wrz 2006 autorstwa Dorota (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

<<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) pozostaje niezmienionych.

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