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

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

Неділя, 28.04.2024, 13:33
 

ТЕОРІЯ МОВ ПРОГРАМУВАННЯ

Лекції 2021(весна)

Лекція 1. Введення в теорію мов програмування pdf

Пройти тест №1. Історія ТММ

Для проходження текстів спочатку треба зареєструватися на сайті під реальним іменем.

Після проходження тесту скріншот результату надішліть на пошту викладача.

Домашне завдання 1.

Письмово дайте відповідь на наступні питання і відішліть їх на пошту викладача.

1. Які три способи мислення щодо програмування часто називають парадигмами програмування?

2. Назвіть принаймні одну мову для кожного з трьох методів програмування, описаних у попередньому питанні.

3. Назвіть одну людину, яка мала багато спільного з розробкою імперативної моделі програмування. Назвіть іншого, хто сприяв функціональній моделі. Нарешті, назвіть людину, яка відповідала за розробку логічної моделі програмування.

4. Які основні характеристики кожної з імперативних, функціональних та логічних моделей?

5. Хто визнаний засновниками кожної з мов, які охоплює цей текст: Java, C ++, Python, Standard ML та Prolog?

6. Назвіть мову, відмінну від Python, C ++ або Java, яка є обов’язково об’єктно-орієнтованою за своєю суттю.

7. Назвіть мову, крім Standard ML, тобто функціональну мову програмування.

8. Які ще існують мови логічного програмування, крім Prolog? Можливо, вам доведеться проявити творчість щодо цього.

9. Чому складання програми віддається перевазі перед інтерпретацією програми?

10. Чому інтерпретація програми є кращою перед складанням програми?

11. Які переваги мають мови віртуальних машин перед мовами, що інтерпретуються?

12. Що таке програма байт-коду? Назвіть дві мови, які використовують байт-код у своїй реалізації.

13. Чому типи важливі в мові програмування?

14. Що означає для мови програмування динамічно набирати текст?

15. Що означає статичну типізацію мови програмування?

Лекція 2. Синтаксичний аналіз pdf

Лабораторна робота №1.

1. Побудувати виведення інфіксного виразу 4 + (a − b) ∗ x на основі граматики зі слайду 22 лекції 2.

2. Скласти програму визначення граматики на основі БНФ - GRAM-BNF - з занесенням до спеціалізованого файла з розширенням .grm.

3. Скласти програму виводу інфіксних виразів - DERIV на основі граматики з файлу з розширенням .grm.

4. Перевірити роботоздатність програм на прикладі з завдання 1.

5. Виконані завдання надіслати на пошту викладачу.

 

Лекція 3. Лексичний аналіз, парсінг pdf

 

Лабораторна №2. pdf

Термін здачі лабораторної - 10 березня 2021.

 

Лекція 4. Мова асемблера JCoCo pdf

 

Лекція 5. Мова асемблера JCoCo (продовження)pdf

Додаток до лекцій А. Інструкції мови асемблера JCoCo pdf

Відеофайл лекції mp4 (доступний до 03.06.2021)

Лекція 6. Мова асемблера JCoCo (завершення) pdf

Лекція 7. Імплементація мови ООП в JCoCo (початок) pdf

Лекція 8. Імплементація мови ООП в JCoCo (продовження) pdf

Додаток А. pdf

Лекція 9. Імплементація мови ООП в JCoCo (завершення) pdf

Лекція 10. Імплементація функціональних мов (початок) pdf

Лекція 11. Імплементація функціональних мов (завершення) pdf

Лекція 12, 13. Компіляція Standard ML pdf1 pdf2

Лекція 14. Standard ML (завершення) pdf

Лекція 15. Імплементація мов логічного програмування (початок) pdf

Лекція 16. Імплементація мов логічного програмування (завершення)

 

Лабораторна №3. pdf

Термін здачі лабораторної - 31 березня 2021.

Лабораторна №4. pdf

Лабораторна №5. pdf

Лабораторна №6. pdf

Пройти тест №2.

 

 

Заочна форма навчання

Лекції

Лекція 1. pdf

Лекція 2. pdf

Лекція 3. Programming language for computable functions PCF pdf

Лекція 4. Programming language for computable functions PCF (continue) pdf

Лекції для самостійного вивчення

Лекція 5. Абстрактна машина для PCF. Конструювання інтерпретаторів та компіляторів на PCF

Лекція 6. Типізація на PCF

Лекція 7. Алгоритми виведення мономорфних і поліморфних типів

Лекція 8. Семантика PCF з посиланнями

Лекція 9. Записи та об'єкти в PCF

Завдання для розрахунково-практичної роботи з дисципліни

 

Література

1. Programming Languages: Application andInterpretationVersion Second EditionShriram KrishnamurthiApril 14, 2017

2. Anatomy of Programming Languages (William R. Cook)

3. Practical Foundations for Programming Languages (Robert Harper)

4. Programming and Programming Languages (Shriram Krishnamurthi)