|
Vyučující
|
-
Lipka Richard, Ing. Ph.D.
|
|
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.
|