Opšte informacije o predmetu | ||||
---|---|---|---|---|
Tip studija | Master akademske studije | |||
Nastavnik | ||||
Pravila polaganja ispita | Rad na predmetu je mentorski uz konsultacije sa nastavnikom. Studenti su u obavezi da urade praktičan projekat po temi koju biraju u dogovoru sa predmetnim nastavnikom. Studenti predaju urađeni projekat i zatim ga usmeno brane u terminu ispita. | |||
Cilj kursa | Studenti treba da steknu bolje razumevanje sledećih tema: raznovrsne tehnike parsiranja; otkrivanje grešaka i oporavak; predstavljanje međukoda; Optimizacija koda; upravljanje memorijom; generisanje koda. Sposobnost primene naprednih alata za konstrukciju kompajlera i jezičkih procesora. | |||
Sadržaj predmeta | ||||
Sadržaj teorijske nastave | Napredne tehnike leksičke i sintaksne analize. Oporavak od grešaka u parsiranju. Napredno generisanje međukoda SSA. Izvršno okruženje:strategije dodele i oslobađanja memorije, virtuelne mašine. Napredniji generatori koda. Optimizacije za klasične arhitekture: lokalne i globalne. Napredni alati za konstrukciju kompajlera LLVM i drugi. | |||
Sadržaj praktične nastave | Praktičan projekat implementacije zadatog algoritma iz oblasti konstrukcije prevodioca koji student samostalno izrađuje. | |||
Literatura | ||||
|