SW wykład 7 - Slajd6

Z Studia Informatyczne
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"

Rozpocznijmy od jedynej klauzuli semantycznej dla programów. Znaczeniem programu jest funkcja, która zadanemu potokowi wejściowemu przyporządkowuje odpowiedź daną przez znaczenie instrukcji tworzącej ten program zaaplikowane do "pustego" środowiska początkowego zadeklarowanych zmiennych, "pustego" środowiska zadeklarowanych procedur, kontynuacji końcowej, która każdemu stanowi przyporządkowuje pusty potok wyjściowy zakończony znacznikiem eof, i stanu złożonego z "pustego" składu początkowego i zadanego jako argument potoku wejściowego. W pewnym sensie, mając dany taki opis semantyki całego programu, dobrze ujmujący wprowadzane powyżej intuicje, pozostałe klauzule semantyczne dla wykorzystywanych w programach fraz składniowych języka "piszą się same" pod dyktando naszych intuicji o budujących je konstrukcjach językowych.

Dla deklaracji podajemy tylko przykładowe klauzule semantyczne. W gruncie rzeczy nie różnią się one zbytnio od tych podawanych przy semantyce bezpośredniej. Pozostawiamy Państwu ich analizę i porównanie z podawanymi na poprzednim wykładzie. Dodajmy jednak, że i te klauzule można przepisać do bardziej "kontynuacyjnej" (choć też pewno nieco mniej czytelnej) postaci.