Системне програмування. Питання до теоретичного екзамену. Формальні мови та граматики. Регулярні мови. Контекстно-вільні мови. Класи КВ-мов і граматик. Загальні принципи побудови трансляторів. Генерація та оптимізація коду. Сучасні системи програмування
Системне програмування
Питання до теоретичного екзамену
Формальні мови та граматики
- Мови та ланцюжки символів. Способи задавання мов.
- Визначення граматики. Форма Бекуса-Наура.
- Класифікація мов і граматик.
- Ланцюжки виводу. Сентеціальна форма.
- Проблеми однозначності і еквівалентності граматик.
- Розпізнавач. Задача розбору.
Регулярні мови
- Регулярні мови та граматики.
- Скінченні автомати.
- Регулярні множини та регулярні вирази.
- Способи задання регулярних мов.
- Властивості регулярних мов.
Контекстно-вільні мови
- Розпізнавачі КВ-мов. Автомати з магазинною пам’яттю.
- Властивості КВ-мов.
- Перетворення КВ-граматик. Приведені граматики.
- КВ-граматики в нормальній формі.
- Розпізнавачі КВ-мов з поверненням.
- Табличні розпізнавачі для КВ-мов.
Класи КВ-мов і граматик
- Нисхідні розпізнавачі КВ-мов без повернення.
- Висхідні розпізнавачі КВ-мов.
- Співвідношення класів КВ-мов та КВ-граматик.
Загальні принципи побудови трансляторів
- Транслятори, компілятори та інтерпретатори – загальна схема роботи.
- Таблиці ідентифікаторів. Організація таблиць ідентифікаторів.
- Лексичні аналізатори (сканери). Принципи побудови сканерів.
- Синтаксичні аналізатори. Синтаксично-керований переклад.
Генерація та оптимізація коду
- Семантичний аналіз та підготовка до генерації коду.
- Генерація коду. Методи генерації коду.
- Оптимізація коду. Загальні методи оптимізації.
Сучасні системи програмування
- Визначення та структура системи програмування.
- Принципи функціонування систем програмування.
- Додаткові можливості систем програмування. Приклади сучасних систем програмування.
|