Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2019/2020

Tvorba doménově specifických jazyků

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah
18DSJ KZ 2 1+1
Přednášející:
Josef Smolka
Cvičící:
Josef Smolka
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:
Rozvrh na zimní semestr 2019/2020:
Rozvrh není připraven
Rozvrh na letní semestr 2019/2020:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 15. 12. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet4833406.html