DSL-specific IDE generation

dc.contributor.advisor Trávníček, Jan
dc.contributor.author Pakhomov, Pavel
dc.contributor.referee Šebek, Jiří
dc.date.accessioned 2021-08-25T22:52:23Z
dc.date.available 2021-08-25T22:52:23Z
dc.date.issued 2021-08-25
dc.description.abstract Cílem této bakalářské práce je navrhnout a vyvinout plugin Intellij IDEA, který bude generovat infrastrukturu jazykové podpory a integrovat nové programovací jazyky do IDE na základě specifikace jazykové gramatiky. Cílem teoretické části projektu je zkoumaní teorie formálního jazyka a metod definice jazykové gramatiky. Je také analyzován Xtext framework z Eclipse IDE, jehož funkčnost a rozhraní byli replikováné v IntelliJ IDEA. Tyto teoretické znalosti jsou následně aplikovány v praktické části, která popisuje celý proces implementace. Implementační část zahrnuje obohacení IntlliJ IDEA o podporu jazyka Xtext, vytvoření komponenty analyzátoru syntaktického stromu, implementaci generátorů souborů a mechanismu realizujícího překlad mezi dvěma různými stromovými strukturami. Závěrečná část práce obsahuje zhodnocení vytvořeného pluginu prostřednictvím testování chování jazykových prostředí, které se generují. cs
dc.description.abstract This bachelor thesis describes the design and development of an IntelliJ IDEA plugin which generates language support infrastructure, integrating new programming languages to the IDE based on the language grammar specification. The goal of the theoretical part of the project is to study formal language theory and language grammar definition methods. The Xtext framework from the Eclipse IDE is discussed and its functionality and interface is replicated in the IntelliJ IDEA. This theoretical knowledge is subsequently applied in the practical section, which describes the entire implementation process. This part includes enriching the IntlliJ IDEA with the Xtext grammar language support logic, creating a Syntax Tree analyzer component, implementation of file generators and the mechanism that facilitates the translation between two different tree structures. The concluding part of the thesis presents the evaluation of the newly created plugin by testing the behaviour of the language environments it generates. en
dc.identifier KOS-986691409805
dc.identifier.uri http://hdl.handle.net/10467/96721
dc.publisher České vysoké učení technické v Praze cs
dc.publisher Czech Technical University in Prague en
dc.rights A university thesis is a work protected by the Copyright Act of the Czech Republic. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one`s own expense. The use of thesis should be in compliance with the Copyright Act. en
dc.rights Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem v platném znění. cs
dc.subject IDE cs
dc.subject DSL cs
dc.subject specifikace gramatiky cs
dc.subject parser cs
dc.subject lexer cs
dc.subject Abstract Syntax Tree cs
dc.subject Grammar-Kit cs
dc.subject Ecore model cs
dc.subject IDE en
dc.subject DSL en
dc.subject grammar specification en
dc.subject parser en
dc.subject lexer en
dc.subject Abstract Syntax Tree en
dc.subject Grammar-Kit en
dc.subject Ecore model en
dc.title Generování IDE specifické pro DSL cs
dc.title DSL-specific IDE generation en
dc.type bachelor thesis en
dspace.entity.type Publication
relation.isAdvisorOfPublication 9b173828-8dd9-482b-8ef1-f3caa71f922c
relation.isAdvisorOfPublication.latestForDiscovery 9b173828-8dd9-482b-8ef1-f3caa71f922c
relation.isAuthorOfPublication caadb024-34d1-447c-8273-1c9756c0d3d0
relation.isAuthorOfPublication.latestForDiscovery caadb024-34d1-447c-8273-1c9756c0d3d0
relation.isRefereeOfPublication 6900df1d-110c-489c-b1ce-7f0d60b35d65
relation.isRefereeOfPublication.latestForDiscovery 6900df1d-110c-489c-b1ce-7f0d60b35d65
theses.degree.grantor katedra počítačů cs
theses.degree.programme Softwarové inženýrství a technologie cs

Files

Original bundle

Now showing 1 - 4 of 4
Name:
F3-BP-2021-Pakhomov-Pavel-DSL-specific_IDE_generation.pdf
Size:
4.66 MB
Format:
Adobe Portable Document Format
Description:
PLNY_TEXT
Name:
F3-BP-2021-Pakhomov-Pavel-priloha-bachelor_thesis_attachment.zip
Size:
24.81 MB
Format:
Unknown data format
Description:
PRILOHA
Name:
F3-BP-2021-posudek-Sebek_Jiri.pdf
Size:
220.75 KB
Format:
Adobe Portable Document Format
Description:
POSUDEK
Name:
F3-BP-2021-posudek-Travnicek_Jan.pdf
Size:
135.41 KB
Format:
Adobe Portable Document Format
Description:
POSUDEK