SW wykład 7 - Slajd6: Różnice pomiędzy wersjami
Nie podano opisu zmian |
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:sw0705.png|center|frame]] | [[Grafika:sw0705.png|center|frame]] | ||
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 <b>eof</b>, 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. |
Wersja z 13:08, 28 wrz 2006
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.