PA037 Projekt z překladačů

Fakulta informatiky
jaro 2003
Rozsah
0/2. 2 kr. (plus ukončení). Ukončení: z.
Vyučující
prof. RNDr. Antonín Kučera, Ph.D. (přednášející)
Garance
prof. PhDr. Karel Pala, CSc.
Katedra strojového učení a zpracování dat – Fakulta informatiky
Kontaktní osoba: doc. RNDr. Pavel Smrž, Ph.D.
Rozvrh
Čt 16:00–17:50 B411
Předpoklady
( P008 Překladače || PA008 Překladače )
PA008 Překladače
Omezení zápisu do předmětu
Předmět je určen pouze studentům mateřských oborů.
Mateřské obory/plány
předmět má 6 mateřských oborů, zobrazit
Osnova
  • Účelem semináře je hlubší seznámení s problematikou návrhu programovacích jazyků a jejich překladačů. Student by měl získat jasnou představu o fungování reálných překladačů, o problémech, které jsou spojeny s jejich implementací a možných přístupech k řešení těchto problémů. Podmínkou udělení zápočtu je plně funkční implementace překladače jednoduchého programovacího jazyka. Možná je spolupráce ve skupinách (2--4 studenti), náročnost projektu roste úměrně počtu členů.
  • Logická struktura překladače. Formalismy pro specifikaci jednotlivých modulů.
  • Lexikální analyzátor. Regulární výrazy. Princip nejdelší shody. Precedence lexémů.
  • Syntaktický analyzátor. Analýza shora a zdola.
  • Sémantický analyzátor. Atributové gramatiky. Tok atributů. Vyhodnocení atributů během syntaktické analýzy.
  • Generátor kódu, optimalizace.
  • Úplná specifikace jednoduchého optimalizujícího překladače, vazba a spolupráce mezi logickými moduly.
  • Tabulky symbolů jako atributy. Zpracování deklarací, typová kontrola, analýza rozsahu viditelnosti.
  • Funkce. Aktivační záznam. Předávání parametrů. Konvence jazyků C a Pascal.
  • Vstup a výstup. Vazby na operační systém. Unix a C.
  • Překlad do asembleru procesoru I386, konvence jazyka C.
Další komentáře
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích jaro 2004, jaro 2005, jaro 2006, jaro 2007, jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, podzim 2024.