Vyučující
|
|
Obsah předmětu
|
1-Typy překladačů, základní struktura překladače. 2-Regulární gramatiky a konečné automaty v lexikální analýze. FLEX. 3-Úvod do syntaktické analýzy, metoda rekurzivního sestupu. 4-Překlad příkazů. 5-Zpracování deklarací. 6-Přidělování paměti. 7-Interpretační zpracování. Průběžný test. 8-Generování cílového kódu. 9-Vlastnosti bezkontextových gramatik. 10-Deterministická analýza shora dolů. 11-LL(1) transformace. 12-Deterministická analýza zdola nahoru, LR gramatiky. 13-Formální metody konstrukce software, generátory překladačů.
|
Studijní aktivity a metody výuky
|
Přednáška s praktickými aplikacemi, Projektová výuka
- Kontaktní výuka
- 65 hodin za semestr
- Projekt individuální [40]
- 40 hodin za semestr
- Příprava na dílčí test [2-10]
- 12 hodin za semestr
- Příprava na zkoušku [10-60]
- 50 hodin za semestr
|
Předpoklady |
---|
Odborné znalosti |
---|
využívat poznatky z programových struktur |
mít dobrou znalost vyššího programovacího jazyka, prioritně Javy nebo C |
využívat teoretické poznatky z oblasti teoretické informatiky (zejména Chomského hiearchii) |
využívat teoretické poznatky z datových struktur |
využívat teoretické poznatky z diskrétní matematiky (zejména o grafech) |
prokázat znalosti základních pojmů a metod z matematiky, pravděpodobnosti a statistiky |
Odborné dovednosti |
---|
uplatnit základní znalosti z diskrétní matematiky |
uplatnit základní znalosti teoretické informatiky (zejména o regulárních jazycích) |
uplatnit základní znalosti programovacích technik |
využívat vyšší programovací jazyky k vytváření rozsáhlých programových celků |
ovládat zásady vytváření dobře dokumentovaných a robustních programových kódů, prakticky využít teoretické a praktické poznatky o práci s algoritmy, datovými strukturami a konkrétními vývojovými prostředky |
Obecné způsobilosti |
---|
mgr. studium: samostatně a odpovědně se rozhodují v nových nebo měnících se souvislostech nebo v zásadně se vyvíjejícím prostředí s přihlédnutím k širším společenským důsledkům jejich rozhodování, |
Výsledky učení |
---|
Odborné znalosti |
---|
orientovat se ve formálních prostředcích pro konstruování software |
popsat pozitivní i negativní důsledky implementace různých konstrukcí programových textů a efektivně je využívat |
popsat činnost jednotlivých částí překladače vyššího programovacího jazyka |
popsat funkci prostředků pro zpracování textů |
popsat principy a výhody programování v různých paradigmatech |
Odborné dovednosti |
---|
používat formální metody pro konstruování softwaru |
implementovat různé programové konstrukce |
efektivněji používat programovací jazyky při zápisu algoritmů |
realizovat překladač jednoduššího jazyka |
Obecné způsobilosti |
---|
mgr. studium: samostatně získávají další odborné znalosti, dovednosti a způsobilosti na základě především praktické zkušenosti a jejího vyhodnocení, ale také samostatným studiem teoretických poznatků oboru., |
mgr. studium: srozumitelně a přesvědčivě sdělují odborníkům i širší veřejnosti vlastní odborné názory, |
mgr. studium: plánují, podporují a řídí s využitím teoretických poznatků oboru získávání dalších odborných znalostí, dovedností a způsobilostí ostatních členů týmu, |
Vyučovací metody |
---|
Odborné znalosti |
---|
Prezentace práce studentů, |
Samostudium, |
Řešení problémů, |
Analyticko-kritická práce s textem, |
Přednáška s demonstrací, |
Projektová výuka, |
Cvičení (praktické činnosti), |
Odborné dovednosti |
---|
Cvičení (praktické činnosti), |
Prezentace práce studentů, |
Obecné způsobilosti |
---|
Analyticko-kritická práce s textem, |
Prezentace práce studentů, |
Hodnotící metody |
---|
Odborné znalosti |
---|
Test, |
Písemná zkouška, |
Skupinová prezentace, |
Výstupní projekt, |
Odborné dovednosti |
---|
Demonstrace dovedností (praktická činnost), |
Výstupní projekt, |
Skupinová prezentace, |
Obecné způsobilosti |
---|
Demonstrace dovedností (praktická činnost), |
Skupinová prezentace, |
Doporučená literatura
|
-
Aho, Alfred V. Compilers : principles, techniques, and tools. 2nd ed. Boston : Pearson Education, 2007. ISBN 0-321-49169-6.
-
Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. Compilers : principles, techniques, and tools. Reading : Addison-Wesley, 1988. ISBN 0-201-10088-6.
-
Melichar, Bořivoj. Jazyky a překlady. Vyd. 2., přeprac. Praha : Vydavatelství ČVUT, 2003. ISBN 80-01-02776-7.
-
Melichar, Bořivoj. Konstrukce překladačů. I. část. Vyd. 1. Praha : Vydavatelství ČVUT, 1999. ISBN 80-01-02028-2.
-
Molnár, Ludovít; Melichar, Bořivoj; Češka, Milan. Gramatiky a jazyky. Bratislava : Alfa, 1987.
-
Reinhard Wilhelm Helmut Seidl Sebastian Hack. Compiler Design. Berlin, 2013. ISBN 978-3-642-17539-8.
-
Thain, Douglas. Introduction to Compilers and Language Design. 2020. ISBN 979-8-655-18026-0.
|