Превођење програмских језика
Курс Превођење програмских језика је обавезан курс на трећој години И смера у оквиру којег се проучавају основни концепти превођења програмских језика (лексичка и синтаксичка анализа).
Предметни наставници
Асистенти
Главни и основни извор информација је званична страница курса.
Програм курса
- Регуларни изрази
- Алати командне линије са регуларним изразима
- Регуларни изрази у Python-у
- Лексичка анализа у Flex-у
- Синтаксичка анализа у Bison-у
- Синтаксна стабла
- Синтаксичка анализа наниже (рекурзивни спуст и потисни аутомати)
Литература за вежбе
- Искоментарисани кодови из 2023/2024 (одељак Materijali sa časova)
- Владимир Кузмановић, Ана Вуловић, Збирка задатака из Превођења програмских језика
- GitHub репозиторијум одржаних часова мојих вежби из 2024/2025.
- Скрипта за синтаксна стабла (уз пратеће видео снимке)
Препоруке за учење
Први извор за спремање вежби су кодови из ставке 1 са списка литературе. Ту можете наћи све што је пређено на вежбама. За детаљнија објашњења можете да користите збирку из ставке 2 коју већина примера који се могу наћи у 1 прате. Она покрива све теме програма осим синсаксних стабала, за њу можете користити скрипту из ставке 4 пропаћену кодовима из 3.
Дакле, кодови из 1. ставке за све, и још додатно, по градиву:
- Регуларни изрази - збирка (поглавље 1)
- Алати командне линије са регуларним изразима - збирка (поглавље 2)
- Регуларни изрази у Python-у - збирка (поглавље 3)
- Лексичка анализа у Flex-у - збирка (поглавље 5)
- Синтаксичка анализа у Bison-у - збирка (од секције 8.2 до краја поглавља 8)
- Синтаксна стабла - скрипта уз кодове
- Синтаксичка анализа наниже (рекурзивни спуст и потисни аутомати) - збирка (поглавље 7) и може бити корисна теорија око формирања скупова избора са предавања
Када је наведена секција подразумева се у целини. Међутим, кодови са часова могу да служе као филтер задатака које треба прећи из одговарајућих секција. Наравно, пожељно урадити што више примера.