Doménově specifické jazyky
Domain Specific Languages
diplomová práce (OBHÁJENO)
![Náhled dokumentu](/bitstream/handle/20.500.11956/22848/thumbnail.png?sequence=7&isAllowed=y)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/22848Identifikátory
SIS: 65635
Kolekce
- Kvalifikační práce [11266]
Autor
Vedoucí práce
Oponent práce
Surynek, Pavel
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Teoretická informatika
Katedra / ústav / klinika
Katedra teoretické informatiky a matematické logiky
Datum obhajoby
21. 9. 2009
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Dom énově specifi cké jazyky (DSL) jsou jazyky navržen é pro určitou problémovou oblast. Jejich syntaxe a základní primitiva jsou přizpůsobeny t ří dě problém u, kter é mají řeš it. Dí ky této specializaci jsou programy v nich napsané krat ší a srozumitelnější než jejich prot ěj šky zapsané v běžných programovací ch jazycí ch. Velmi efektivní metodou vytv a ření DSL je jejich implementace uvnitř obecného programovací ho jazyka. Vznikaj í tak vno řené doménově specifi cké jazyky (DSEL). Cí lem této práce je prozkoumat techniky pou ží vané při návrhu DSEL ve staticky typovan ych funkcionální ch jazycí ch a analyzovat souvislost mezi vlastnostmi DSEL a vlastnostmi hostitelského jazyka. Za implementa ční jazyk jsme si vybrali Haskell.
Domain speci c languages (DSL) are languages designed for one particular area. Their syntax and basic primitives are carefully chosen to t the class of problems they are meant to solve. Because of this specialisation, programs written using DSL are usually more concise and coherent than their counterparts written in common programming languages. There is a very e ective way to implement DSL { to de ne them inside a fulledged language. This leads to so called domain speci c embedded languages (DSEL). Purpose of this thesis is to investigate techniques used in implementation of DSEL and to analyse connection between features of host and embedded language. We focus on statically typed functional languages as host languages. We have choosen Haskell as an implementation language.