Інтерпретатор лямбда-виразів
Вантажиться...
Дата
2022
Науковий керівник
Назва журналу
Номер ISSN
Назва тому
Видавець
КПІ ім. Сікорського
Анотація
Магістерська дисертація за темою “Інтерпретатор лямбда-виразів” виконана студентом кафедри інженерії програмного забезпечення в енергетиці НН ІАТЕ Корнієнком Владиславом Сергійовичем зі спеціальності 121 “Інженерія програмного забезпечення” за освітньо-професійною програмою “Інженерія програмного забезпечення інтелектуальних кібер-фізичних систем і веб-технологій” і складається зі: вступу; 5 розділів (“Опис предметної області”, “Функціональні вимоги”, “Опис програмної реалізації”, “Робота користувача з програмною системою” і “Розробка стартап проєкту”), висновків до кожного з цих розділів; загальних висновків; списку використаних джерел, який налічує 17 джерел; 33 ілюстрації; 29 таблиць та 2 додатки. Загальний обсяг роботи 132 сторінки.
Актуальність. Лямбда-числення - це теоретичний базис функційних мов програмування. І хоча спочатку популярними функційні мови програмування були лише у колах академічних дослідників, але згодом дана парадигма змогла привернути до себе і комерційний інтерес. Зростаюча популярність функційних мов обумовлює потребу в більшій кількості розробників, що спеціалізуються на функційній парадигмі програмування. В свою чергу, вивчення лямбда-числення дає більш глибоке розуміння принципів функційної парадигми програмування. Багато концепцій лямбда-числення можна застосувати до мов загального призначення, таких як JavaScript. Також це ефективний інструмент для моделювання мов програмування, а також опису та вивчення стратегій обчислення в різних мовах програмування.
Мета роботи. Метою дипломної роботи є створення програмної реалізації інтерпретатора лямбда-виразів.
Відповідно до сформульованої мети дипломної роботи було виділено наступний перелік задач:
- аналіз предметної області та опрацювання відповідної літератури;
- вивчення методів обчислення лямбда-виразів в рамках нетипізованого лямбда-числення і можливостей їх реалізації;
- проектування структури програмного продукту;
- реалізація інтерпретатора та серверної частини за допомогою обраних засобів розробки;
- розробка користувацького інтерфейсу, за допомогою якого відбуватиметься взаємодія користувача з інтерпретатором;
- аналіз перспектив розвитку розробленого програмного продукту.
Об’єкт дослідження. Лямбда-числення та операції над елементами лямбда-числення.
Предмет дослідження. У даному дипломному проєкті предметом дослідження виступають методи обробки та обчислення лямбда-виразів в рамках нетипізованого лямбда-числення.
Методи дослідження. Для вирішення поставлених задач використовуються методи об’єктно-орієнтованого аналізу для опису об’єктів предметної області та методи порівняльного аналізу.
Практичне значення отриманих результатів. Відповідно до поставленої мети було розроблено програмну реалізацію інтерпретатора лямбда-виразів. Розроблений програмний продукт забезпечує виконання операцій над елементами лямбда-числення із розширеним набором функціональних можливостей. За результатами, що були отримані внаслідок реалізації програмного продукту, можна стверджувати, що основною перспективою розвитку програмного продукту є його інтеграція в одну навчальну систему (навчальний портал) із розширенням наявного функціоналу, що дозволить об’єднати різноманітні інтерактивні методи вивчення стратегій обчислення в різних мовах програмування, вивчення базису функційної парадигми програмування.
Опис
Дане дослідження показує як можна здіснювати обробку та обчислення лямбда-виразів в рамках нетипізованого лямбда-числення. Розроблено інструмент для інтерпретації лямбда-виразів, в якому реалізовано основні концепції нетипізованого лямбда-числення. Інтерпретатор лямбда-виразів розроблено у вигляді клієнт-серверного застосунку з використанням інтерфейсу прикладного програмування.
Ключові слова
лямбда-числення, лямбда-вираз, абстракція, змінна, інтерпретатор, функційне програмування, lambda-calculus, lambda-expression, abstraction, variable, interpreter, functional programming
Бібліографічний опис
Корнієнко, В. С. Інтерпретатор лямбда-виразів : магістерська дис. : 121 Інженерія програмного забезпечення / Корнієнко Владислав Сергійович. – Київ, 2022. – 133 с.