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 |