# **NSWI109** Konstrukce překladačů

<{Box(infobox)}>
|-----|-----|
| **Stránka předmětu:** | [Web](https://teaching.mff.cuni.cz/nswi109-web/) |
| **Vyučující:** | [RNDr. David Bednárek, Ph.D.](https://www.mff.cuni.cz/cs/fakulta/organizacni-struktura/lide?hdl=645) |
| **SIS:** | [NSWI109](https://is.cuni.cz/studium/predmety/index.php?do=predmet&kod=NSWI109) |
<{/Box}>

## Studijní materiály

- [Ručně psané zápisky od Petrosauruse](/NSWI109/poznamky_2026.pdf) (LS 2026)

## Zakončení předmětu

### Zápočet
Zápočet je za úspěšné absolvování zápočtového testu, jehož předmětem je nakreslení CFG, přepis do mezikódu, analýza závislostí daného C-like kódu.

Pozor hlavně na kontrolní dependence "podmíněný skok->nepřímý paměťový přístup" (kdyby měla být branch not taken, tak se nesmí udělat ten přístup do paměti, protože by mohl třeba způsobit výjimku) a vlastně celkově pozor na nepřímá čtení (třeba přes operátor šipka)! Taky je důležité myslet na vynásobení indexu velikostí prvku u přístupů k polím pomocí [].


### Zkouška
Zkouška je ústní s písemnou přípravou (taková trochu Medvědovitá) - dostanete jednu otázku, něco si k tomu připravíte, zavoláte si Bednárka, on si přečte, co máte, a kdyžtak se doptá, dá známku, nebo ještě řekne, co máte doplnit. Příkladem zkouškové otázky je něco jako "Popište transformace cyklů pro paralelizaci" (tedy loop reversal, loop skewing, blocking+strip-mining, případně i loop fusion)
