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