Detail předmětu

Formální jazyky a překladače

IFJe Ak. rok 2017/2018 zimní semestr 5 kreditů

Aktuální akademický rok

Kurs diskutuje formální jazyky a jejich modely. Na bázi těchto modelu objasňuje konstrukci překladačů. Výklad je organizován následovně: (I) Základní pojmy: formální jazyky a jejich modely, gramatiky, automaty; překlady. (II) Regulární jazyky a lexikální analýza: regulární jazyky a výrazy, konečné automaty, lexikální analyzátory; tabulka symbolu. (III) Bezkontextové jazyky a syntaktická analýza: bezkontextové jazyky a gramatiky, zásobníkové automaty, syntaktická analýza; deterministická syntaktická analýza, LL gramatiky, deterministická analýza shora dolů (rekurzivní sestup); princip deterministické analýzy zdola nahoru. (IV) Sémantická analýza a generováni kódu: sémantická analýza, generováni vnitřní formy programu, optimalizace, generováni cílového kódu.

Garant předmětu

Jazyk výuky

anglicky

Zakončení

zápočet+zkouška (písemná)

Rozsah

  • 26 hod. přednášky
  • 13 hod. cvičení
  • 13 hod. projekty

Bodové hodnocení

  • 55 bodů závěrečná zkouška (písemná část)
  • 20 bodů půlsemestrální test (písemná část)
  • 25 bodů projekty

Zajišťuje ústav

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

Základní obeznámenost s formálními jazyky a jejich modely. Schopnost sestrojit překladač.

Cíle předmětu

Seznámit se s formálními jazyky a jejich modely. Objasnit principy konstrukce překladačů na základě těchto modelů.

Požadované prerekvizitní znalosti a dovednosti

Diskrétní matematika.

Literatura studijní

  • Copy of lectures.
  • Meduna, A.: Automata and Languages. London, Springer, 2000.

Literatura referenční

  • Parsons, T. W.: Introduction to Compiler Construction. Freeman, New York, 1992.

Osnova přednášek

  • Základy formálních jazyků: abeceda, řetězce, jazyky.
  • Úvod do překladačů: struktura překladače.
  • Regulární jazyky a jejich modely: regulární výrazy, konečné automaty.
  • Varianty konečných automatů.
  • Lexikální analýza: lexikální analyzátor, tabulka symbolů.
  • Bezkontextové jazyky a jejich modely: bezkontextové gramatiky, zásobníkové automaty.
  • Zásobníkové automaty a obecný překlad.
  • Deterministická syntaktická analýza shora dolů: rekurzívní sestup.
  • Deterministická syntaktická analýza zdola nahoru: jednoduchá precedenční analýza.
  • Chomského hierarchie a korespondující modely. Závěrečné poznámky a shrnutí.

Průběžná kontrola studia

Udělení zápočtu je podmíněno získáním min. 20 bodů v průběhu semestru, z nichž nejméně 5 bodů je za projekt.

Kontrolovaná výuka

Půlsemestrální zkouška v polovině semestru. Průběžná kontrola řešení projektu vedoucím.

Nahoru