Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 368)
Detail práce
   Přihlásit přes CAS
Grammar to JetBrains MPS Convertor
Název práce v češtině: Konvertor gramatik pro JetBrains MPS
Název v anglickém jazyce: Grammar to JetBrains MPS Convertor
Klíčová slova: JetBrains MPS, gramatika, konvertor, konverze, import, programovací jazyk, projekční editor
Klíčová slova anglicky: JetBrains MPS, grammar, convertor, import, programming language, projectional editor
Akademický rok vypsání: 2015/2016
Typ práce: diplomová práce
Jazyk práce: angličtina
Ústav: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Vedoucí / školitel: doc. RNDr. Pavel Parízek, Ph.D.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 12.04.2016
Datum zadání: 12.04.2016
Datum potvrzení stud. oddělením: 03.05.2016
Datum a čas obhajoby: 05.09.2016 11:30
Datum odevzdání elektronické podoby:26.07.2016
Datum odevzdání tištěné podoby:28.07.2016
Datum proběhlé obhajoby: 05.09.2016
Oponenti: RNDr. Jakub Yaghob, Ph.D.
 
 
 
Zásady pro vypracování
JetBrains MPS is an open-source language workbench focusing on domain-specific languages (DSL). Unlike many competing language workbenches and in contrast to the industry prevalent approach, MPS uses a projectional (structured) editor for code. The developer directly manipulates the program in its tree form (AST). The code is always represented as AST, including the persistence format, which avoids the need for parsing text.

While the majority of programming languages in the industry are currently defined using grammars, languages in MPS are codified using principles of object-oriented programming. Since MPS does not rely on parsing, but instead uses a projectional editor and layered code generation, existing languages that should be made editable in MPS need to be re-implemented using the MPS language definition facilities. The up-front cost of manually re-defining existing languages in order to use them in MPS is a major obstacle that turns away many projects that could potentially benefit from the MPS platform.

This thesis should elaborate on the possibility of automating the process of creating MPS language definition from existing grammar definitions. This would simplify and speed up the process of migrating existing languages (both general purpose and domain-specific) to the MPS platform, and thus encourage MPS adoption both between researchers and in the industry.

Specific goals:
- Design and implement the grammar to MPS convertor, possibly building on top of existing prototypes.
- The three essential aspects of language definition in MPS should be covered by the tool - abstract syntax (structure), concrete syntax (editor) and text generation.
- Demonstrate the capabilities of the translator by translating a single general-purpose language and a few DSLs.

Expected outputs:
- A working implementation of the grammar to MPS convertor.
- Examples of automatically converted languages.
- Analysis of the principal issues, both solved and unsolved, with respect to automated conversion of grammar definitions.

The outputs will be distributed under the open-source Apache 2 license and available for free download. All outputs including documentation will be in English.
Seznam odborné literatury
1. The JetBrains MPS project. http://www.jetbrains.com/mps/
2. Fast Track to MPS (an MPS tutorial). https://confluence.jetbrains.com/display/MPSD32/Fast+Track+to+MPS
3. MPS Reference. https://confluence.jetbrains.com/display/MPSD30/MPS+User's+Guide
4. The MPS academic publications. http://jetbrains.com/mps/publications
5. BNF (Backus-Naur Form) for grammar definition. https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form
6. PE4MPS: a prototype implementation of a grammar to MPS convertor. https://github.com/mar9000/pe4mps
7. Antlr_MPS: a prototype of Antlr grammar to MPS convertor. https://github.com/CampagneLaboratory/ANTRL_MPS
8. Fabien Campagne. The MPS Language Workbench: Volume I. CreateSpace Independent Publishing Platform, 2014
9. Fabien Campagne. The MPS Language Workbench: Volume II. https://play.google.com/store/books/details?id=NPwyBwAAQBAJ
10. Terence Parr. The Definitive ANTLR 4 Reference. Pragmatic Bookshelf, 2013
 
Univerzita Karlova | Informační systém UK