FI:PA037 Projekt z překladačů - Informace o předmětu
PA037 Projekt z překladačů
Fakulta informatikyjaro 2021
- Rozsah
- 1/2/1. 4 kr. (plus ukončení). Ukončení: z.
- Vyučující
- prof. RNDr. Antonín Kučera, Ph.D. (přednášející)
- Garance
- prof. RNDr. Antonín Kučera, Ph.D.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: prof. RNDr. Antonín Kučera, Ph.D.
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky - Předpoklady
- PA008 Překladače
- 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á 52 mateřských oborů, zobrazit
- Cíle předmětu
- Účelem semináře je hlubší seznámení s problematikou návrhu
programovacích jazyků a jejich překladačů. Student by měl získat jasnou
představu o fungování reálných překladačů, o problémech, které jsou spojeny
s jejich implementací a možných přístupech k řešení těchto problémů.
Podmínkou udělení zápočtu je plně funkční implementace překladače jednoduchého
programovacího jazyka. Možná je spolupráce ve skupinách (2--4 studenti),
náročnost projektu roste úměrně počtu členů.
Hlavním cílem kurzu je: detailně porozumět problematice návrhu programovacích jazyků a jejich překladačů; implementovat překladač vybraného programovacího jazyka. - Výstupy z učení
- Vlastní zkušenost s implementací překladače.
- Osnova
- Logická struktura překladače. Formalismy pro specifikaci jednotlivých modulů.
- Lexikální analyzátor. Regulární výrazy. Princip nejdelší shody. Precedence lexémů.
- Syntaktický analyzátor. Analýza shora a zdola.
- Sémantický analyzátor. Atributové gramatiky. Tok atributů. Vyhodnocení atributů během syntaktické analýzy.
- Generátor kódu, optimalizace.
- Úplná specifikace jednoduchého optimalizujícího překladače, vazba a spolupráce mezi logickými moduly.
- Tabulky symbolů jako atributy. Zpracování deklarací, typová kontrola, analýza rozsahu viditelnosti.
- Funkce. Aktivační záznam. Předávání parametrů. Konvence jazyků C a Pascal.
- Vstup a výstup. Vazby na operační systém. Unix a C.
- Překlad do asembleru procesoru I386, konvence jazyka C.
- Literatura
- WILHELM, Reinhard a Dieter MAURER. Compiler design. Wokingham: Addison-Wesley Publishing Company, 1995, xv, 606 s. ISBN 0-201-42290-5. info
- FISCHER, Charles N. a Richard J. LEBLANC. Crafting a compiler. Menlo Park: Benjamin/Cummings Publishing Company, 1988, 811 s. ISBN 0-8053-3201-4. 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
- Výukové metody
- Přednášky, cvičení, projekt.
- Metody hodnocení
- Semináře a práce na projektu.
Dokončení skupinového projektu je podmínkou k udělení zápočtu. - Další komentáře
- Studijní materiály
Předmět je vyučován každoročně.
Výuka probíhá každý týden.
- Statistika zápisu (jaro 2021, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2021/PA037