SW wykład 2 - Slajd3: Różnice pomiędzy wersjami
Nie podano opisu zmian |
mNie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
{{Szablon:Semantyka i weryfikacja programów/Wykład 2}} | {{Szablon:Semantyka i weryfikacja programów/Wykład 2}} | ||
[[Grafika:sw0202.png|frame|center|]] | [[Grafika:sw0202.png|frame|center|]] | ||
Właśnie strukturę fraz programu określa składnia | Właśnie strukturę fraz programu określa składnia | ||
abstrakcyjna. Rozumieć ją należy jako opis struktury programu przez | abstrakcyjna. Rozumieć ją należy jako opis struktury programu przez |
Wersja z 11:08, 22 sie 2006
Składnia Składnia konkretna Składnia abstrakcyjna Przyjmowane założenia Przykład wiodący Kategorie składniowe Kategorie składniowe, c.d. Uwagi Indukcja strukturalna Definicje indukcyjne Kategorie semantyczne Wartościowanie zmiennych Semantyka wyrażeń Semantyka wyrażeń logicznych Semantyka instrukcji Prosty fakt Dowód Przezroczystość odwołań Semantyka operacyjna Obliczenia Semantyka operacyjna Tiny Własności Własności, c.d. Warianty definicji

Właśnie strukturę fraz programu określa składnia abstrakcyjna. Rozumieć ją należy jako opis struktury programu przez podanie kolejnych konstrukcji językowych, które budują kolejne frazy programu i w końcu całe programy ze swoich bezpośrednich składowych, uprzednio zbudowanych z podobny sposób. Najlepiej definiuje tę strukturą drzewo rozbioru (wyprowadzenia) programu w jego zadanej gramatyce bezkontekstowej. Podstawowym celem analizy składniowej jest właśnie zbudowanie takiego drzewa wyprowadzenia w gramatyce składni konkretnej języka dla zadanego słowa nad przyjętym alfabetem --- o ile jest to możliwe. Gdy nie jest to możliwe, zadane słowo nie należy do języka, nie stanowi zatem programu w rozważanym języku programowania. Wtedy zadaniem analizy składniowej jest możliwie najbardziej precyzyjne wskazanie "błędu syntaktycznego" i możliwości jego poprawienia.