ФАЗИ ПОБУДОВИ МОВНОГО ПРОЦЕСОРА ДЛЯ ПЛАТФОРМИ .NET

  • T. M. Sopronyuk Чернівецький національний університет імені Юрія Федьковича, Чернівці, Україна
  • A. Yu. Sopronyuk Чернівецький національний університет імені Юрія Федьковича, Чернівці, Україна
  • A. V. Drobot Чернівецький національний університет імені Юрія Федьковича, Чернівці, Україна
Ключові слова: .NET, ANTLR, мовний процесор, теорія формальних мов, формальна граматика, скінченний автомат

Анотація

У статтi представлено комплексний пiдхiд до розробки мов програмування для платформи .NET. Не зважаючи на наявнiсть iснуючих мов програмування та їхнiх мовних процесорiв, iснують виклики, пов’язанi з необхiднiстю створення спецiалiзованих мов для конкретних галузей, а також оптимiзацiї ефективностi та продуктивностi програмних рiшень. Особливо ця проблема помiтна на спецiалiзованих виробництвах, де дуже часто виникає потреба в розробцi власної вузькоспецiалiзованої мови. Створення ефективних та високорiвневих мов, оптимiзованих для конкретних завдань, є важливим етапом у розвитку програмного забезпечення. Видiлення невирiшених аспектiв та прогалин у науковому
пiдходi до створення таких iнструментiв є ключовим для подальших дослiджень. У статтi продемонстровано створену iєрархiю класiв для операцiй над регулярними мовами та наводиться конкретна специфiкацiя власної мови програмування Vlan. Розроблена iєрархiя класiв дозволяє конструювати складнi формалiзми, такi як таблицi переходiв автомату i праволiнiйнi граматики, i використовувати їх для реалiзацiї задач розпiзнавання або перетворення ланцюжкiв визначеної структури в рiзних програмних додатках. Автори розглядають етапи створення мови, починаючи вiд проектування синтаксису та семантики, до реалiзацiї мовного процесора з генерацiєю коду CIL для вiртуальної машини .NET. Також дослiджено процес iнтеграцiї мов програмування в сучаснi середовища програмування. Для такої iнтеграцiї використано протокол взаємодiї мовних серверiв LSP та генератор синтаксичних аналiзаторiв ANTLR. Побудовано TextMate граматику для мови програмування Vlan i створено класи LSP клiєнта та сервера. Результати дослiдження вказують на важливiсть системного пiдходу до розробки мов програмування та їхньої адаптацiї до конкретних завдань та вимог користувачiв у середовищi .NET.

Завантаження

Дані завантаження ще не доступні.

Посилання

References
[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
Опубліковано
2023-12-31
Як цитувати
[1]
Sopronyuk, T., Sopronyuk, A. і Drobot, A. 2023. ФАЗИ ПОБУДОВИ МОВНОГО ПРОЦЕСОРА ДЛЯ ПЛАТФОРМИ .NET. Буковинський математичний журнал. 11, 2 (Груд 2023), 71-84. DOI:https://doi.org/10.31861/bmj2023.02.07.