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.