Дисциплини

6 Семантика на езиците за програмиране

Седмичен хорариум 2+0+2
Форма на контрол Изпит

Анотация


Дисциплината „Семантика на езиците за програмиране" има за цел да даде познанияза ролята на семантичното описание при спецификацията и транслацията на езиците за програмиране както и при верификацията на програми. Разглеждат се основните видове формални граматики. Специално внимание се обръща на решаването на семантични проблеми в съвременните езици за програмиране: типове данни, езикови конструкции, виртуални машини.
Дисциплината се основава на предхождащите я дисциплини: „Базово програмиране“, „Синтез и анализ на алгоритми“, „Операционни системи“, „Обектно-ориентирано програмиране - I и II част“, „Компилатори и интерпретатори“. Дисциплината осигурява студентите с част от теоретичната и практическа база за разработване на дипломна работа.

Съдържание


1. Семантика на езиците за програмиране. Основни понятия
2. Формални семантики: операционна, денотационна, аксиоматична. Статична и динамична семантика
3. Спецификация на езиците за програмиране. Синтактични и семантични особености
4. Интерпретатори и виртуални машини
5. Семантика на базови езикови конструкции – присвояване, управляващи структури, извикване на процедури, изключения
6. Семантика на основни типове данни. Статична и динамична проверка на типовете
7. Преобразуване на типове данни. Декларации и дефиниции. Абстрактни типове данни
8. Семантични особености на обектно-ориентираните езици. Семантика на класове, наследяване, полиморфизъм
9. Обекти. Организация на паметта, създаване и унищожаване на обекти
10. Верификация на програми. Методи за верификация