Název:

Základy překladačů

Zkratka:ZAP
Ak.rok:ukončen 2004/2005
Semestr:letní
Studijní plán:
ProgramOborRočníkPovinnost
EI-BC-3VTB2.st/2.rčvolitelný
EI-MGR-3VTN1.povinný
EI-MGR-5VTI2.st/1.rčpovinný
Vyučovací jazyk:čeština, angličtina
Informace veřejné:http://www.fit.vutbr.cz/study/courses/ZAP/public/
Kredity:6 kreditů
Ukončení:zkouška (písemná)
Výuka:
hod./sempřednáškasem./cvičenílab. cvičenípoč. cvičeníjiná
Rozsah:39120014
 zkouškatestycvičenílaboratořeostatní
Body:55200025
Garant:Meduna Alexander, prof. RNDr., CSc., UIFS
Přednášející:Kolář Dušan, doc. Dr. Ing., UIFS
Meduna Alexander, prof. RNDr., CSc., UIFS
Cvičící:Bidlo Radek, Ing., UIFS
Blatný Petr, Ing., UIFS
Kaláb 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
Meduna Alexander, prof. RNDr., CSc., UIFS
Škrkal Oto, Ing., 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: 
Jazyky C a C++ (CPP), UITS
Teoretická informatika 1 (TI1), UITS
Navazující:
Výstavba překladačů (VPR), FIT
 
Cíle předmětu:
  Objasnit principy, modely a techniky, které se používají při tvorbě překladačů. Získat schopnost sestrojit překladač.
Anotace:
  Kurs diskutuje konstrukci překladačů. Výklad je organizován následovně: (I) Základní pojmy; překladače a jejich části. (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, deterministické zásobníkové automaty, LL a LR gramatiky, deterministická analýza shora dolů (rekurzivní sestup) a zdola nahoru (jednoduchá precedenční analýza, LR analýza); Yacc. (IV) Semantická 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.
Získané dovednosti, znalosti a kompetence:
  Schopnost sestrojit překladač.
Osnova přednášek:
 
  • Struktura překladače.
  • Lexikální analýza: teorie; regulární výrazy a konečné automaty.
  • Lexikální analýza: lexikální analyzátory; Lex; tabulka symbolu.
  • Syntaktická analýza: teorie; bezkontextové gramatiky a zásobníkové automaty.
  • Syntaktická analýza: principy.
  • 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.
  • Generováni vnitřní formy programu.
  • Optimalizace.
  • Generování cílového kódu.
  • Poznámky a shrnutí.
Osnova laboratorních cvičení:
 
  • 1 projekt překladače imperativního jazyka
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.