Інтерпретатор лямбда-виразів

dc.contributor.advisorСтативка, Юрій Іванович
dc.contributor.authorКорнієнко, Владислав Сергійович
dc.date.accessioned2023-01-16T10:29:58Z
dc.date.available2023-01-16T10:29:58Z
dc.date.issued2022
dc.descriptionДане дослідження показує як можна здіснювати обробку та обчислення лямбда-виразів в рамках нетипізованого лямбда-числення. Розроблено інструмент для інтерпретації лямбда-виразів, в якому реалізовано основні концепції нетипізованого лямбда-числення. Інтерпретатор лямбда-виразів розроблено у вигляді клієнт-серверного застосунку з використанням інтерфейсу прикладного програмування.uk
dc.description.abstractМагістерська дисертація за темою “Інтерпретатор лямбда-виразів” виконана студентом кафедри інженерії програмного забезпечення в енергетиці НН ІАТЕ Корнієнком Владиславом Сергійовичем зі спеціальності 121 “Інженерія програмного забезпечення” за освітньо-професійною програмою “Інженерія програмного забезпечення інтелектуальних кібер-фізичних систем і веб-технологій” і складається зі: вступу; 5 розділів (“Опис предметної області”, “Функціональні вимоги”, “Опис програмної реалізації”, “Робота користувача з програмною системою” і “Розробка стартап проєкту”), висновків до кожного з цих розділів; загальних висновків; списку використаних джерел, який налічує 17 джерел; 33 ілюстрації; 29 таблиць та 2 додатки. Загальний обсяг роботи 132 сторінки. Актуальність. Лямбда-числення - це теоретичний базис функційних мов програмування. І хоча спочатку популярними функційні мови програмування були лише у колах академічних дослідників, але згодом дана парадигма змогла привернути до себе і комерційний інтерес. Зростаюча популярність функційних мов обумовлює потребу в більшій кількості розробників, що спеціалізуються на функційній парадигмі програмування. В свою чергу, вивчення лямбда-числення дає більш глибоке розуміння принципів функційної парадигми програмування. Багато концепцій лямбда-числення можна застосувати до мов загального призначення, таких як JavaScript. Також це ефективний інструмент для моделювання мов програмування, а також опису та вивчення стратегій обчислення в різних мовах програмування. Мета роботи. Метою дипломної роботи є створення програмної реалізації інтерпретатора лямбда-виразів. Відповідно до сформульованої мети дипломної роботи було виділено наступний перелік задач: - аналіз предметної області та опрацювання відповідної літератури; - вивчення методів обчислення лямбда-виразів в рамках нетипізованого лямбда-числення і можливостей їх реалізації; - проектування структури програмного продукту; - реалізація інтерпретатора та серверної частини за допомогою обраних засобів розробки; - розробка користувацького інтерфейсу, за допомогою якого відбуватиметься взаємодія користувача з інтерпретатором; - аналіз перспектив розвитку розробленого програмного продукту. Об’єкт дослідження. Лямбда-числення та операції над елементами лямбда-числення. Предмет дослідження. У даному дипломному проєкті предметом дослідження виступають методи обробки та обчислення лямбда-виразів в рамках нетипізованого лямбда-числення. Методи дослідження. Для вирішення поставлених задач використовуються методи об’єктно-орієнтованого аналізу для опису об’єктів предметної області та методи порівняльного аналізу. Практичне значення отриманих результатів. Відповідно до поставленої мети було розроблено програмну реалізацію інтерпретатора лямбда-виразів. Розроблений програмний продукт забезпечує виконання операцій над елементами лямбда-числення із розширеним набором функціональних можливостей. За результатами, що були отримані внаслідок реалізації програмного продукту, можна стверджувати, що основною перспективою розвитку програмного продукту є його інтеграція в одну навчальну систему (навчальний портал) із розширенням наявного функціоналу, що дозволить об’єднати різноманітні інтерактивні методи вивчення стратегій обчислення в різних мовах програмування, вивчення базису функційної парадигми програмування.uk
dc.description.abstractenThe master's thesis on the topic "Lambda-expression interpreter" was completed by Vladyslav Korniienko, a student of the Department of Software Engineering in Energy of the Educational and Scientific Institute of Nuclear and Thermal Energy from the specialty 121 "Software Engineering" under the educational and professional program "Software engineering of intelligent cyber-physical systems and web technologies" and consists of: introduction; 5 sections ("Description of the subject area", "Functional requirements", "Description of software implementation", "User work with the software system" and "Development of a startup project"), conclusions to each of these sections; general conclusions; the list of used sources, which includes 17 sources; 33 illustrations; 29 tables and 2 appendices. The total volume of work is 132 pages. Topicality. Lambda calculus is the theoretical basis of functional programming languages. Although at first functional programming languages were popular only among academic researchers, later this paradigm was able to attract commercial interest. The growing popularity of functional languages leads to the need for more developers specializing in the functional programming paradigm. The study of lambda calculus gives a deeper understanding of the principles of the functional paradigm of programming. Many of the concepts of lambda calculus can be applied to general-purpose languages such as JavaScript. It is also an effective tool for simulating programming languages, as well as describing and learning computational strategies in different programming languages. The purpose of the master’s thesis. The purpose of the thesis is to create a software implementation of the lambda expression interpreter. In accordance with the formulated purpose of the thesis, the following list of tasks was selected: - analysis of the subject area and study of relevant literature; - studying the methods of calculating lambda expressions within the framework of untyped lambda calculus and the possibilities of their implementation; - designing the structure of the software product; - implementation of the interpreter and the server part using selected development tools; - development of a user interface through which the user interacts with the interpreter; - analysis of development prospects of the developed software product. Object of study. Lambda calculus and operations on elements of lambda calculus. Subject of study. In this master’s thesis, the subject of research is methods of processing and calculating lambda expressions within the framework of untyped lambda calculus. Research methods. Methods of object-oriented analysis to describe the objects of the subject area and methods of comparative analysis are used to solve the tasks. Practical significance. In accordance with the set purpose, a software implementation of the lambda expression interpreter was developed. The developed software product provides operations on lambda calculus elements with an extended set of functionality. According to the results obtained as a result of the implementation of the software product, it can be stated that the main perspective of the development of the software product is its integration into one educational system (educational portal) with the expansion of the existing functionality, which will allow combining various interactive methods of studying calculation strategies in different languages programming, studying the basis of the functional paradigm of programming.uk
dc.format.page133 с.uk
dc.identifier.citationКорнієнко, В. С. Інтерпретатор лямбда-виразів : магістерська дис. : 121 Інженерія програмного забезпечення / Корнієнко Владислав Сергійович. – Київ, 2022. – 133 с.uk
dc.identifier.urihttps://ela.kpi.ua/handle/123456789/51866
dc.language.isoukuk
dc.publisherКПІ ім. Сікорськогоuk
dc.publisher.placeКиївuk
dc.subjectлямбда-численняuk
dc.subjectлямбда-виразuk
dc.subjectабстракціяuk
dc.subjectзміннаuk
dc.subjectінтерпретаторuk
dc.subjectфункційне програмуванняuk
dc.subjectlambda-calculusuk
dc.subjectlambda-expressionuk
dc.subjectabstractionuk
dc.subjectvariableuk
dc.subjectinterpreteruk
dc.subjectfunctional programminguk
dc.subject.udc004.4uk
dc.titleІнтерпретатор лямбда-виразівuk
dc.typeMaster Thesisuk

Файли

Контейнер файлів
Зараз показуємо 1 - 1 з 1
Вантажиться...
Ескіз
Назва:
Kornienko_magistr.pdf
Розмір:
2.11 MB
Формат:
Adobe Portable Document Format
Опис:
Ліцензійна угода
Зараз показуємо 1 - 1 з 1
Ескіз недоступний
Назва:
license.txt
Розмір:
9.1 KB
Формат:
Item-specific license agreed upon to submission
Опис: