Předmět: Základy programovacích jazyků a překladačů

« Zpět
Název předmětu Základy programovacích jazyků a překladačů
Kód předmětu UAI/632
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia nespecifikován
Četnost výuky V každém akademickém roce, jen v letním semestru.
Semestr Letní
Počet ECTS kreditů 5
Vyučovací jazyk čeština
Statut předmětu Povinně-volitelný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Fesl Jan, Ing. Ph.D.
Obsah předmětu
1) Základní pojmy teorie jazyků, definice a klasifikace gramatik 2) Regulární gramatiky, regulární výrazy 3) Deterministické, nedeterministické konečné automaty, transformace nedeterministického na deterministický, regulární výrazy 4) Programová realizce konečných automatů 5) Konečné automaty s výstupem, zásobníkové automaty 6) LL Gramatiky, rozkladové tabulky syntaktická analýza metodou shora dolů, transformace gramatik 7) Lexikální analyzátor, a jeho realizace 8) Formální překlady, překladové gramatiky 9) Překladové automaty a překladové gramatiky 10) Atributové překladové gramatiky, rekurzivní sestup s parametry 11) Výpočet hodnot parametrů atributových gramatik 12) Syntaktický analyzátor a jím řízený překlad, návrh a realizace 13) Syntaktický analyzátor a jím řízený překlad, návrh a realizace 14) Abstraktní syntaktický strom, generování výstupu

Studijní aktivity a metody výuky
Monologická (výklad, přednáška, instruktáž)
  • Domácí příprava na výuku - 10 hodin za semestr
  • Příprava na zkoušku - 40 hodin za semestr
  • Příprava na zápočet - 30 hodin za semestr
  • Účast na výuce - 40 hodin za semestr
  • Semestrální práce - 20 hodin za semestr
Výstupy z učení
Základní ideou kurzu je poskytnou informace o tom, jak lze formálně deklarovat popis programovacích jazyků, v návaznosti na toto uvést části reálného překlače a ukázat způsob realizace těchto částí. Kurz by obsahoval pouze jednu z metod syntaktiké analýzy - shora dolů.
Studenti budou v principu rozumět principům využívaných při tvorbě moderních překladačů - tj. regulárním gramatikám, konečným automatům, formálnímu překladu, LL(k) a atributovým gramatikám.
Předpoklady
Jsou předpokládány znalosti na úrovni kurzu Teoretická informatika a aktivní znalosti pojmů z oblasti programování.

Hodnoticí metody a kritéria
Ústní zkouška, Test

Napsání semestrální testu s úspěšností nad 50% a vypracování semestrální práce.
Doporučená literatura
  • Bořivoj Melichar. Jazyky a překlady. Praha, 1996. ISBN 80-01-01511-4.
  • Karel Muller. Programovací jazyky. Praha, 2002. ISBN 80-01-02458-X.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Embedded systémy (1) Kategorie: Informatické obory - Doporučený ročník:-, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Informační systémy a technologie (1) Kategorie: Informatické obory - Doporučený ročník:-, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Web a multimédia (1) Kategorie: Informatické obory - Doporučený ročník:-, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Bezpečnost a sítě (1) Kategorie: Informatické obory - Doporučený ročník:-, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Kriminalisticko-technická činnost v IT (1) Kategorie: Informatické obory - Doporučený ročník:-, Doporučený semestr: Letní