SW wykład 4 - Slajd3: 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 4}}
{{Semantyka i weryfikacja programów/Wykład 4}}
[[Grafika:sw0402.png|center|frame]]
[[Grafika:sw0402.png|center|frame]]
Mając już zdefiniowane dziedziny syntaktyczne i semantyczne dla każdej
kategorii składniowej języka, definiujemy następnie funkcje
semantyczne: funkcje przypisujące elementom dziedziny syntaktycznej
danej kategorii składniowej elementy odpowiadającej jej dziedziny
semantycznej.
Zadając taką semantykę, definiujemy jednocześnie pewną "semantyczną"
równoważność programów i innych fraz języka. Równoważność ta to po
prostu jądro funkcji semantycznej: dwie frazy są równoważne, gdy
funkcja semantyczna przypisuje im to samo znaczenie.
Z formalnego punktu widzenia, im więcej fraz "zlepia" funkcja
semantyczna, tym bardziej jest ona "abstrakcyjna" (odrzuca więcej
informacji o frazach języka). Zatem, najbardziej abstrakcyjna
semantyka jest zadana przez funkcje semantyczne odwzorowujące
wszystkie frazy danej kategorii w ten sam element (można oczywiście
wówczas przyjąć, że wszystkie dziedziny semantyczne są singletonami).
Najbardziej zaś "konkretna" (najmniej abstrakcyjna) jest semantyka,
której funkcje semantyczne przypisują każdej frazie języka inne
znaczenie (można wówczas przyjąć, że dziedziny semantyczne to po
prostu dziedziny syntaktyczne języka, a funkcje semantyczne przypisują
każdej frazie ją samą jako znacznie języka). Takie semantyki są
oczywiście po prostu mało interesujące i nic o języku nie
mówią. Jeszcze raz pokazuje to zatem, że trudno mówić o najlepszej
semantyce w jakimś absolutnym sensie (najbardziej abstrakcyjnej,
najbardziej konkretnej, itp.).

Wersja z 10:28, 2 wrz 2006

<<powrót do strony wykładu

Semantyka denotacyjna Dziedziny składniowe i semantyczne Funkcje semantyczne Kompozycjonalność Tiny. Semantyka denotacyjna Tiny. Semantyka denotacyjna, c.d. Pojęcia pomocnicze Pojęcia pomocnicze, c.d. |Tiny. Semantyka denotacyjna, c.d. Tiny. Semantyka denotacyjna, c.d. Problem z while Konstrukcje stałopunktowe Konstrukcje stałopunktowe, c.d. Konstrukcje stałopunktowe, c.d. Przykład Przykład, c.d. Dowód Dowód Zgodność semantyki denotacyjnej

Mając już zdefiniowane dziedziny syntaktyczne i semantyczne dla każdej kategorii składniowej języka, definiujemy następnie funkcje semantyczne: funkcje przypisujące elementom dziedziny syntaktycznej danej kategorii składniowej elementy odpowiadającej jej dziedziny semantycznej.

Zadając taką semantykę, definiujemy jednocześnie pewną "semantyczną" równoważność programów i innych fraz języka. Równoważność ta to po prostu jądro funkcji semantycznej: dwie frazy są równoważne, gdy funkcja semantyczna przypisuje im to samo znaczenie.

Z formalnego punktu widzenia, im więcej fraz "zlepia" funkcja semantyczna, tym bardziej jest ona "abstrakcyjna" (odrzuca więcej informacji o frazach języka). Zatem, najbardziej abstrakcyjna semantyka jest zadana przez funkcje semantyczne odwzorowujące wszystkie frazy danej kategorii w ten sam element (można oczywiście wówczas przyjąć, że wszystkie dziedziny semantyczne są singletonami). Najbardziej zaś "konkretna" (najmniej abstrakcyjna) jest semantyka, której funkcje semantyczne przypisują każdej frazie języka inne znaczenie (można wówczas przyjąć, że dziedziny semantyczne to po prostu dziedziny syntaktyczne języka, a funkcje semantyczne przypisują każdej frazie ją samą jako znacznie języka). Takie semantyki są oczywiście po prostu mało interesujące i nic o języku nie mówią. Jeszcze raz pokazuje to zatem, że trudno mówić o najlepszej semantyce w jakimś absolutnym sensie (najbardziej abstrakcyjnej, najbardziej konkretnej, itp.).