Semantika programovacích jazyků
| Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
|---|---|---|---|---|
| NI-SEM | Z,ZK | 5 | 2P+1C | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Cílem předmětu je uvést studenty do základů sémantiky programovacích jazyků, která je základem pro studium a implementaci programovacích jazyků.
Tyto techniky jsou také důležité pro verifikaci programů, implementaci optimalizací a obecný návrh programovacích jazyků.
Důraz bude na porovnání operační a denotační sémantiky. Použité techniky mají uplatnění i v případě analýzy jazyků daných pouze pomocí operační sémantiky.
Kurz umožní studentům získat potřebné dovednosti pro implementaci jazykových konstrukcí, ať už jejich popis pochází z teoretických nebo inženýrských zdrojů v literatuře.
- Požadavky:
- Osnova přednášek:
-
1. Přehled kurzu, motivace a vztah k praxi návrhu a implementace programovacích jazyků.
2. Pravidlová a strukturální indukce, vztah operační a denotační sémantiky.
3. Kontextuální a big-step sémantika.
4. Abstraktní stroje a kontinuace.
5. Typovaný lambda kalkulus s aritmetikou.
6. Sémantická a typová korektnost.
7. Sémantická úplnost.
8. Rekurzivní funkce a jazyk PCF.
9. Adekvátnost a kontextové lemma.
10. Otázka plné abstrakce (full abstraction) pro PCF.
11. Hoareův odvozovací systém I.
12. Hoareův odvozovací systém II.
13. Další témata.
- Osnova cvičení:
-
bude doplněno
- Cíle studia:
-
Cílem předmětu je uvést studenty do základů sémantiky programovacích jazyků, která je základem pro studium a implementaci programovacích jazyků.
Tyto techniky jsou také důležité pro verifikaci programů, implementaci optimalizací a obecný návrh programovacích jazyků.
- Studijní materiály:
-
1. Robert Harper: Practical Foundations for Programming Languages, 2nd Edition. Cambridge University Press, 2016. ISBN9781107150300.
2. Winskel, G.: The Formal Semantics of Programming Languages. MIT Press, 1993. ISBN 9780262291453.
3. Tobias Nipkow , Gerwin Klein: Concrete Semantics, With Isabelle/HOL. Springer Cham, 2014. ISBN 978-3-319-10541-3.
4. Streicher, T: Domain-theoretic foundations of functional programming. World Scientific Publishing Company, 2006 ISBN 981-270-142-7.
5. Tennent, R. D.: Semantics of Programming Languages. ISBN 9780138055998.
6. Gunter, C. A.: Semantics of Programming Language. MIT Press, 1992. ISBN 9780262570954.
- Poznámka:
-
předmět je vyučován v češtině
- Další informace:
- bude doplněno
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Mgr. specializace Počítačová bezpečnost, 2026 (VO)
- Mgr. specializace Počítačové systémy a sítě, 2026 (VO)
- Mgr. specializace Teoretická informatika, 2026 (VO)
- Mgr. specializace Programovací jazyky, 2026 (PS)
- Mgr. specializace Umělá inteligence, 2026 (VO)
- Mgr. program, pro fázi studia bez specializace, ver. pro roky 2026 a vyšší (VO)
- Master programme, for the phase of study without specialisation, ver. for 2026 and higher (VO)