Navigácia:

Úvod
Cvičenia
Materiály
Projekt
Kontakt

Projekt

Projekt je možné robiť v tímoch maximálne po troch. Vašou úlohou je napísať tzv. kompilátor kompilátorov (inak povedané generátor kompilátora), t.j. program, ktorý dostane na vstup popis (bezkontextovej) gramatiky G pre parser (prípadne aj regulárnej gramatiky pre lexer R) a vygeneruje kompilátor, ktorý bude kompilovať programy napísané v tejto gramatike G resp. R. Pozrite si článok p. Šturca TWS projekt, kde môžete nájsť inšpiráciu pre "metagramatiku" Vášho vstupného súboru.

Váš program nesmie využívať už existujúce generátory parserov (ako je napr. Bison) a lexerov (Flex). Čím nižšia bude úroveň inštrukcií generovaných Vašim program a následne aj vygenerovaným kompilátorom, tým bude mať Váš projekt lepšiu pozíciu pri hodnotení. To znamená, že najviac sa ráta, ak Váš program vygeneruje kompilátor vo forme inštrukcií pre RAM, Turingov Stroj a pod., nasleduje Assembler a po ňom nejaký vyšší programovací jazyk. Môžete použiť ľubovoľný spôsob syntaktickej analýzy (zdola-nahor, zhora-nadol), no pri analýze zhora dole nezabudnite na odstránenie ľavej rekurzie a ľavej faktorizácie.

Nezabudnite na hlásenie chýb: Hlásenie chyby musí obsahovať aj pozíciu chyby v súbore.


Projekt je potrebné dokončiť do konca semestra. Odovzdávanie projektu prebieha vo forme prezentácie, kde všetci členovia tímu odprezentujú projekt cvičiacemu (je preto dobré si pripraviť niekoľko ukážkových vstupných súborov). Termín odovzdania je treba vopred dohodnúť.

Nahlásené tímy:

(ak sa v zozname nenachádzate, prosím nahláste sa čím skôr na rjasko (zavinac) dcs.fmph.uniba.sk)