SW wykład 4 - Slajd3: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
(Nie pokazano 3 wersji utworzonych przez 2 użytkowników) | |||
Linia 1: | Linia 1: | ||
{{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.). |
Aktualna wersja na dzień 12:22, 29 wrz 2006
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.).