Циљ
Исход
Методе извођења наставе
Садржај
Литература
Стечена знања о концептима и карактеристикама савремених преводилаца омогућавају студентима да објасне и анализирају начине имплементације програмских језика, што директно утиче и на избор одговарајућих језика и њихову примену у пројектовању савремених софтверских апликација. Поред тога, стечена знања о развијеним алатима заснованим на генераторима парсера студенти могу применити у развоју и имплементацији доменско-специфичних језика.
Теоријска настава
Увод у програмске преводиоце. Лексичка анализа: регуларни изрази и коначни аутомати. Синтаксна анализа. Врсте парсера:
парсирање одоздо на горе и одозго на доле. Семантичка анализа. Извршно окружење. Генерисање међукода. Генерисање кода.
Оптимизација кода. Интерпретери и Хибридни имплементациони системи. Преглед алата за генерисање скенера и парсера.
Коришћење алата заснованих на генераторима парсера за развој и имплементацију изабраног доменско-специфичног језика.
Практична настава
Вежбе прате предавања. На вежбама студенти добијају практична знања о концептима и карактеристикама програмских
преводилаца и развијеним алатима за њихову имплементацију.
1. Aho A.V., Lam M.S., Sethi R.,
Ullman J.D.
Compilers: Principles, Techniques, and Tools, Second
edition Addison-Wesley 2006
2. Mogensen T. Introduction to Compiler Design, Second edition Springer International
Publishing 2017
