Programovací jazyky a překladače
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BI-PJP | Z,ZK | 5 | 2+1 | česky |
- Přednášející:
- Jan Janoušek (gar.)
- Cvičící:
- Radomír Polách, Jan Trávníček
- 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č.
2. Návrh a realizace lexikálního analyzátoru.
3. LL(1) gramatiky, transformace BG na LL(1).
4. Realizace syntaktické analýzy rekurzívním sestupem.
5. Překladové gramatiky a zásobníkové překladové automaty.
6. Atributové překladové gramatiky.
7. Vnitřní formy programu, překlad a vyhodnocení výrazů.
8. Překlad do jazyka zásobníkového počítače.
9. Překlad do syntaktického stromu.
10. Specifikace a implementace datových typů.
11. Překlad typických jazykových konstrukcí.
12. Specifikace a implementace podprogramů.
13. Specifikace a implementace datových abstrakcí.
- Osnova cvičení:
-
1. Návrh a realizace lexikálního analyzátoru.
2. Realizace syntaktické analýzy rekurzívním sestupem.
3. Atributové překladové gramatiky.
4. Překlad do jazyka zásobníkového počítače.
5. Překlad do syntaktického stromu.
6. [2] 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:
-
1. Müller, K. Programovací jazyky. Praha: ČVUT, 2002. ISBN 80-01-02458-X.
2. Nešvera, Š. Programovací jazyky: cvičení. Praha: ČVUT, 2002. ISBN 80-01-02522-5.
- Poznámka:
-
Rozsah=prednasky+proseminare+cviceni:2p+1c
- Rozvrh na zimní semestr 2011/2012:
- Rozvrh není připraven
- Rozvrh na letní semestr 2011/2012:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po Út St Čt Pá - Předmět je součástí následujících studijních plánů:
-
- Teoretická informatika - verze pro ty, kteří se zapsali v roce 2009 a 2010 (povinný předmět oboru)
- Informační systémy a management - verze pro ty, kteří se zapsali v roce 2009 a 2010 (VO)
- Informatika, plán pro fázi studia bez oboru - verze pro ty, kteří se zapsali v roce 2009 a 2010 (VO)
- Informatika, plán pro fázi studia bez oboru - verze pro ty, kteří se zapsali v roce 2011 a 2012 (VO)
- Informační systémy a management - verze pro ty, kteří se zapsali v roce 2011 a 2012 (VO)
- Teoretická informatika - verze pro ty, kteří se zapsali v roce 2011 a 2012 (povinný předmět oboru)