Predmet: Programski prevodioci
(12 -
SE0034) Osnovne informacije
Program predmeta
Program se primenjuje od 21.11.2012.. Upoznavanje studenata sa principima rada kompajlera, konceptima prevođenja sa jednog programskog jezika na drugi, alatima za njihovo pravljenje i načinom njihove implementacije. Ovladavanje pravljenjem kompajlera na početničkom nivou. Nakon uspešno završenog kursa student poznaje principe rada kompajlera; poznaje faze kompajliranja; koristi tehnike prevođenja sa jednog jezika na drugi; rukuje alate za generisane kompajlera i pravi skenere, parsere i jednostavne kompajlere. Zadatak kompajlera: faze kompajliranja; Vrste programskih jezika i kompajlera: LL i LR kompajleri, top down i bottom up kompajleri; Formalni jezici: gramatike, BNF i automati; Leksička analiza: generator skenera, regularni izrazi; Sintaksna analiza: teorija parsiranja, generator parsera, rukovanje greškama; Upravljanje memorijom i tabela simbola: organizacija memorije, implementacija tabele simbola, opseg vidljivosti; Tipovi: mehanizam tipova i provera tipova; Semantička analiza: opis i analiza semantike programskog koda; Vrste i reprezentacija međukoda: sintaksno stablo, postfiksna notacija, troadresni kod; Generisanje koda; Optimizacija (među)koda: osnovne vrste analize programa i optimizacije; Interpreteri i interpretacija međukoda. Predavanja; Računarske vežbe; Konsultacije. Ispit je usmeni. Ocena ispita se formira na osnovu uspeha sa računarskih vežbi i usmenog ispita.
|