Subject

Програмски јазици и компајлери

1. Наслов на наставниот предмет Програмски јазици и компајлери
Programming languages and compilers
2. Код F23L3S112
3. Студиска програма
4. Организатор на студиската програма (единица, односно институт, катедра, оддел) Факултет за информатички науки и компјутерско инженерство
5. Степен (прв, втор, трет циклус) Прв циклус
6. Академска година / семестар 8 / Летен
7. Број на ЕКТС кредити 6
8. Наставник Миле Јованов
9. Предуслови за запишување на предметот Алгоритми и податочни структури или Примена на алгоритми и податочни структури
10. Цели на предметната програма (компетенции) Студентите треба да го разбрерат развојот и спектарот на програмските јазици, и да го сфатат процесот на конструкција на компајлер што ќе ги надгради како програмери кои навлегле во суштината на програмските јазици.
11. Содржина на предметната програма Предавања:
1. Вовед во предметот. Развој на програмските јазици
2. Спектар на програмсите јазици
3. Разработка на структурата на компајлерот со изучување на структурата на даден програмски јазик
4. Развој на граматики и синтаксно ориентирани преведувачи
5. Лексичка анализа
6. Синтакса и семантика, синтаксни дрва
7. Парсирање: bottom-up и top-down
8. Препроцесирање, поправка на грешки, симболни табели
9. Проверка на типови, семантичка проверка
10. Генерирање на код
11. Оптимизација на код
12. Bootstrapping. Конструкција на компајлер

Вежби:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
12. Методи на учење Предавања, вежби, проекти, семинарски работи
13. Вкупен расположив фонд на време 6 ЕКТС x 30 часа = 180 часа
14. Распределба на расположивото време 30 + 45 + 15 + 15 + 75 = 180 часа
15. Форми на наставните активности
15.1. Предавања - теоретска настава 30 часови
15.2. Вежби (лабораториски, аудиториски), семинари, тимска работа 45 часови
16. Други форми на активности
16.1. Проектни задачи 15 часови
16.2. Самостојни задачи 15 часови
16.3. Домашно учење 75 часови
17. Начин на оценување
17.1. Тестови 0 бодови
17.2. Семинарска работа / проект ( презентација: писмена и усна) 15 бодови
17.3. Активности и учење 16 бодови
17.4. Завршен испит 40 бодови
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. Услов за потпис и полагање на завршен испит Реализирани активности 15, 16
20. Јазик на кој се изведува наставата македонски и англиски
21. Метод на следење на квалитетот на наставата Анкети, разговор со студенти.
22. Литература
22.1. Задолжителна литература
1. Alfred Aho, Monica S. Lam, RaviSethi, Jeffrey D. Ullman | Compilers-Principles, Techniques and tools | Pearson Education, Inc | 2007
2. F.J.F. Benders; J.W. Haaring; T.H. Janssen; D. Meert; A.C. van Oostenrijk | Compiler Construction A Practical Approach | 2003
3. Niklaus Wirth | Compiler Construction | Addison-Wesley | 1996
22.2. Дополнителна литература
Ред.бр. Автор Наслов Издавач Година