Jednoduché překladače
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
01JEPR | Z | 2 | 2 | česky |
- Garant předmětu:
- Zdeněk Čulík
- Přednášející:
- Cvičící:
- Zdeněk Čulík
- Předmět zajišťuje:
- katedra matematiky
- Anotace:
-
Lexikální a syntaktická analýza, generování kódu, jednoduché optimalizace, principy integrovaných vývojových prostředí, dynamické identifikace typů.
- Požadavky:
- Osnova přednášek:
-
1. Lexikální a syntaktická analýza zdrojových textů některých programovacích jazyků (Pascal, C++, Java)
2. Datové struktury používané pro uložení a zpracování výrazů, příkazů, typů a deklarací
3. Programy pro generování překladačů (Lex, Yacc, ANTLR)
4. Jednoduché optimalizace
5. Generování kódu, sestavování knihoven a proveditelných souborů
6. Principy integrovaných vývojových prostředí, vliv dynamické identifikace typů na vývojová prostředí
- Osnova cvičení:
-
1. Příklad lexikální analýzy napsané v jazyce C
2. Ručně psaný sémantický analyzátor
3. Zpracování typů a deklarací, využití v programátorských vývojových prostředích
4. Generování sémantické analýzy s využitím programu ANTLR
5. Příklady jednoduchého generování kódu, přidělování registrů
6. Přídavné moduly pro překladače GCC a LLVM/CLang
- Cíle studia:
-
Znalosti:
Struktura překladačů programovacích jazyků, generování strojového kódu, strojový překlad do jiného programovacího jazyka.
Schopnosti:
Naprogramovat syntaktickou a sémantickou analýzu jednoduchého programovacího jazyka s využitím moderních nástrojů pro zpracování gramatik.
- Studijní materiály:
-
Povinná literatura:
[1] N. Wirth: Compiler Construction, Addison Wesley, 1996
Doporučená literatura:
[2] S. Pemberton, M. Daniels: Pascal Implementation: The P4 Compiler, Prentice Hall, 1983
[3] D. Grune, C. Jacobs: Parsing Techniques - A Practical Guide, Ellis Horwood, 1990
- Poznámka:
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Aplikovaná algebra a analýza (volitelný předmět)
- Aplikace informatiky v přírodních vědách (volitelný předmět)
- Aplikovaná informatika (volitelný předmět)
- Matematické inženýrství - Matematická informatika (volitelný předmět)
- Matematické inženýrství - Matematické modelování (volitelný předmět)