Metody realizacji języków programowania
Autor sylabusa
prof. dr hab. Andrzej Salwicki salwicki@mimuw.edu.pl
Nazwa zajęć:
Metody Realizacji Języków Programowania
Typ zajęć:
wykład (30 godz.) + ćwiczenia (30 godz.)
Opis:
Celem wykładu jest przedstawienie najważniejszych algorytmów i struktur danych służących kompilacji i wykonywaniu skompilowanych programów. Omówione zostaną: maszyna wirtualna czyli środowisko wykonywania programów, tablica symboli, sposoby analizy składniowej: parsery LL(1) i LR(1), algorytmy syntezy kodu wynikowego.
Wymagania wstępne:
Programowanie obiektowe Języki, automaty i obliczenia
Sylabus:
Kompilator i maszyna wirtualna z lotu ptaka Analiza leksykalna. Analiza składniowa zstępująca i wstępująca Tablica symboli. Statyczna analiza semantyczna Środowisko czasu wykonania: rekordy aktywacji i obiekty. Kompilacja sterowana składnią. Reguły semantyczne. Kod pośredni. Postać SSA kodu pośredniego Optymalizacja kodu Zarządzanie pamięcią – tworzenie jednostek dynamicznych i odśmiecanie Obsługa systuacji wyjątkowych i zarządzanie wątkami w procesach współbieżnych i rozproszonych
Literatura:
A. Aho, R. Sethi, J. Ullman. Kompilatory. WNT, 2001. W. Waite, G. Goos, Konstrukcja kompilatorów, WNT, 1989 D. Gries Konstrukcja translatorów dla maszyn cyfrowych ,WNT, 1984 Internet