Перейти до основного вмісту
Фази побудови мовного процесора для платформи .NET
Сопронюк Тетяна Миколаївна 1 , Сопронюк Андрій 2 , Дробот Андрій 1
1 Кафедра прикладної математики та інформаційних технологій, Чернівецький національний університет імені Юрія Федьковича, Чернівецька область, Чернівці, 58000, Україна
2 Кафедра диференціальних рівнянь, Чернівецький національний університет імені Юрія Федьковича, Чернівецька область, Чернівці, 58000, Україна
Ключові слова: .NET, ANTLR, мовний процесор, теорія формальних мов, формальна граматика, скінченний автомат
Анотація

У статті представлено комплексний підхід до розробки мов програмування для
платформи .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
Експортувати
Ми використовуємо власні та сторонні файли cookies та localStorage для аналізу веб-трафіку та поширення матеріалів. Налаштування конфіденційності