Detail předmětu

Teorie programovacích jazyků

TJD Ak. rok 2019/2020 zimní semestr

Aktuální akademický rok

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í.

Garant předmětu

Jazyk výuky

česky, anglicky

Zakončení

zkouška (kombinovaná)

Rozsah

  • 39 hod. přednášky

Zajišťuje ústav

Přednášející

Cvičící

Stránky předmětu

Získané dovednosti, znalosti a kompetence z předmětu

Schopnost formálně definovat i používat definici sémantiky různých programovacích jazyků. Mít přehled o generování kódu pro moderní procesory.

Cíle předmětu

Získat znalosti zejména v oblasti zéjména sémantiky a překladu programovacích jazyků. Zaměřit se na možnost formální definice syntaxe a sémantiky programovacích jazyků.

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
  • 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

  • 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.

Průběžná kontrola studia

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

Kontrolovaná výuka

Pouze přednášky. V případě otevření předmětu jako řízeného studia konzultace nad zadanou literaturou.

Zařazení předmětu ve studijních plánech

  • Program VTI-DR-4, obor DVI4, libovolný ročník, volitelný
  • Program VTI-DR-4, obor DVI4, libovolný ročník, volitelný
Nahoru