Компајлери

Објавено: октомври 23, 2019

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