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
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