Notable design patterns for domain-specific languages

Diomidis Spinellis
2001 Journal of Systems and Software  
The realisation of domain-speci®c languages (DSL DSLs) diers in fundamental ways from that of traditional programming languages. We describe eight recurring patterns that we have identi®ed as being used for DSL DSL design and implementation. Existing languages can be extended, restricted, partially used, or become hosts for DSL D SLs. Simple D SL DSLs can be implemented by lexical processing. In addition, DSL DSLs can be used to create front-ends to existing systems or to express complicated
more » ... a structures. Finally, DSL DSLs can be combined using process pipelines. The patterns described form a pattern language that can be used as a building block for a systematic view of the software development process involving DSL DSLs. Ó
doi:10.1016/s0164-1212(00)00089-3 fatcat:onckemor7ra4zm4j5jfel7lyu4