FI:PA037 Projekt z překladačů - Informace o předmětu
PA037 Projekt z překladačů
Fakulta informatikyjaro 2015
- Rozsah
- 0/2. 2 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. Mojmír Křetínský, CSc.
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
- Aplikovaná informatika (program FI, N-AP)
- Bezpečnost informačních technologií (program FI, N-IN)
- Bioinformatika (program FI, N-AP)
- Informační systémy (program FI, N-IN)
- Informatika (program FI, M-IN)
- Informatika (program FI, N-IN)
- Paralelní a distribuované systémy (program FI, N-IN)
- Počítačová grafika (program FI, N-IN)
- Počítačové sítě a komunikace (program FI, N-IN)
- Počítačové systémy (program FI, N-IN)
- Programovatelné technické struktury (angl.) (program FI, N-IN)
- Programovatelné technické struktury (program FI, N-IN)
- 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)
- Teoretická informatika (program FI, N-IN)
- Učitelství výpočetní techniky pro střední školy (program FI, M-SS)
- Učitelství výpočetní techniky pro střední školy (program FI, M-TV)
- 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)
- Zpracování obrazu (program FI, N-AP)
- 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. - 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 2015, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2015/PA037