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

Циљ и исход предмета

Овладавање концептима и техникама пројектовања програмских језика. Стечена знања омогућују пројектовање и имплементацију конкретних програмских језика као и основу за даљи истраживачки рад у овој области.

Теоријска настава

Спектар програмских језика. Превођење и интерпретација. Синтакса програмског језика. Регуларни изрази и безконтекстне граматике. Скенери и парсери. Имена, домени и повезивања. Појам времена повезивања. Управљање временом живота и меморијом објекта. Правила домена. Повезивање окружења. Семантичка анализа. Атрибутивна граматика. Токови атрибута. Просторно управљање атрибутима. Маркирање синтаксног стабла. Рачунарска архитектура на нивоу асемблера. Хијерархија меморије. Представљање података. Архитектура скупа инструкција. Превођење за савремене процесоре. Контрола тока. Израчунавање израза. Структуирани и неструктуирани ток. Секвенционирање. Селекција. Итерација. Рекурзија. Недетерминисаност. Типови података. Провера типова. Записи и варијанте. Вектори. Стрингови. Показивачи и рекурзивни типови. Листе. Датотеке и улаз/излаз. Тестирање једнакости и додељивања. Потпрограми и апстракција контроле. Конфигурација стека. Позивне секвенце. Пренос параметара. Генерички потпрограми и модули. Обрада грешака. Израда извршних програма.

Студијски истраживачки рад

Део наставе на предмету се одвија кроз самостални студијски истраживачки рад који обухвата писање рада или имплементације неког конкретног решења из области програмских језика.

5765-programski-jezici-2