Original title:
Generátor nástrojů pro doménově specifické jazyky
Translated title:
Tools Generator for Domain-Specific Languages
Authors:
Kosík, Daniel ; Regéciová, Dominika (referee) ; Křivka, Zbyněk (advisor) Document type: Bachelor's theses
Year:
2024
Language:
eng Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[eng][cze]
DSL Tools Generator je nástroj pro zjednodušení vývoje doménově specifických jazyků generováním částí jejich implementace (např. abstraktního syntaktického stromu) v jazyce C# a nástrojů pro použití daného jazyka v editorech kódu. Podle zadané gramatiky a konfiguračního souboru vygeneruje implementaci serveru pro Language Server Protocol a rozšíření pro Visual Studio Code, které poskytuje zvýrazňování syntaxe a syntaktických chyb a základní doplňování kódu. Výsledkem práce je nástroj, který dokáže podstatně zkrátit čas a snížit úsilí potřebné k vytvoření doménově specifického jazyka s podporou v editorech kódu.
DSL Tools Generator is a tool for simplifying the development of domain-specific languages by generating parts of their implementation (e.g. abstract syntax tree) in C# and tools for using the language in a code editor. Based on an ANTLR4 grammar and a DSL configuration file, it generates a server implementation for the Language Server Protocol and a language support extension for Visual Studio Code that provides syntax highlighting, error reporting, and basic code completion functionality. The developed tool can significantly reduce the time and effort required for building a DSL with editor support.
Keywords:
C#; doménově specifický jazyk; editor kódu; generování kódu; Language Server Protocol; regulární výraz; TextMate; Visual Studio Code; zvýrazňování syntaxe; C#; code editor; code generation; domain-specific language; Language Server Protocol; regular expression; syntax highlighting; TextMate grammar; Visual Studio Code
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: https://hdl.handle.net/11012/246604