Fakulta informačních technologií VUT v Brně

Detail předmětu

Teorie programovacích jazyků

TJD Ak. rok 2003/2004 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

česky

Zakončení

zkouška (kombinovaná)

Rozsah

39 hod. přednášky

Bodové hodnocení

Přednášející

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.

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

diskuze na doktorandských přednáškách, zpracování vlastní tématické práce

Kontrolovaná výuka

pouze přednášky
Nahoru