Název:

Teorie programovacích jazyků

Zkratka:TJD
Ak.rok:2003/2004
Semestr:zimní
Vyučovací jazyk:čeština
Informace veřejné:http://www.fit.vutbr.cz/study/courses/TJD/public/
Informace pro zapsané:http://www.fit.vutbr.cz/study/courses/TJD/private/
Ukončení:zkouška (kombinovaná)
Výuka:
hod./sempřednáškasem./cvič.lab. cvič.poč. cvič.jiná
Rozsah:390000
 zkouškatestycvičenílaboratořeostatní
Body:00000
Garant:Hruška Tomáš, prof. Ing., CSc. (UIFS)
Přednášející:Hruška Tomáš, prof. Ing., CSc. (UIFS)
Fakulta:Fakulta informačních technologií VUT v Brně
 
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.
Anotace:
  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.
Získané dovednosti, znalosti a kompetence:
  Schopnost formálně definovat i používat definici sémantiky programovacích jazyků.
Osnova přednášek:
 
  1. Význam přepisovacích systémů v informatice. Základní pojmy přepisovacích systémů.
  2. Využití přepisovacích systémů jako definičních prostředků
  3. Teorie přepisovacích systémů. Ohraničené a jednoznačně normalizující systémy, kritické dvojice, konfluentní přepisovací systémy.
  4. Knuth-Bendixův zúplňovací algoritmus.
  5. Ekvacionální systémy, funkcionální jazyky, logické jazyky.
  6. Algebraické specifikace. Syntéza funkcionálních programů z algebraických specifikací.
  7. Grafové přepisovací systémy Přepisování grafů, algebraický přístup, výrazový přístup.
  8. Kořenové grafy a jejich přepisování.
  9. Jazyky pro specifikaci grafových přepisovacích systémů (Lean, Dactl).
  10. Semigrafové gramatiky jako model překladu.
  11. Denotační sémantika. Způsoby formální definice sémantiky.
  12. Pojem domény, metodika specifikace domén a modelování typických jazykových konstrukcí.
  13. Principy objektově orientovaných programovacích jazyků. Způsob implementace.
Literatura referenční:
 
  1. Aho, V. A. - Sethi, R. - Ullmann, J. D. : Compilers - Principles, Techniques, and Tools, Addison - Wesley Publishing Company 1987
  2. Gordon, J., C.: Programming language Theory and its Implementation, Prentice Hall 1988
  3. Bird, R. - Walder, P.: Introduction to Functional Programming, Prentice Hall 1988
  4. Tennent, R., D.: Principles of programming languages, Prentice Hall 1981
Literatura studijní:
 
  1. Peyton Jones S., L.: The Implementation of functional programming languages, Prentice Hall 1986
  2. Sethi R.: Programming Languages Concepts, Addison Wesley 1989
  3. Nilson U. - Matuszynski J.: Logic, Programming and Prolog, John Wiley 1990
  4. Nielson R.,H. - Nielson F.: Semantics with Applications - A Formal Introduction, John Wiley 1992
Kontrolovaná výuka:
  pouze přednášky
Průběžná kontrola studia:
  diskuze na doktorandských přednáškách, zpracování vlastní tématické práce
 

Vaše IPv4 adresa: 54.242.115.55
Přepnout na https

DNSSEC [dnssec]