SW wykład 2 - Slajd1
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

Rzeczywiście, zajęcia, które w pełni omawiają problematykę definiowania języków formalnych (zbiorów skończonych słów nad ustalonym alfabetem) to "Języki, automaty i obliczenia".
Najprostsze rozważane języki formalne to języki regularne, definiowane na przykład wyrażeniami regularnymi, czy też gramatykami regularnymi --- z grubsza i bardzo nieformalnie: są to języki generowane przez struktury iteracyjne. Najważniejsze dla naszych zajęć będą gramatyki bezkontekstowe, pozwalające dodatkowo na definiowanie (znów, bardzo z grubsza i nieformalnie) języków zadanych przez dobrze określone struktury nawiasowe. Poszczególne reguły gramatyki języka można utożsamiać z konstrukcjami językowymi (choć oczywiście na ogół niektóre z nich odgrywają tylko pomocniczą rolę).
Nie będziemy tu powtarzać materiału dotyczącego tej tematyki, odwołując się do Państwa intuicji dotyczących syntaktyki języków programowania i do ich formalnego ujęcia, z którym można zapoznać się na zajęciach "Języki, automaty i obliczenia".
Przy okazji, warto wspomnieć o innych zajęciach ("Metody realizacji języków programowania"), gdzie dokładniej omawiane są problemy analizy składniowej i wykorzystanie metod semantyki, także dla interpretacji czy kompilacji programów.