Název:

Formální jazyky a překladače

Zkratka:IFJ
Ak.rok:2005/2006
Semestr:zimní
Studijní plán:
ProgramObor/
specializace
RočníkPovinnost
IT-BC-3BIT2.povinný
Vyučovací jazyk:čeština
Informace veřejné:http://www.fit.vutbr.cz/study/courses/IFJ/public/
Kredity:5 kreditů
Ukončení:zápočet+zkouška (písemná)
Výuka:
hod./sempřednáškasem./cvič.lab. cvič.poč. cvič.jiná
Rozsah:3900013
 zkouškatestycvičenílaboratořeostatní
Body:55200025
Garant:Meduna Alexander, prof. RNDr., CSc. (UIFS)
Přednášející:Meduna Alexander, prof. RNDr., CSc. (UIFS)
Cvičící:Bidlo Radek, Ing. (UIFS)
Blatný Petr, Ing. (UIFS)
Kolář Dušan, doc. Dr. Ing. (UIFS)
Kopeček Tomáš, Ing. (UIFS)
Křivka Zbyněk, Ing., Ph.D. (UIFS)
Lorenc Luboš, Ing., Ph.D. (UIFS)
Lukáš Roman, Ing., Ph.D. (UIFS)
Masopust Tomáš, RNDr., Ph.D. (UIFS)
Meduna Alexander, prof. RNDr., CSc. (UIFS)
Schönecker Rudolf, Ing. (UIFS)
Techet Jiří, Ing., Ph.D. (UIFS)
Vítek Martin, Ing., Ph.D. (UIFS)
Fakulta:Fakulta informačních technologií VUT v Brně
Pracoviště:Ústav informačních systémů FIT VUT v Brně
Prerekvizity: 
Diskrétní matematika (IDA), UMAT
Navazující:
Principy programovacích jazyků a OOP (IPP), UIFS
 
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ů.
Anotace:
  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 a převodníky, lexikální analyzátory; Lex; tabulka symbolu. (III) Bezkontextové jazyky a syntaktická analýza: bezkontextové jazyky a gramatiky, zásobníkové automaty a převodníky, syntaktická analýza; deterministická syntaktická analýza, LL a LR gramatiky, deterministická analýza shora dolů (rekurzivní sestup); princip deterministické analýzy zdola nahoru ; Yacc. (IV) Sémantická analýza a generováni kódu: sémantická analýze, generováni vnitřní formy programu, optimalizace, generováni cílového kódu.
Požadované prerekvizitní znalosti a dovednosti:
  diskrétní matematika
Získané dovednosti, znalosti a kompetence:
  Základní obeznámenost s formálními jazyky a jejich modely. Schopnost sestrojit překladač.
Osnova přednášek:
 
  • Formální jazyky.
  • Chomského klasifikace jazyků a korespondující modely.
  • Překlad jazyků a struktura překladače.
  • Regulární jazyky a jejich modely: regulární výrazy a konečné automaty.
  • Lexikální analýza: lexikální analyzátory; Lex; tabulka symbolu.
  • Bezkontextové jazyky a jejich modely: bezkontextové gramatiky a zásobníkové automaty.
  • Syntaktická analýza: deterministická syntaktická analýza; FIRST a FOLLOW, LL a LR gramatiky.
  • Deterministická syntaktická analýza shora dolů: rekurzívní sestup.
  • Deterministická syntaktická analýza zdola nahoru: jednoduchá precedenční analýza, LR analýza; Yacc.
  • Sémantická analýza a generováni vnitřní formy programu.
  • Optimalizace.
  • Generování cílového kódu.
  • Poznámky a shrnutí. Předběžná diskuze obsahu navazujícího předmětu VYP.
Literatura referenční:
 
  • Parsons, T. W.: Introduction to Compiler Construction. Freeman, New York, 1992.
Literatura studijní:
 
  • kopie přednášek (elektronické i papírové)
  • Meduna, A.: Automata and Languages. London, Springer, 2000.
Kontrolovaná výuka:
  Test v polovině semestru. Průběžná kontrola řešení projektu vedoucím.
Podmínky zápočtu:
  Ziskani 5 bodu za programovou cast projektu.
 

Vaše IPv4 adresa: 3.92.28.84