DSLBibliography Implementation

Program-Transformation.Org: The Program Transformation Wiki
Several papers covering ways of implementing DSLs are discussed in the DSLAnnotatedBibliography. This page contains several DSLBibliographyAdditions presenting implementation issues. Feel free to add your own pointers to other papers of interest (preferably with summary / annotation)!


From DiomidisSpinellis:

Notable design patterns for domain specific languages. Journal of Systems and Software, 2000. To appear. A draft copy appears in http://softlab.icsd.aegean.gr/~dspin/pubs/jrnl/2000-JSS-DSLPatterns/html/dslpat.html


From HolgerKienle

 @Article{MJ:SPE:98,
  author =   {William S. Miles and Leroy F. Johnson},
  title =   {Implementing Generalized Operator Overloading},
  journal =   {Software---Practice and Experience},
  year =    {1998},
  volume =   {28},
  number =   {6},
  pages =   {593--610}
 }


From HolgerKienle:

 @Article{Lampe:SCT:98,
  author =   {J{\"u}rgen Lampe},
  title =   {Depot4 -- A generator for dynamically extensible translators},
  journal =   {Software -- Concepts \& Tools},
  year =    {1998},
  volume =   {19},
  number =   {2},
  pages =   {97--108}
 }


From HolgerKienle (shameless self-promotion):

@Article{KM:CIT:02,
  author =     {Holger M. Kienle and David L. Moore},
  title =     {smgn: Rapid Prototyping of Small Domain-Specific Languages},
  journal =     {Journal of Computing and Information Technology (CIT)},
  year =     {2002},
  volume =     {10},
  number =     {1},
  pages =     {37--52}
}

Abstract: This paper presents \smgn, a grammar-based tool that provides support for scanning, parsing, and automatic parse tree construction. The parse tree can be easily navigated and manipulated with a specific macro language while conveniently generating textual output. \smgn{} is easy to learn---even for non-compiler experts---and well suited for rapid prototyping of small domain-specific languages. It is part of the \SUIF{} compiler system, where it has been used for the development of the \Hoof{} domain-specific language. Furthermore, \smgn{} was employed successfully for the rapid prototyping of another domain-specific language, called Bauhaus IMDL. We introduce \smgn{}, describe experiences in using it for DSL construction and evaluate its usefulness based on these experiences.


I encountered the following classical paper, which addresses the use of LrParsing? for InstructionSelection during CodeGeneration:

R. Glanville and S. Graham, A New Method for Compiler Code Generation . In Conference Record of the 5th Annual ACM Symposium on Principles of Programming Languages, pp. 231--240, 1978.

-- ArieVanDeursen