Tvorba doménově specifických jazyků
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
18DSJ | KZ | 2 | 1+1 | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra softwarového inženýrství
- Anotace:
-
Předmět seznamuje studenty s doménově specifickými programovacími jazyky (DSL = Domain-Specific Languages) a možnostmi jejich využití v různých oblastech. V rámci předmětu budou představeny různé metody a nástroje pro tvorbu těchto jazyků.
- Požadavky:
-
Základy programování, Základy algoritmizace, C/C++, Java
- Osnova přednášek:
-
Úvod do doménově specifických jazyků.
?Co jsou DSL a k čemu jsou dobré? Kde je hranice mezi DSL a obecným programovacím jazykem?
?Historie vývoje DSL.
?V současnosti běžně používané DSL.
?Ne všechny DSL musí být spustitelné - ukázka UML OCL.
?Základy regulárních výrazů.
Vytváříme první doménově specifický jazyk
?Ukázka problému řešitelného pomocí doménově specifického jazyka.
?Vytvoření DSL v rámci jiného obecného programovacího jazyka (tzv. Embedded Domain-Specific Language).
Seznámení s nástrojem JetBrains MPS
?Seznámení s IDE pro vytváření doménově specifických jazyků.
?Tvorba jednoduchých DSL pro řešení různých problémů.
Nutný teoretický základ a seznámení s nástrojem ANTRL
?Základní pojmy z formální specifikace programovacích jazyků.
?Základní pojmy z konstrukce překladačů.
?Seznámení s nástrojem ANTLR pro generování parserů v jazyce Java a C#.
Seznámení s nástroji Flex a Bison
?Historie nástrojů, vývoj Yacc a Lex.
?Seznámení s nástrojem Flex pro generování lexikálního analyzéru v C/C++.
?Seznámení s nástrojem Bison pro generování parseru v C/C++.
- Osnova cvičení:
-
1.Jazyk OCL ve standardu UML. Regulární výrazy.
2.Tvorba EDSL v Groovy.
3.Tvorba DSL v JetBrains MPS.
4.Tvorba DSL v ANTLR.
5.Tvorba DSL v Flex/Bison.
- Cíle studia:
-
Studenti získají znalosti v oblasti tvorby a aplikace doménově specifických jazyků. Získají přehled o problémech, jejichž řešení lze zjednodušit vytvořením a aplikací doménově specifického jazyka. Studenti získají schopnosti používát rozličné metody a nástroje pro tvorbu doménově specifických jazyků.
- Studijní materiály:
-
Fowler, M.: Domain-Specific Languages, Addison-Wesley, 1. edice, 2010, ISBN: 978-0321712943.
Dearle, F.: Groovy for Domain-Specific Languages, Packt Publishing, 2010, ISBN: 978-1847196903.
Ghosh, D.: DSLs in Action, Manning Publications, 2010, ISBN: 978-1935182450.
- Poznámka:
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů: