SW wykład 7 - Slajd11: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mengel (dyskusja | edycje)
Nie podano opisu zmian
 
Tarlecki (dyskusja | edycje)
Nie podano opisu zmian
 
(Nie pokazano 2 wersji utworzonych przez 2 użytkowników)
Linia 1: Linia 1:
[[Grafika:sw07010.png|center|frame]]
{{Semantyka i weryfikacja programów/Wykład 7}}
[[Grafika:sw0710.png|center|frame]]
 
Na kilku kolejnych slajdach naszkicujemy, jak mógłby wyglądać
kontynuacyjny opis semantyki języka TINY rozszerzonego o instrukcje
etykietowane i skoki (wprowadzone do składni języka na poprzednim
slajdzie).
 
Zaczynamy od wprowadzenia kolejnego środowiska, przypisującego
etykietom kontynuacje (lub sygnał błędu). To odpowiada oczywistej
dość decyzji, że informacja niezbędna do opisu semantyki skoku to po
prostu informacja o kontynuacji od etykiety (do której skaczemy).
 
Przy okazji uwaga: namnożyło nam się tu już sporo środowisk:
środowiska zmiennych, procedur, teraz etykiet. W opisie języka TINY
traktujemy je rozłącznie, przekazując jako osobne argumenty dla
semantyki odpowiednich fraz języka. W praktyce opisów denotacyjnych,
dla bardziej złożonych języków, warto niekiedy "zsumować" te wszystkie
środowiska w jedno środowisko dla wszelkich deklarowanych (jawnie lub
niejawnie) obiektów, rozróżnianych na przykład przez semantyczną
wartość przypisywaną im w takim "heterogenicznym" środowisku.
 
Wprowadzone środowiska etykiet dodajemy jako dodatkowy parameter dla
funkcji semantycznych dla instrukcji i deklaracji procedur (pozostałe
funkcje semantyczne, opisujące znaczenia kategorii składniowych
języka, które nie wykorzystują etykiet, tego środowiska nie
potrzebują).
 
Nie będziemy tu powtarzać klauzul semantycznych dla dotychczasowych
konstrukcji budujących instrukcje i deklaracje --- w gruncie rzeczy
pozostają one niezmienione, przekazując jedynie dodane środowisko
etykiet do swoich bezpośrednich składowych. Oczywistej modyfikacji
wymaga też klauzula semantyczna dla programów, gdzie znaczenie
tworzącej program instrukcji wykorzystujemy podając dodatkowo "puste"
środowisko etykiet.

Aktualna wersja na dzień 13:10, 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"

Na kilku kolejnych slajdach naszkicujemy, jak mógłby wyglądać kontynuacyjny opis semantyki języka TINY rozszerzonego o instrukcje etykietowane i skoki (wprowadzone do składni języka na poprzednim slajdzie).

Zaczynamy od wprowadzenia kolejnego środowiska, przypisującego etykietom kontynuacje (lub sygnał błędu). To odpowiada oczywistej dość decyzji, że informacja niezbędna do opisu semantyki skoku to po prostu informacja o kontynuacji od etykiety (do której skaczemy).

Przy okazji uwaga: namnożyło nam się tu już sporo środowisk: środowiska zmiennych, procedur, teraz etykiet. W opisie języka TINY traktujemy je rozłącznie, przekazując jako osobne argumenty dla semantyki odpowiednich fraz języka. W praktyce opisów denotacyjnych, dla bardziej złożonych języków, warto niekiedy "zsumować" te wszystkie środowiska w jedno środowisko dla wszelkich deklarowanych (jawnie lub niejawnie) obiektów, rozróżnianych na przykład przez semantyczną wartość przypisywaną im w takim "heterogenicznym" środowisku.

Wprowadzone środowiska etykiet dodajemy jako dodatkowy parameter dla funkcji semantycznych dla instrukcji i deklaracji procedur (pozostałe funkcje semantyczne, opisujące znaczenia kategorii składniowych języka, które nie wykorzystują etykiet, tego środowiska nie potrzebują).

Nie będziemy tu powtarzać klauzul semantycznych dla dotychczasowych konstrukcji budujących instrukcje i deklaracje --- w gruncie rzeczy pozostają one niezmienione, przekazując jedynie dodane środowisko etykiet do swoich bezpośrednich składowych. Oczywistej modyfikacji wymaga też klauzula semantyczna dla programów, gdzie znaczenie tworzącej program instrukcji wykorzystujemy podając dodatkowo "puste" środowisko etykiet.