Techniki kompilacji 1 Struktura kompilatora, przyklad, kompilatory a interpretery. 2 Analiza leksykalna, automaty skończone i generatory analizatorów leksykalnych. 3 Analiza skladniowa - gramatyki bezkontekstowe - abstrakcyjne drzewo rozbioru - metody LL - metody poprzedzeniowe - metody LR (LALR, GLR) - generatory analizatorów syntaktycznych 4 Tablice symboli i sprawdzanie zgodności typów 5 Generowanie kodu - tłumaczenie na inne języki algorytmiczne - kody pośrednie i maszyny abstrakcyjne - generowanie kodu maszynowego 6 Kompilacja konstrukcji wyższego poziomu - wyjątki - wartosci funkcyjne (closures) - wywoływanie metod polimorficznych - wsparcie odsmiecania (garbage collection) 7 Konstrukcje języków programowania utrudniające kompilację, języki "statyczne" i "dynamiczne" Wymagania: Metody programowania (albo rownowazny) Porzadane: Algorytmy i struktury danych, TPI (chodzi o automaty skonczone, jezyki i gramatyki)