Název:
Konvertor gramatik pro JetBrains MPS
Překlad názvu:
Grammar to JetBrains MPS Convertor
Autoři:
Vysoký, Přemysl ; Parízek, Pavel (vedoucí práce) ; Yaghob, Jakub (oponent) Typ dokumentu: Diplomové práce
Rok:
2016
Jazyk:
eng
Abstrakt: [eng][cze] JetBrains MPS is a language workbench focusing on domain-specific languages. Unlike many other language workbenches and IDEs, it uses a projectional editor for code. The developer directly manipulates the program in its tree form (AST) and not by editing a text source code. This brings many advantages, but on the other hand requires time-consuming and complicated MPS language definition. The thesis elaborates on the possibility of automating the process of creating MPS language definition from its grammar description. It introduces the MPS editor, evaluates approaches of related projects and describes author's efforts to implement an MPS plugin that allows this import. The chosen approach and the selection of tools used for implementation are justified in the thesis. We point out important problems that any similar project might deal with and we introduce some possible solutions. Furthermore, the thesis contains examples of imported languages, showing the potency of the chosen approach. The thesis also aims to lay groundwork for future extensions and suggest possible improvements.JetBrains MPS je nástroj pro tvorbu programovacích jazyků, který se specializuje na doménově specifické jazyky. Na rozdíl od většiny podobných nástrojů, či klasických IDE, se v MPS programuje pomocí projekčního editoru. Uživatel manipuluje s programem v jeho stromové podobě (AST) a ne editováním textového zdrojového kódu. Toto přináší mnoho výhod, ale také vyžaduje časově náročnou a komplikovanou definici jazyka používaného uvnitř MPS. Diplomová práce zkoumá možnost automatické tvorby MPS jazyků pomocí importu jejich gramatik. V práci je představen editor MPS, zhodnocen přístup podobných existujících projektů a popsána autorova snaha o implementaci MPS pluginu, který takový import umožňuje. Zvolený postup a výběr nástrojů použitých k implementaci je spolu s architekturou pluginu také popsán a zdůvodněn. Dále práce rozebírá důležité problémy, které s tématem souvisí a každý podobný projekt je také musí řešit. K některým z problémů jsou uvedena a popsána možná řešení. V poslední řadě obsahuje práce i příklady importovaných jazyků, které ukazují efektivnost implementovaného pluginu. Spolu s tím je zmíněno několik návrhů na rozšíření práce a možná vylepšení. Práce si totiž klade za záměr prozkoumat a zdokumentovat danou tématiku, aby bylo možné navázat dalším výzkumem.
Klíčová slova:
gramatika; import; JetBrains MPS; konvertor; konverze; programovací jazyk; projekční editor; convertor; grammar; import; JetBrains MPS; programming language; projectional editor