Navigacija

IR4PP2 - Programski prevodioci 2

Specifikacija predmeta
Naziv Programski prevodioci 2
Akronim IR4PP2
Studijski program Elektrotehnika i računarstvo
Modul modul Računarska tehnika i informatika
Tip studija osnovne akademske studije
Nastavnik (predavač)
Nastavnik/saradnik (vežbe)
Nastavnik/saradnik (DON)
Broj ESPB 6.0 Status predmeta izborni
Uslovljnost drugim predmetima Položen predmet: Programski prevodioci 1
Ciljevi izučavanja predmeta 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.
Ishodi učenja (stečena znanja) Očekuje se da student po završetku kursa bude u stanju da: Demonstrira razumevanje, kritičku analizu i primenu važećih teorija, modela i tehnika iz oblasti konstrukcije programskih prevodilaca. Da bude sposoban da primeni naprednije alate za konstrukciju kompajlera i jezičkih procesora.
Sadržaj predmeta
Sadržaj teorijske nastave Napredne tehnike leksičke i sintaksne analize GLR. 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 Auditorne vežbe koje ilustruju pojedine koncepte i tehnike obrađene na predavanjima. Praktičan projekat implementacije zadatog algoritma iz oblasti konstrukcije prevodioca koji student samostalno izrađuje.
Literatura
  1. Modern Compiler Implementation in Java 2nd Ed, A. W. Appel, Cambridge University Press, 2002
  2. Compilers/Principles, Techniques and Tools, 2ed, A. Aho, M. Lam, R. Sethi, J. Ullman, 2006.
  3. Advanced Compiler Design & Implementation, S. Muchnick, Morgan Kaufmann, 2003.
Broj časova aktivne nastave nedeljno tokom semestra/trimestra/godine
Predavanja Vežbe DON Studijski i istraživački rad Ostali časovi
2 2 1
Metode izvođenja nastave Predavanja, auditorne vežbe, samostalna izrada projekta
Ocena znanja (maksimalni broj poena 100)
Predispitne obaveze Poena Završni ispit Poena
Aktivnosti u toku predavanja 0 Pismeni ispit 60
Praktična nastava 0 Usmeni ispit 0
Projekti 40
Kolokvijumi 0
Seminari 0