Компајлери
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 |