Навигација

СИ4ПП2 - Програмски преводиоци 2

Спецификација предмета
НазивПрограмски преводиоци 2
АкронимСИ4ПП2
Студијски програмСофтверско инжењерство
Модул
Тип студијаосновне академске студије
Наставник (предавач)
Наставник/сарадник (вежбе)
Наставник/сарадник (ДОН)
Број ЕСПБ6.0Статус предметаизборни
Условљност другим предметимаПоложен предмет: Програмски преводиоци 1
Циљеви изучавања предметаСтуденти треба да стекну боље разумевање следећих тема: разноврснe технике парсирања; откривање грешака и опоравак; представљање међукода; Оптимизација кода; управљање меморијом; генерисање кода.
Исходи учења (стечена знања)Oчекује се да студент по завршетку курса буде у стању да: Демонстрира разумевање, критичку анализу и примену важећих теорија, модела и техника из области конструкције програмских преводилаца. Да буде способан да примени напредније алате за конструкцију компајлера и језичких процесора.
Садржај предмета
Садржај теоријске наставеНапредне технике лексичке и синтаксне анализе GLR. Опоравак од грешака у парсирању. Напредно генерисањe међукода SSA. Извршно окружење:стратегије доделе и ослобађања меморије, виртуелнe машинe. Напреднији генератори кода. Oптимизације за класичне архитектуре: локалне и глобалне. Напредни алати за конструкцију компајлера LLVM и други.
Садржај практичне наставеАудиторне вежбе које илуструју поједине концепте и технике обрађене на предавањима. Практичан пројекат имплементације задатог алгоритма из области конструкције преводиоца који студент самостално израђује.
Литература
  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.
Број часова активне наставе недељно током семестра/триместра/године
ПредавањаВежбеДОНСтудијски и истраживачки радОстали часови
221
Методе извођења наставеПредавања, аудиторне вежбе, самостална израда пројекта
Оцена знања (максимални број поена 100)
Предиспитне обавезеПоенаЗавршни испитПоена
Активности у току предавања0Писмени испит60
Практична настава0Усмени испит0
Пројекти40
Колоквијуми0
Семинари0