У статті представлено комплексний підхід до розробки мов програмування для
платформи .NET. Не зважаючи на наявність існуючих мов програмування та їхніх
мовних процесорів, існують виклики, пов'язані з необхідністю створення
спеціалізованих мов для конкретних галузей, а також оптимізації ефективності та
продуктивності програмних рішень. Особливо ця проблема помітна на спеціалізованих
виробництвах, де дуже часто виникає потреба в розробці власної вузькоспеціалізованої
мови. Створення ефективних та високорівневих мов, оптимізованих для конкретних
завдань, є важливим етапом у розвитку програмного забезпечення. Виділення
невирішених аспектів та прогалин у науковому підході до створення таких
інструментів є ключовим для подальших досліджень.
У статті продемонстровано створену ієрархію класів для операцій над
регулярними мовами та наводиться конкретна специфікація власної мови
програмування Vlan. Розроблена ієрархія класів дозволяє конструювати складні
формалізми, такі як таблиці переходів автомату і праволінійні граматики, і
використовувати їх для реалізації задач розпізнавання або перетворення ланцюжків
визначеної структури в різних програмних додатках.
Автори розглядають етапи створення мови, починаючи від проектування
синтаксису та семантики, до реалізації мовного процесора з генерацією коду CIL для
віртуальної машини .NET. Також досліджено процес інтеграції мов програмування в
сучасні середовища програмування.
Для такої інтеграції використано протокол взаємодії мовних серверів LSP та
генератор синтаксичних аналізаторів ANTLR. Побудовано TextMate граматику для
мови програмування Vlan і створено класи LSP клієнта та сервера.
Результати дослідження вказують на важливість системного підходу до
розробки мов програмування та їхньої адаптації до конкретних завдань та вимог
користувачів у середовищі .NET.
[1] Sopronyuk T.M., Drobot A.V. Development of a GUI for the custom .NET language Vlan. Proc of the
Intern Conf. "Mathematics and Information Technologies", Chernivtsi, Ukraine, September 28–30, 2023,
Chernivtsi National University, Chernivtsi, 2023, 320-323. (in Ukrainian)
[2] Drobot A.V., Development of a language processor for the .NET platform using ANTLR. Proc of the
Intern Conf. "Applied Mathematics and Information Technologies", Chernivtsi, Ukraine, September
22–24, 2022, Chernivtsi National University, Chernivtsi, 2022, 260–262. (in Ukrainian)
[3] Drobot A.V., Development of a language processor for the .NET platform using ANTLR. Qualification
work, Chernivtsi, Chernivtsi National University, 2022, 84 p. (in Ukrainian)
[4] Sopronyuk T.M., Drobot A.V. Development tools for programming languages on the .NET platform.
Proc of the Intern Conf. "Applied Mathematics and Information Technologies", Chernivtsi, Ukraine,
September 22–24, 2022, Chernivtsi National University, Chernivtsi, 2022, 273–276. (in Ukrainian)
[5] Sopronyuk T.M. Systems Programming. Part II. Elements of Compilation Theory: Educational manual
in two parts. Chernivtsi National University, Chernivtsi, 2008, 84 p. (in Ukrainian)
[6] Sopronyuk T.M., Sopronyuk A.Yu. Computation of regular expressions over formalisms of automata
languages. Proc of the Intern Conf "Analysis, Modeling, Control, Development" of Economic Systems
(AMUR-2011)", Sevastopol, Ukraine, September 12-18, 2011, 348-349. (in Ukrainian)
[7] Alfred V. Aho, Jeffrey D. Ullman. The theory of Parsing, Translation and Compiling. Volume 1. Prentice-
Hall, Inc., 1972.
[8] ANTLR Reference Manual [Electronic resource] - Access mode: https://www.antlr3.org/share/
1084743321127/ANTLR\_Reference\_Manual.pdf
[9] Santosh Singh. ANTLR С# Cookbook [Electronic resource] - Access mode: https://www.amazon.com/
Create-Compiler-Using-ANTLR-Crash-Course-ebook/dp/B09BJ4CRTJ
[10] Understanding the Language Server Protocol [Electronic resource] - Access mode: https://medium.
com/@malintha1996/understanding-the-language-server-protocol-5c0ba3ac83d2
- ACS Style
- Сопронюк , Т.М.; Сопронюк, А.; Дробот , А. Фази побудови мовного процесора для платформи .NET. Буковинський математичний журнал. 2023, 11 https://doi.org/https://doi.org/10.31861/bmj2023.02.07
- AMA Style
- Сопронюк ТМ, Сопронюк А, Дробот А. Фази побудови мовного процесора для платформи .NET. Буковинський математичний журнал. 2023; 11(2). https://doi.org/https://doi.org/10.31861/bmj2023.02.07
- Chicago/Turabian Style
- Тетяна Миколаївна Сопронюк , Андрій Сопронюк, Андрій Дробот . 2023. "Фази побудови мовного процесора для платформи .NET". Буковинський математичний журнал. 11 вип. 2. https://doi.org/https://doi.org/10.31861/bmj2023.02.07