Програм се примењује од 21.11.2012..
Упознавање студената са принципима рада компајлера, концептима превођења са једног програмског језика на други, алатима за њихово прављење и начином њихове имплементације. Овладавање прављењем компајлера на почетничком нивоу.
Након успешно завршеног курса студент познаје принципе рада компајлера; познаје фазе компајлирања; користи технике превођења са једног језика на други; рукује алате за генерисане компајлера и прави скенере, парсере и једноставне компајлере.
Задатак компајлера: фазе компајлирања; Врсте програмских језика и компајлера: ЛЛ и ЛР компајлери, топ доwн и боттом уп компајлери; Формални језици: граматике, БНФ и аутомати; Лексичка анализа: генератор скенера, регуларни изрази; Синтаксна анализа: теорија парсирања, генератор парсера, руковање грешкама; Управљање меморијом и табела симбола: организација меморије, имплементација табеле симбола, опсег видљивости; Типови: механизам типова и провера типова; Семантичка анализа: опис и анализа семантике програмског кода; Врсте и репрезентација међукода: синтаксно стабло, постфиксна нотација, троадресни код; Генерисање кода; Оптимизација (међу)кода: основне врсте анализе програма и оптимизације; Интерпретери и интерпретација међукода.
Предавања; Рачунарске вежбе; Консултације. Испит је усмени. Оцена испита се формира на основу успеха са рачунарских вежби и усменог испита.
Аутори | Назив | Година | Издавач | Језик |
---|
Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey Ullman | Compilers: Principles, Techniques, and Tools (2nd Edition), (Dragon`s book) | 2006 | Addison-Wesley, Reading, Massachusetts | Енглески |
Предметна активност | Предиспитна | Обавезна | Број поена |
---|
Одбрана пројекта | да | да | 50.00 |
Усмени део испита | не | да | 50.00 |
| Име и презиме | Вид наставе |
---|
| | Предавања |
| | Рачунарске вежбе |
| | Рачунарске вежбе |