FI:PA008 Překladače - Informace o předmětu
PA008 Překladače
Fakulta informatikypodzim 2020
- Rozsah
- 3/0/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: z.
- Vyučující
- prof. RNDr. Mojmír Křetínský, CSc. (přednášející)
Mgr. Libor Caha, PhD. (pomocník) - 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 - Rozvrh
- Čt 10:00–12:50 D3
- 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
- Analýza a zpracování obrazu (program FI, N-VIZ)
- Aplikovaná informatika (program FI, N-AP)
- Bezpečnost informačních technologií (angl.) (program FI, N-IN)
- Bezpečnost informačních technologií (program FI, N-IN)
- Bioinformatika a systémová biologie (program FI, N-UIZD)
- Bioinformatika (program FI, N-AP)
- Computer Games Development (program FI, N-VIZ_A)
- Computer Graphics and Visualisation (program FI, N-VIZ_A)
- Computer Networks and Communications (program FI, N-PSKB_A)
- Cybersecurity Management (program FI, N-RSSS_A)
- Formální analýza počítačových systémů (program FI, N-TEI)
- Grafický design (program FI, N-VIZ)
- Graphic Design (program FI, N-VIZ_A)
- Hardware Systems (program FI, N-PSKB_A)
- Hardwarové systémy (program FI, N-PSKB)
- Image Processing and Analysis (program FI, N-VIZ_A)
- Informační bezpečnost (program FI, N-PSKB)
- Informační systémy (program FI, N-IN)
- Informatika (angl.) (program FI, D-IN4)
- Informatika (program FI, D-IN4)
- Information Security (program FI, N-PSKB_A)
- Kvantové a jiné neklasické výpočetní modely (program FI, N-TEI)
- Paralelní a distribuované systémy (program FI, N-IN)
- Počítačová grafika a vizualizace (program FI, N-VIZ)
- Počítačová grafika (program FI, N-IN)
- Počítačové sítě a komunikace (program FI, N-IN)
- Počítačové sítě a komunikace (program FI, N-PSKB)
- Počítačové systémy a technologie (angl.) (program FI, D-IN4)
- Počítačové systémy a technologie (program FI, D-IN4)
- Počítačové systémy (program FI, N-IN)
- Principy programovacích jazyků (program FI, N-TEI)
- Programovatelné technické struktury (angl.) (program FI, N-IN)
- Programovatelné technické struktury (program FI, N-IN)
- Řízení kyberbezpečnosti (program FI, N-RSSS)
- Řízení vývoje služeb (program FI, N-RSSS)
- Řízení vývoje softwarových systémů (program FI, N-RSSS)
- Services Development Management (program FI, N-RSSS_A)
- Služby - výzkum, řízení a inovace (angl.) (program FI, N-AP)
- Služby - výzkum, řízení a inovace (program FI, N-AP)
- Sociální informatika (program FI, B-AP)
- Software Systems Development Management (program FI, N-RSSS_A)
- Software Systems (program FI, N-PSKB_A)
- Softwarové systémy (program FI, N-PSKB)
- Strojové učení a umělá inteligence (program FI, N-UIZD)
- Teoretická informatika (program FI, N-IN)
- Učitelství výpočetní techniky pro střední školy (program FI, N-SS) (2)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, N-IN)
- Vývoj počítačových her (program FI, N-VIZ)
- Zpracování a analýza rozsáhlých dat (program FI, N-UIZD)
- Zpracování obrazu (program FI, N-AP)
- Zpracování přirozeného jazyka (program FI, N-UIZD)
- 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
- Studijní materiály
Předmět je vyučován každoročně.
- Statistika zápisu (podzim 2020, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2020/PA008