Techniki Kompilacji, zarys programu
- Struktura kompilatora, przykład, kompilatory a interpretery.
- Analiza składniowa 1
- gramatyki bezkontekstowe
- abstrakcyjne drzewo rozbioru
- metody LL
- metody poprzedzeniowe
- Analiza leksykalna, automaty skończone i generatory
analizatorów leksykalnych.
- Analiza składniowa 2
- metody LR (LALR, GLR)
- generatory analizatorów syntaktycznych
- Tablice symboli i sprawdzanie zgodności typów
- Generowanie kodu
- tłumaczenie na inne języki algorytmiczne
- kody pośrednie i maszyny abstrakcyjne
- generowanie kodu maszynowego
- Kompilacja konstrukcji wyższego poziomu
- wyjątki
- wartości funkcyjne (closures)
- wywoływanie metod polimorficznych
- wsparcie odśmiecania (garbage collection)
- Konstrukcje języków programowania utrudniające kompilację,
języki "statyczne" i "dynamiczne"
Wymagania: Metody programowania (albo równoważny)
Porządane: Algorytmy i struktury danych, TPI (chodzi o automaty
skończone, języki i gramatyki)