Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Předmět Překladače (KIP / PREKL)

Na serveru studentino.cz naleznete nejrůznější studijní materiály: zápisky z přednášek nebo cvičení, vzorové testy, seminární práce, domácí úkoly a další z předmětu KIP / PREKL - Překladače, Přírodovědecká fakulta, Ostravská univerzita v Ostravě (OU).

Top 10 materiálů tohoto předmětu

Materiály tohoto předmětu

Materiál Typ Datum Počet stažení

Další informace

Obsah

1. Úvod. Cíle a náplň předmětu, požadavky, organizace cvičení, literatura. Klasifikace programovacích jazyků. Účel a základní aplikace překladačů. Zdrojový a cílový jazyk. Historie programovacích jazyků a překladačů.2. Struktura a funkce překladače. Modely zdrojového kódu, transformace. Organizace překladače - fáze překladu, průchod. Jednoprůchodové a optimalizující překladače. Pomocné programy. Testování a údržba překladače.3. Specifikace programovacích jazyků. Syntaxe a sémantika jazyka. Formální jazyky, základní pojmy - abeceda, slovo, jazyk. Gramatiky a automaty.4. Lexikální analýza. Funkce lexikálního analyzátoru, reprezentace symbolů, slova a jazyky, regulární jazyky, konečný automat, regulární výrazy, implementace lexikálního analyzátoru.5. Syntaktická analýza. Účel a metody syntaktické analýzy. Analýza shora dolů a zdola nahoru. LL(1) gramatiky, výpočet množin FIRST a FOLLOW. Rozkladová tabulka.6. Implementace syntaktického analyzátoru. Zásobníkový automat pro LL(1) jazyky. Analýza rekurzivním sestupem.7. Syntaxí řízený překlad. Překladová gramatika, atributová překladová gramatika. Implementace atributového překladu při analýze shora dolů. Atributy v generátoru yacc.8. Syntaktická analýza zdola nahoru a generátory překladačů. Zásobníkový automat pro LR(1) jazyky, rozkladová tabulka, konflikty. Klasifikace LR jazyků. Generátor lex/flex - specifikace lexikálního analyzátoru, vzory, příklady. Generátor yacc/bison - specifikace syntaktického analyzátoru, priorita a asociativita operátorů, příklady. Generátor javacc - příklad.9. Tabulka symbolů. Základní pojmy - vazba, rozsah platnosti, viditelnost, doba života. Funkce tabulky symbolů. Model programovacího jazyka. Organizace tabulky symbolů. Blokově strukturovaná tabulka symbolů. Implementace.10. Generování vnitřní reprezentace programu. Formáty vnitřní reprezentace - graf, zásobníkový kód, tříadresový kód. Implementace tříadresového kódu. Překlad výrazů. Adresování prvků polí. Překlad booleovských výrazů. Generování zásobníkového kódu jako atributový překlad.11. Struktura programu v době běhu. Systém řízení běhu programu. Podprogramy - aktivace, statická a dynamická struktura, aktivační záznam. Organizace paměti, přidělování paměti pro aktivační záznamy, přístupové ukazatele. Předávání parametrů do podprogramu.12. Dokončení projektu.

Získané způsobilosti

znalost syntaktické analýzy a atributovaného překladu metodou shora dolů (LL) a úvod do zdola nahoru (LR)principy atributovaného překladu, sémantické akcepráce s generátorem překladačů javaccschopnost pracovat s dokumentací v angličtině (např javacc)práce na projektu, dle volby zadání i týmová (max. 3 studenti)kompetence - komunikační a interakční

Literatura

M. Beneš. Překladače, FEI VŠB Ostrava, dokument dostupný na: http://www.cs.vsb.cz/benes/vyuka/pjp/ (2004). nullAho A., Sethi R., Ullman J. D. Compilers. Principles, Techniques, and Tools. ISBN 0-201-10088-6.Melichar, Češka, Ježek, Richta. Konstrukce překladačů. ISBN 80-01-02028-2.H. Habiballa. Překladače, OU Ostrava, 2005. Š. Vavrečková. Překladače, SLU Opava, 2006.

Požadavky

Zkoušku student absolvuje v souladu s platným Studijním řádem, zejména s důrazem na č. 32 a čl. 33 Studijního a zkušebního řádu OU.Hodnocení: prakticky orientované úkoly a testy celkem 60 bodů, teoretický zkouškový test 40 bodů. Celkově lze získat 100 bodů, pro úspěšné zvládnutí zkoušky je třeba získat celkem alespoň 51 bodů.

Garant

doc. RNDr. PaedDr. Hashim Habiballa, PhD., Ph.D.

Vyučující

doc. RNDr. PaedDr. Hashim Habiballa, PhD., Ph.D.doc. RNDr. PaedDr. Hashim Habiballa, PhD., Ph.D.Mgr. Jiří Schenk