Detail předmětu
Teorie programovacích jazyků
FIT-TJDAk. rok: 2021/2022
Typy programovacích jazyků: procedurální a deklarativní, rozdíly z hlediska sémantiky. Problém formální definice programovacích jazyků. Různé možnosti formální definice sémantiky programovacích jazyků. Axiomatická definice sémantiky: Floyd-Hoarova logika. Denotační definice sématiky: lambda kalkulus. Technologie překladu programovacích jazyků po syntaktické analýze. Řešení kontextovosti programovacích jazyků v syntaxí řízeném bezkontextovém překladači. Typové systémy. Generování cílového kódu. Metody přidělování registrů. Generování cílového kódu pro procesory se zřetězeným zpracováním.
U všech absolventů předmětu se očekává přehled a porozumění základům uvedených témat. Hlubší znalosti se vyžadují u tématu, které zpracovali a prezentovali v eseji. Toto téma zpravidla nějak souvisí se zaměřením disertační práce. Jeho zpracování vyžaduje nastudování knižní publikace nebo kolekce tématicky souvisejících článků z časopisů a konferencí.
Otázky k SDZ:
- Typy programovacích jazyků: procedurální a deklarativní, rozdíly z hlediska sémantiky.
- Problém formální definice programovacích jazyků. Různé možnosti formální definice sémantiky programovacích jazyků.
- Axiomatická definice sémantiky: Floyd-Hoarova logika.
- Denotační definice sématiky: lambda kalkulus.
- Technologie překladu programovacích jazyků po syntaktické analýze.
- Řešení kontextovosti programovacích jazyků v syntaxí řízeném bezkontextovém překladači.
- Mezijazyky mezi front a backendem překladače.
- Typové systémy.
- Generování cílového kódu. Metody přidělování registrů.
- Generování cílového kódu pro procesory se zřetězeným zpracováním.
Jazyk výuky
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Způsob a kritéria hodnocení
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Doporučená literatura
Friedman, D.P., Wand, M.: Essentials of Programming Language, MIT Press, 2008.
Gordon, J., C.: Programming language Theory and its Implementation, Prentice Hall 1988
Nielson R.,H. - Nielson F.: Semantics with Applications - A Formal Introduction, John Wiley 1992
Nilson U. - Matuszynski J.: Logic, Programming and Prolog, John Wiley 1990
Pierce, B.C.: Types and Programming Languages, MIT Press, 2002.
Reynolds, J.: Theories of Programming Languages, Cambridge University Press, 2009
Sethi R.: Programming Languages Concepts, Addison Wesley 1989
Zařazení předmětu ve studijních plánech
- Program DIT doktorský 0 ročník, zimní semestr, povinně volitelný
- Program DIT doktorský 0 ročník, zimní semestr, povinně volitelný
- Program VTI-DR-4 doktorský
obor DVI4 , 0 ročník, zimní semestr, volitelný
- Program VTI-DR-4 doktorský
obor DVI4 , 0 ročník, zimní semestr, volitelný
- Program DIT-EN doktorský 0 ročník, zimní semestr, povinně volitelný
- Program DIT-EN doktorský 0 ročník, zimní semestr, povinně volitelný
- Program VTI-DR-4 doktorský
obor DVI4 , 0 ročník, zimní semestr, volitelný
- Program VTI-DR-4 doktorský
obor DVI4 , 0 ročník, zimní semestr, volitelný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Typy programovacích jazyků: procedurální a deklarativní, rozdíly z hlediska sémantiky.
- Problém formální definice programovacích jazyků. Různé možnosti formální definice sémantiky programovacích jazyků.
- Axiomatická definice sémantiky: Floyd-Hoarova logika.
- Denotační definice sématiky: lambda kalkulus.
- Technologie překladu programovacích jazyků po syntaktické analýze.
- Řešení kontextovosti programovacích jazyků v syntaxí řízeném bezkontextovém překladači.
- Typové systémy.
- Generování cílového kódu. Metody přidělování registrů.
- Generování cílového kódu pro procesory se zřetězeným zpracováním.