Metody realizacji języków programowania: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Poprawki edytorskie |
|||
(Nie pokazano 46 wersji utworzonych przez 5 użytkowników) | |||
Linia 1: | Linia 1: | ||
== Forma zajęć == | == Forma zajęć == | ||
Wykład (30 godzin) + | Wykład (30 godzin) + laboratorium (30 godzin) | ||
== 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, algorytmy syntezy kodu wynikowego oraz niektóre zaawansowane zagadnienia kompilacji. | ||
== Sylabus == | == Sylabus == | ||
=== Autor === | === Autor === | ||
* Andrzej Salwicki | * Andrzej Salwicki | ||
=== Wymagania wstępne === | === Wymagania wstępne === | ||
* Programowanie obiektowe | * Programowanie obiektowe | ||
* Języki, automaty i obliczenia | * Języki, automaty i obliczenia | ||
* Podstawy kompilatorów | |||
=== Zawartość === | === Zawartość === | ||
* | * Tablica symboli — dla języka typu Java tablica symboli to poważne wyzwanie. | ||
* Statyczna analiza semantyczna. | |||
* | * Maszyna wirtualna. | ||
* Generowanie kodu pośredniego. Sprowadzanie go do postaci SSA. | |||
* | * Optymalizacja kodu pośredniego. | ||
* | * Zarządzanie pamięcią . Odśmiecanie. | ||
* | * Realizacja obsługi wyjątków/ sygnałów. | ||
* | * Kompilacja języków programowania funkcyjnego. | ||
* | * Realizacja obiektów aktywnych (wątków, procesów) w języku z procesami współbieżnymi i rozproszonymi. | ||
* | |||
* | |||
=== Literatura === | === Literatura === | ||
* A. Aho, R. Sethi, J. Ullman | * A. Aho, R. Sethi, J. Ullman, ''Kompilatory'', Wydawnictwa Naukowo-Techniczne, Warszawa 2001. | ||
* W. Waite, G. Goos, Konstrukcja kompilatorów, | * W. Waite, G. Goos, ''Konstrukcja kompilatorów'', Wydawnictwa Naukowo-Techniczne, Warszawa 1989 | ||
* D. Gries Konstrukcja translatorów dla maszyn cyfrowych , | * D. Gries, ''Konstrukcja translatorów dla maszyn cyfrowych'', Wydawnictwa Naukowo-Techniczne, Warszawa 1984 | ||
== Moduły == | |||
Poniższe materiały przygotowuje dla Ciebie zespól w składzie: Marcin Benke, Marek Biskup, Paweł Górecki, Marcin Kowalczyk, Andrzej Salwicki, Łukasz Sznuk, Marek Warpechowski, Artur Zaroda. | |||
# [[Metody realizacji języków programowania/MRJP Wykład 1| Wstęp]] | |||
# [[Metody realizacji języków programowania/MRJP Wykład 2| Tablica symboli]] ([[Metody realizacji języków programowania/MRJP Ćwiczenia 2|Ćwiczenia]]) | |||
# [[Metody realizacji języków programowania/MRJP Wykład 3| Statyczna analiza semantyczna ]] ([[Metody realizacji języków programowania/MRJP Ćwiczenia 3|Ćwiczenia]]) | |||
# [[Metody realizacji języków programowania/MRJP Wykład 4| Maszyna wirtualna I]] ([[Metody realizacji języków programowania/MRJP Ćwiczenia 4|Ćwiczenia]]) | |||
# [[Metody realizacji języków programowania/MRJP Wykład 5| Maszyna wirtualna II ]] ([[Metody realizacji języków programowania/MRJP Ćwiczenia 5|Ćwiczenia]]) | |||
# [[Metody realizacji języków programowania/MRJP Wykład 6| Generowanie kodu pośredniego]] ([[Metody realizacji języków programowania/MRJP Ćwiczenia 6|Ćwiczenia]]) | |||
# [[Metody realizacji języków programowania/MRJP Wykład 7| Sprowadzanie kodu do postaci SSA]] ([[Metody realizacji języków programowania/MRJP Ćwiczenia 7|Ćwiczenia]]) | |||
# [[Metody realizacji języków programowania/MRJP Wykład 8| Optymalizacja kodu pośredniego w postaci SSA]] ([[Metody realizacji języków programowania/MRJP Ćwiczenia 8|Ćwiczenia]]) | |||
# [[Metody realizacji języków programowania/MRJP Wykład 9| Zarządzanie pamięcią. Odśmiecanie ]] ([[Metody realizacji języków programowania/MRJP Ćwiczenia 9|Ćwiczenia]]) | |||
# [[Metody realizacji języków programowania/MRJP Wykład 10| Realizacja obsługi sygnałów/wyjątków]] | |||
# [[Metody realizacji języków programowania/MRJP Wykład 11|Optymalizacja II]] ([[Metody realizacji języków programowania/MRJP Ćwiczenia 11|Ćwiczenia]]) | |||
# [[Metody realizacji języków programowania/MRJP Wykład 12| Kompilacja języków programowania funkcyjnego ]] ([[Metody realizacji języków programowania/MRJP Ćwiczenia 12|Ćwiczenia]]) | |||
# [[Metody realizacji języków programowania/MRJP Wykład 13| Realizacja obiektów aktywnych (wątków, procesów) w jezyku z procesami współbieżnymi i rozproszonymi]] ([[Metody realizacji języków programowania/MRJP Ćwiczenia 13|Ćwiczenia]]) | |||
# [[Metody realizacji języków programowania/MRJP Laboratorium| Laboratorium]] | |||
* [[ Metody realizacji języków programowania/MRJP Przykładowy zestaw zadań egzaminacyjnych]] | |||
Aktualna wersja na dzień 08:27, 20 paź 2006
Forma zajęć
Wykład (30 godzin) + laboratorium (30 godzin)
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, algorytmy syntezy kodu wynikowego oraz niektóre zaawansowane zagadnienia kompilacji.
Sylabus
Autor
- Andrzej Salwicki
Wymagania wstępne
- Programowanie obiektowe
- Języki, automaty i obliczenia
- Podstawy kompilatorów
Zawartość
- Tablica symboli — dla języka typu Java tablica symboli to poważne wyzwanie.
- Statyczna analiza semantyczna.
- Maszyna wirtualna.
- Generowanie kodu pośredniego. Sprowadzanie go do postaci SSA.
- Optymalizacja kodu pośredniego.
- Zarządzanie pamięcią . Odśmiecanie.
- Realizacja obsługi wyjątków/ sygnałów.
- Kompilacja języków programowania funkcyjnego.
- Realizacja obiektów aktywnych (wątków, procesów) w języku z procesami współbieżnymi i rozproszonymi.
Literatura
- A. Aho, R. Sethi, J. Ullman, Kompilatory, Wydawnictwa Naukowo-Techniczne, Warszawa 2001.
- W. Waite, G. Goos, Konstrukcja kompilatorów, Wydawnictwa Naukowo-Techniczne, Warszawa 1989
- D. Gries, Konstrukcja translatorów dla maszyn cyfrowych, Wydawnictwa Naukowo-Techniczne, Warszawa 1984
Moduły
Poniższe materiały przygotowuje dla Ciebie zespól w składzie: Marcin Benke, Marek Biskup, Paweł Górecki, Marcin Kowalczyk, Andrzej Salwicki, Łukasz Sznuk, Marek Warpechowski, Artur Zaroda.
- Wstęp
- 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
- 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)
- Laboratorium