Detail předmětu
Teorie programovacích jazyků
TJD Ak. rok 2006/2007 zimní semestr
Význam přepisovacích systémů v informatice. Základní pojmy přepisovacích systémů. Využití přepisovacích systémů jako definičních prostředků Teorie přepisovacích systémů. Ohraničené a jednoznačně normalizující systémy, kritické dvojice, konfluentní přepisovací systémy. Knuth-Bendixův zúplňovací algoritmus. Ekvacionální systémy, funkcionální jazyky, logické jazyky. Algebraické specifikace. Syntéza funkcionálních programů z algebraických specifikací. Grafové přepisovací systémy Přepisování grafů, algebraický přístup, výrazový přístup. Kořenové grafy a jejich přepisování. Jazyky pro specifikaci grafových přepisovacích systémů (Lean, Dactl). Semigrafové gramatiky jako model překladu. Denotační sémantika. Způsoby formální definice sémantiky. Pojem domény, metodika specifikace domén a modelování typických jazykových konstrukcí. Principy objektově orientovaných programovacích jazyků. Způsob implementace.
Garant předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
Zajišťuje ústav
Získané dovednosti, znalosti a kompetence z předmětu
Schopnost formálně definovat i používat definici sémantiky programovacích jazyků.
Cíle předmětu
Získat hluboké znalosti zejména v oblasti teorie sémantiky programovacích jazyků založené na přepisovacích systémech. Získat schopnosti formálně definovat sémantiku programovacích jazyků denotační metodou.
Požadované prerekvizitní znalosti a dovednosti
Nejsou žádné prerekvizity.
Literatura studijní
- Peyton Jones S., L.: The Implementation of functional programming languages, Prentice Hall 1986
- Sethi R.: Programming Languages Concepts, Addison Wesley 1989
- Nilson U. - Matuszynski J.: Logic, Programming and Prolog, John Wiley 1990
- Nielson R.,H. - Nielson F.: Semantics with Applications - A Formal Introduction, John Wiley 1992
Literatura referenční
- Aho, V. A. - Sethi, R. - Ullmann, J. D. : Compilers - Principles, Techniques, and Tools, Addison - Wesley Publishing Company 1987
- Gordon, J., C.: Programming language Theory and its Implementation, Prentice Hall 1988
- Bird, R. - Walder, P.: Introduction to Functional Programming, Prentice Hall 1988
- Tennent, R., D.: Principles of programming languages, Prentice Hall 1981
Osnova přednášek
- Význam přepisovacích systémů v informatice. Základní pojmy přepisovacích systémů.
- Využití přepisovacích systémů jako definičních prostředků
- Teorie přepisovacích systémů. Ohraničené a jednoznačně normalizující systémy, kritické dvojice, konfluentní přepisovací systémy.
- Knuth-Bendixův zúplňovací algoritmus.
- Ekvacionální systémy, funkcionální jazyky, logické jazyky.
- Algebraické specifikace. Syntéza funkcionálních programů z algebraických specifikací.
- Grafové přepisovací systémy Přepisování grafů, algebraický přístup, výrazový přístup.
- Kořenové grafy a jejich přepisování.
- Jazyky pro specifikaci grafových přepisovacích systémů (Lean, Dactl).
- Semigrafové gramatiky jako model překladu.
- Denotační sémantika. Způsoby formální definice sémantiky.
- Pojem domény, metodika specifikace domén a modelování typických jazykových konstrukcí.
- Principy objektově orientovaných programovacích jazyků. Způsob implementace.
Průběžná kontrola studia
Hodnocení studia je založeno na bodovacím systému. Pro úspěšné absolvování předmětu je nutno dosáhnout 50 bodů.
Kontrolovaná výuka
pouze přednášky