Please use this identifier to cite or link to this item:
https://dspace.znu.edu.ua/jspui/handle/12345/18450
Title: | Розробка інтерпретатора вбудовуваної скриптової мови програмування з можливістю визначення довільної предметно-орієнтованої граматики |
Authors: | Стахов, Кирило Віталійович |
Keywords: | абстрактне дерево виразів вбудовувана мова програмування інтерпретатор предметно-орієнтована мова програмування синтаксичний аналіз abstract syntax tree embeddable programming language interpretator domain-specific programming language expression parsing |
Issue Date: | 2023 |
Abstract: | UA : Робота викладена на 111 сторінках друкованого тексту, містить 106 рисунків, 7 таблиць, 31 джерело, 11 додатків. Об’єкт дослідження – механізми та техніки синтаксичного аналізу, проєктування мов програмування, розробки інтерпретаторів та їх вбудовування в існуючі програмні продукти. Мета роботи: спроєктувати портативну скриптову мову програмування та реалізувати її інтерпретатор з можливістю визначення довільної граматики та вбудовування у існуючі програмні продукти. Метод дослідження – аналіз літературних джерел. У кваліфікаційній роботі розглядається процес проєктування скриптової мови програмування та процес розробки її інтерпретатора з можливістю розширення граматики та вбудовування до сторонніх програмних продуктів. Для синтаксичного аналізу коду інтерпретатором застосовано техніку Prattparsing. З використанням API прив’язок інтерпретатора реалізовано CLI для його зручного використання як самостійної середи виконання програм, написаних спроєктованою у даній роботі мовою програмування. Продемонстровано використання API вбудовування та прив’язки С++ функцій та класів на прикладі реалізації системи комп’ютерної алгебри та вбудованих класів інтерпретатора. Результати роботи можуть бути використані у будьякому програмному продукті, розробленому мовою С++ для реалізації динамічного розширення або змінення його функціональності та контенту. EN : The work is presented on 111 pages of printed text, 106 figures, 7 tables, 31 references, 11 supplements. Object of the study – methods and techniques of expression parsing, programing language design, interpreter development and embedding into existing software products. Aim of the study: to design a portable scripting programming language and implement an interpreter for it with ability to define arbitrary grammar and to embed it into existing software products. Method of research – literature analysis. This study examines the process of designing a scripting programming language and the process of developing its interpreter with the possibility of defining arbitrary grammars and embedding the interpreter into third-party software products. The interpreter uses the Pratt-parsing technique to parse the source code. With the use of the binding API of the interpreter, the CLI is implemented for its convenient use as a standalone execution environment for programs written in the programming language designed in this study. The use of the embedding API and C++ function and class binding APIs is demonstrated on the example of the implementation of a minimal computer algebra system and the built-in classes of the interpreter. The results of the study can be used in any software product developed in the C++ language to expand or change its functionality and content dynamically. |
Description: | Стахов К. В. Розробка інтерпретатора вбудовуваної скриптової мови програмування з можливістю визначення довільної предметно-орієнтованої граматики : кваліфікаційна робота магістра спеціальності 121 "Інженерія програмного забезпечення" / наук. керівник С. І. Гоменюк. Запоріжжя : ЗНУ, 2023. 111 с. |
URI: | https://dspace.znu.edu.ua/jspui/handle/12345/18450 |
Appears in Collections: | Кваліфікаційні випускні роботи здобувачів магістерського рівня вищої освіти кафедри програмної інженерії |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Стахов.pdf | Магістерська робота | 1.12 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.