Programovací jazyky a překladače
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BIK-PJP | Z,ZK | 5 | 13+2 | česky |
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Studenti budou umět základní metody implementace běžných programovacích jazyků. Získají zkušenost s návrhem a implementací překladu jednotlivých konstruktů programovacích jazyků (datové typy, podprogramy, apod). Naučí se formálně specifikovat překlad textu, který vyhovuje určité syntaxi, do cílové formy a na základě této specifikace napsat překladač. Překladačem se zde rozumí nejen překladač programovacího jazyka, ale jakýkoliv jiný program analyzující a zpracovávající text zapsaný v jazyku, který je dán LL(1) gramatikou.
- Požadavky:
- Osnova přednášek:
-
1. Přehled programovacích jazyků, programovací paradigmata. Struktura překladače, virtuální počítač. Návrh a realizace lexikálního analyzátoru.
2. LL(1) gramatiky, transformace BG na LL(1). Realizace syntaktické analýzy rekurzívním sestupem.
3. Překladové gramatiky a zásobníkové překladové automaty. Atributové překladové gramatiky.
4. Vnitřní formy programu, překlad a vyhodnocení výrazů. Překlad do jazyka zásobníkového počítače.
5. Překlad do syntaktického stromu. Specifikace a implementace datových typů.
6. Překlad typických jazykových konstrukcí. Specifikace a implementace podprogramů.
7. Specifikace a implementace datových abstrakcí.
- Osnova cvičení:
-
1. Návrh a realizace lexikálního analyzátoru. Realizace syntaktické analýzy rekurzívním sestupem. Atributové překladové gramatiky. Překlad do jazyka zásobníkového počítače. Překlad do syntaktického stromu. Konzultace k domácí práci.
- Cíle studia:
-
Předmět obsahuje přehled obecných rysů programovacích jazyků a výklad základních metod jejich implementace. Návrh a programová realizace jednotlivých částí překladače jsou podloženy základní teorií gramatik a automatů. Pro ilustraci metod je zaveden jednoduchý programovací jazyk a navržen a realizován překladač. Dále jsou probrány základní metody implementace datových typů, podprogramů a datových abstrakcí.
- Studijní materiály:
-
Müller, K. ''Programovací jazyky''. Praha: ČVUT, 2002. ISBN 80-01-02458-X.
Nešvera, Š. ''Programovací jazyky: cvičení''. Praha: ČVUT, 2002. ISBN 80-01-02522-5.
Grune, D., Bal, H., Jacobs, C., Langendoen, K. ''Modern Compiler Design''. Wiley, 2000. ISBN 0471976970.
- Poznámka:
-
Rozsah=konzultace+seminae, Prednasejici: doc. Ing. Karel Müller CSc.
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Teoretická informatika, kombinovaná forma studia (povinný předmět oboru)
- Plán pro období před přiřazením k oboru (VO)