Metody realizacji języków programowania: Różnice pomiędzy wersjami
m Przywrócono przedostatnią wersję, jej autor to Salwicki |
|||
Linia 1: | Linia 1: | ||
== | == Inwokacja == | ||
Wszystkich którzy trafią na poniższą stronę proszę o nadsyłanie uwag, protestów, sugestii etc. Dziękuję. | |||
Jak łatwo widać zderzyły się programy zajęć Podstawy kompilatorów i Metody Realizacji Języków Programowania. | |||
Na prośbę prof. Diksa opracowujemy nowy sylabus. Prosimy o uwagi i sugestie. | |||
== Opis == | == Opis == | ||
Celem | Celem tych zajęć 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. | ||
== Sylabus == | == Sylabus == | ||
'''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, algorytmy syntezy kodu wynikowego i jego optymalizacji. Przedstawione też zostaną wybrane zaawansowane zagadnienia kompilacji: kompilacja języków funkcyjnych, kompilacja języków z wątkami współbieżnymi i procesami rozproszonymi, obsługa sygnałów sytuacji wyjątkowych. | |||
'''Wymagania wstępne''': | |||
* Programowanie obiektowe | * Programowanie obiektowe | ||
* Języki, automaty i obliczenia | * Języki, automaty i obliczenia | ||
'''Sylabus''': | |||
TODO | |||
Zob. lista tematów wykładów | |||
'''Literatura''': | |||
* A. Aho, R. Sethi, J. Ullman. Kompilatory. WNT, 2001. | * A. Aho, R. Sethi, J. Ullman. Kompilatory. WNT, 2001. | ||
* W. Waite, G. Goos, Konstrukcja kompilatorów, WNT, 1989 | * W. Waite, G. Goos, Konstrukcja kompilatorów, WNT, 1989 | ||
* D. Gries Konstrukcja translatorów dla maszyn cyfrowych ,WNT, 1984 | |||
* D. Gries Konstrukcja translatorów dla maszyn cyfrowych ,WNT, 1984 | |||
* Internet | |||
---- | |||
== MRJP wprowadza definicje == | |||
analiza kodu źródłowego | |||
analiza leksykalna | |||
analiza składniowa | |||
analiza poprawności typów (statyczna analiza semantyczna) | |||
synteza | |||
generowanie kodu pośredniego | |||
optymalizacja kodu | |||
generowanie kodu wynikowego | |||
środowisko czasu wykonania (maszyna wirtualna) | |||
zarządzanie pamięcią | |||
odśmiecanie | |||
== Moduły == | == Moduły == | ||
Linia 53: | Linia 92: | ||
# [[MRJP Wykład 12| Kompilacja języków programowania funkcyjnego ]] ([[MRJP Ćwiczenia 12|Ćwiczenia]]) | # [[MRJP Wykład 12| Kompilacja języków programowania funkcyjnego ]] ([[MRJP Ćwiczenia 12|Ćwiczenia]]) | ||
# [[MRJP Wykład 13| Realizacja obiektów aktywnych (wątków, procesów) w jezyku z procesami współbieżnymi i rozproszonymi]] ([[MRJP Ćwiczenia 13|Ćwiczenia]]) | # [[MRJP Wykład 13| Realizacja obiektów aktywnych (wątków, procesów) w jezyku z procesami współbieżnymi i rozproszonymi]] ([[MRJP Ćwiczenia 13|Ćwiczenia]]) | ||
* [[MRJP Przykładowy zestaw zadań egzaminacyjnych]] |
Wersja z 07:45, 14 lip 2006
Inwokacja
Wszystkich którzy trafią na poniższą stronę proszę o nadsyłanie uwag, protestów, sugestii etc. Dziękuję.
Jak łatwo widać zderzyły się programy zajęć Podstawy kompilatorów i Metody Realizacji Języków Programowania.
Na prośbę prof. Diksa opracowujemy nowy sylabus. Prosimy o uwagi i sugestie.
Opis
Celem tych zajęć 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.
Sylabus
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, algorytmy syntezy kodu wynikowego i jego optymalizacji. Przedstawione też zostaną wybrane zaawansowane zagadnienia kompilacji: kompilacja języków funkcyjnych, kompilacja języków z wątkami współbieżnymi i procesami rozproszonymi, obsługa sygnałów sytuacji wyjątkowych.
Wymagania wstępne:
- Programowanie obiektowe
- Języki, automaty i obliczenia
Sylabus:
TODO Zob. lista tematów wykładów
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
MRJP wprowadza definicje
analiza kodu źródłowego
analiza leksykalna
analiza składniowa
analiza poprawności typów (statyczna analiza semantyczna)
synteza
generowanie kodu pośredniego
optymalizacja kodu
generowanie kodu wynikowego
środowisko czasu wykonania (maszyna wirtualna)
zarządzanie pamięcią
odśmiecanie
Moduły
- Wstęp (Ćwiczenia)
- Tablica symboli (Ćwiczenia)
- Statyczna analiza semantyczna (Ćwiczenia)
- Maszyna wirtualna I (Ćwiczenia)
- Maszyna wirtualna II (Ćwiczenia)
- Generowanie kodu pośredniego (Ćwiczenia)
- Sprowadzanie kodu do postaci SSA (Ćwiczenia)
- Optymalizacja kodu pośredniego w postaci SSA (Ćwiczenia)
- Zarządzanie pamięcią. Odśmiecanie (Ćwiczenia)
- Realizacja obsługi sygnałów/wyjątków (Ćwiczenia)
- Optymalizacja II (Ćwiczenia)
- Kompilacja języków programowania funkcyjnego (Ćwiczenia)
- Realizacja obiektów aktywnych (wątków, procesów) w jezyku z procesami współbieżnymi i rozproszonymi (Ćwiczenia)