Компајлери
| 1. Наслов на наставниот предмет | Компајлери | |||||||
| 2. Код | 3ФЕИТ07Л015 | |||||||
| 3. Студиска програма | КТИ | |||||||
| 4. Организатор на студиската програма | Факултет за електротехника и информациски технологии | |||||||
| 5. Степен | Прв циклус студии | |||||||
| 6. Академска година/семестар | III/6 | 7. Број на ЕКТС | 6.00 | |||||
| 8. Наставник | Д-р Аристотел Тентов | |||||||
| 9. Предуслов за запишување на предметот | Положени: Податочни структури и анализа на алгоритми | |||||||
| 10. Цели на предметната програма (компетенции): Запознавање со структурата и чекорите за дизајн на компајлери и интерпретери за програмски јазици. По завршување на курсот студентите ќе бидат оспособени за самостојно дизајнирање и изработка на компајлер/интерпретер за соодветен програмски јазик. | ||||||||
| 11. Содржина на програмата: Модел на компајлер/интерпретер; Структура и архитектура на реален компајлер; Лексичка анализа; Регуларни изрази; Табела на симболи; Вовед во парсирање. Синтаксна анализа и преведување. Граматичка обработка на контекстот. Конечни автомати. Граматики. Синтаксно-водено преведување. Од горе - надолу (top-down) парсирање. Од долу - нагоре (bottom-up) парсирање. Семантичка анализа и проверка на типови. Околина при извршување (Run-time environment). Генерирање на код. Интерпретери. Асемблер, дисасемблер, поврзувач (linker) и вчитувач (loader). Техники за оптимизација. Од синткасно дрво до меѓукод. Локална оптимизација. Глобална оптимизација. Експлицитен и имплицитен начин на управување со меморијата. Алокација на регистри. Автоамтско управување со меморијата. Безбедност на јазиците. Функционални и логички програми. Паралелни и дистрибуирани програми. | ||||||||
| 12. Методи на учење: Лабораториски вежби, практична работа и настава | ||||||||
| 13. Вкупен расположив фонд на часови | 2 + 2 + 1 + 0 | |||||||
| 14. Распределба на расположивото време | 180 | |||||||
| 15. Форми на наставните активности | 15.1. Предавања – теоретска настава | 30 | ||||||
| 15.2. Вежби, семинари, тимска работа | 45 | |||||||
| 16. Други форми на активност | 16.1. Проектни задачи | 15 | ||||||
| 16.2. Самостојни задачи | 30 | |||||||
| 16.3. Домашно учење | 60 | |||||||
| 17. Начини на оценување | 17.1. Тестови | 10 | ||||||
| 17.2. Семинарска работа/проект | 40 | |||||||
| 17.3. Активност и учење | 0 | |||||||
| 17.4. Завршен испит | 50 | |||||||
| 18. Критериуми за оценување | до 50 бодови | 5 (пет) (F) | ||||||
| од 51 до 60 бодови | 6 (шест) (E) | |||||||
| од 61 до 70 бодови | 7 (седум) (D) | |||||||
| од 71 до 80 бодови | 8 (осум) (C) | |||||||
| од 81 до 90 бодови | 9 (девет) (B) | |||||||
| од 91 до 100 бодови | 10 (десет) (A) | |||||||
| 19. Услов за потпис и полагање на завршен испит | Лабораториски вежби | |||||||
| 20. Јазик на кој се изведува наставата | Македонски и Англиски | |||||||
| 21. Метод на следење на квалитетот на наставата | Интерна евалуација и анкети | |||||||
| 22. Литература | ||||||||
| 22.1. Задолжителна литература | ||||||||
| Бр. | Автор | Наслов | Издавач | Година | ||||
| 1 | Ахо, Лам, Сети, Улман | Компајлери: принципи, техники и алатки, 2 издание | Адисон-Весли | 2007 | ||||
| 2 | Grune D.,Bal H.E., Jacobs C., Langendoen K.G. | Дизајнирање модерни компајлери | Џон Вајли и синови | 2000 | ||||
| 3 | Апел, Ендрју В. | Имплементација на модерни компајлери во Јава | Кембриџ | 2002 | ||||








