FI:PA008 Překladače - Informace o předmětu
PA008 Překladače
Fakulta informatikyjaro 2025
- Rozsah
- 3/0/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: z.
Vyučováno kontaktně - Vyučující
- prof. RNDr. Mojmír Křetínský, CSc. (přednášející)
- Garance
- prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: prof. RNDr. Mojmír Křetínský, CSc.
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky - Předpoklady
- Předpokládá se znalost odpovídající rozsahu kursu IB005 a metod syntaktické analýzy LL, LR odpovídající 1.třetině kursu IA006.
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- předmět má 30 mateřských oborů, zobrazit
- Cíle předmětu
- Na konci tohoto kurzu bude student schopen porozumět a vysvětlit principy, metody a techniky používané při návrhu a implementaci kompilátorů programovacích jazyků a jim příbuzných systémů založených na analýze vstupního textu a syntéze odpovídajího výstupu. Studenti jsou schopni používat prezentované myšlenky a postupy i v řadě dalších oblastí informatiky.
- Výstupy z učení
- Student bude po absolvování předmětu schopen:
1. Specifikovat a analyzovat lexikální, syntaktické a sémantické rysy překládaného jazyka a separovat je do fází lexikální, syntaktické a sémantické analýzy kompilátoru.
2. Implementovat lexikální, syntaktický a sémantický amnalyzátor jak bez použití SW nástroje, tak i s jeho pomocí.
3. Napsat generátor mezikódu a generátor kódu. Popsat techniky optimalizací mezikódu. - Osnova
- Analýza požadavků a cílů překladu, struktura kompilátoru.
- Úkoly a struktura lexikálního analyzátoru, rozhraní.
- Syntaktická analýza. Implementace a rozhraní.
- Překladové a atributové gramatiky(AG); popis sémantiky pomocí AG.
- Sémantická analýza. Úkoly a implementace. Analýza jmen a rozsahů, typová analýza.
- Organizace a přidělování paměti; zásobník, halda.
- Jednoprůchodový versus víceprůchodový kompilátor. Formy mezikódu a jeho generování.
- Techniky generování kódu.
- Zotavení z chyb.
- Lokální optimalizace, analýzy toků a globální optimalizace.
- Systémy a nástroje pro psaní kompilátorů.
- Literatura
- AHO, Alfred V. Compilers : principles, techniques, & tools. 2nd ed. Boston: Pearson/Addison Wesley, 2007, xxiv, 1009. ISBN 0321486811. info
- AHO, Alfred V., Ravi SETHI a Jeffrey D. ULLMAN. Compilers, principles, techniques, and tools. Reading: Addison-Wesley Publishing Company, 1987, x, 796 s. ISBN 0-201-10088-6. info
- APPEL, Andrew W. Modern compiler implementation in Java. Cambridge: Cambridge University Press, 1998, x, 548. ISBN 0521583888. info
- COOPER, Keith D. a Linda TORCZON. Engineering a compiler. Second Edition.San Francisco: Morgan Kaufmann Publishers, 2012. ISBN 978-0-12-088478-0
- COOPER, Keith D. a Linda TORCZON. Engineering a compiler. San Francisco: Morgan Kaufmann Publishers, 2004, xxx, 801. ISBN 155860698X. info
- GRUNE, Dick. Modern compiler design. Chichester: John Wiley & Sons, 2000, xviii, 736. ISBN 0471976970. info
- Výukové metody
- Přednášky, domácí cvičení, samostudium, diskuse.
- Metody hodnocení
- Závěrečná písemná zkouška bez pomocných materiálů.
- Navazující předměty
- Informace učitele
- http://www.fi.muni.cz/usr/kretinsky/
- Další komentáře
- Předmět je vyučován každoročně.
Výuka probíhá každý týden.
- Statistika zápisu (nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2025/PA008