P037 Projekt z překladačů

Fakulta informatiky
léto 1997
Rozsah
0/2. 2 kr. Ukončení: z.
Vyučující
prof. RNDr. Antonín Kučera, Ph.D. (přednášející)
Garance
Kontaktní osoba: prof. RNDr. Antonín Kučera, Ph.D.
Předpoklady
Předpokládá se absolvování kursu P008 Překladače.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
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.
Předmět je zařazen také v obdobích léto 1996, léto 1998, jaro 1999, jaro 2000, jaro 2001, jaro 2002.