ФАЗИ ПОБУДОВИ МОВНОГО ПРОЦЕСОРА ДЛЯ ПЛАТФОРМИ .NET
Анотація
У статт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.
Завантаження
Посилання
[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
Автори, які публікуються у цьому журналі, погоджуються з наступними умовами:
1. Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution License, котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у цьому журналі.
2. Автори мають право укладати самостійні додаткові угоди щодо неексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у цьому журналі.
3. Політика журналу дозволяє і заохочує розміщення авторами в мережі Інтернет (наприклад, у сховищах установ або на особистих веб-сайтах) рукопису роботи, як до подання цього рукопису до редакції, так і під час його редакційного опрацювання, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи (див. The Effect of Open Access).