Generování IDE specifické pro DSL
DSL-specific IDE generation
Typ dokumentu
bakalářská prácebachelor thesis
Autor
Pavel Pakhomov
Vedoucí práce
Trávníček Jan
Oponent práce
Šebek Jiří
Studijní program
Softwarové inženýrství a technologieInstituce přidělující hodnost
katedra počítačůPráva
A university thesis is a work protected by the Copyright Act. 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 http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoš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 http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
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í. 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.
Kolekce
- Bakalářské práce - 13136 [1056]