SW wykład 2 - Slajd3: Różnice pomiędzy wersjami
mNie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 6: | Linia 6: | ||
podanie kolejnych konstrukcji językowych, które budują kolejne frazy | podanie kolejnych konstrukcji językowych, które budują kolejne frazy | ||
programu i w końcu całe programy ze swoich bezpośrednich składowych, | programu i w końcu całe programy ze swoich bezpośrednich składowych, | ||
uprzednio zbudowanych | 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 | gramatyce bezkontekstowej. Podstawowym celem analizy składniowej jest | ||
właśnie zbudowanie takiego drzewa wyprowadzenia w gramatyce składni | właśnie zbudowanie takiego drzewa wyprowadzenia w gramatyce składni |
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.