Вітаю Вас Гість | RSS

Сайт викладача кафедри ІПІ ФІОТ Баклана Ігоря Всеволодовича

Неділя, 28.04.2024, 09:05

"Мова програмування - це миша.

Мова програмування з компілятором - це слон."

Програміська мудрість.

Навчальний курс для бакалаврів спеціальності "Інженерія програмного забезпечення".

Лекції

Лекції 1-2. Введення в теорію компіляторів мов програмування. Історія розвитку. pdf

Лекція 3. Форми запису граматики мови програмування. pdf1, pdf2, pdf3

Noam Chomsky Three Models for the Description of Language. IRE Transactions on Information Theory. September, 1956.

Сайт з роботами Наома Хомського (Чомського)

Лекція 4. Формальні системи та парадигми програмування. pdf

Література до 4 лекції:

 

1. Peter Van Roy. The principal programming paradigms (2008). pdf

2. R. W. Floyd. The Paradigms of Programming Communications of the ACM, 22(8):455—460, 1979. Русский перевод см. в кн.: Лекции лауреатов премии Тьюринга за первые двадцать лет (1966—1985), М.: МИР, 1993.

3. Барендрегт, Хенк. Ламбда-исчисление. Его синтаксис и семантика. — М.: Мир, 1985. — 606 с.

4. The Imperative and Functional Programming Paradigm pdf

 

Лекція 5. Сканер (лексичний аналізатор). pdf

Лекція 6. Приклад опису мови програмування (1) pdf

Лекція 7.1-7.4. Приклад опису мови програмування (2) pdf

Синтаксичний аналізатор. Парсінг. pdf

Види синтаксичного розбору. pdf pdf2 pdf3

Діаграми синтаксичного розбору на прикладі мови програмування pdf

Лекція 8. САМОВИЗНАЧЕННЯ СЕМАНТИКИ МОВ ПРОГРАМУВАННЯ слайди

                Додаткові матеріали до лекції

 

Лекція 9.1. ФОРМАЛІЗАЦІЯ СЕМАНТИКИ МОВ ПРОГРАМУВАННЯ. Типи опису семантики мови програмування. pdf

Лекція 10. Аксіоматичний метод опису семантики. pdf

Лекція 11. Опис семантики за допомогою математичної індукції. pdf

Лекція 12. Універсальна мова програмування. Машини М.Мінського. pdf

Лекція 13.

 

Лабораторні роботи

 

Рекомендована література

  1. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. В 2-х томах. Том 1. М.: Мир, 1978. –616с.
  2. Ахо А., Моника С. Лам М., Рави Сети Р., Ульман Дж. Компиляторы. Принципы, технологии и инструментарий. – Вильямс, 2003. – 768 с.
  3. Грис Д. Конструирование компиляторов для цифровых вычислительных машин /Пер.с англ. –М.: Мир, 1975.
  4. Донован Дж. Системное программирование /Пер.с англ. –М.: Мир, 1975. –540с.
  5. Хантер Р. Проектирование и конструирование компиляторов. –М.: Финансы и статистика, 1984.

Додаткова література 1, 2

 

Захист курсового проекту буде відбувати у три етапи:

1. Надіслати ПЗ та записку на електронну пошту викладача.

2. Після узгодження (отримання позитивної відповіді від викладача) роздрукувати записку за вимогами ДСТУ.

3. З роздрукованою запискою захистити проект.

Дата захисту - 8 червня о 14:00.

Крайній термін захисту 21 червня.

При незахисті курсового проекту студент відраховується. Другої спроби захисту не надається.

 

СТРУКТУРА КУРСОВОГО ПРОЕКТУ “ТЕОРІЯ КОМПІЛЯТОРІВ”

 

Записка повинна включати наступні розділи:

 

1. Постановка задачі

2. Теоретичні основи обраних парадигм програмування. Побудова гібридної теорії.

3. Опис обраної проблемно-орієнтованої мови програмування в БНФ (на основі мінімум двох парадигм).

4. Реалізація лексичного та синтаксичного аналізаторів на основі опису БНФ.

5. Опис семантики мови програмування (в одній з наступних форм):

а) аксіоматичний опис

б) алгебраїчний опис

в) опис action semantics

6. Програмна реалізація компілятора обраної мови програмування

 

Додаток 1. Вхідні тексти програмної реалізації компілятора

Додаток 2. Скріншоти прикладів роботи компілятора

Рекомендована література 1, 2