: Rapid Prototyping of Small Domain-Specific Languages

This paper presents , 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. 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, was employed successfully for the rapid prototyping of another domain-specific language, called Bauhaus IMDL. We introduce , describe experiences in using it for DSL construction and evaluate its usefulness based on these experiences.

[1]  Holger M. Kienle The smgn Reference Manual , 2000 .

[2]  Mark A. Ardis,et al.  Jargons for domain engineering , 1999, DSL '99.

[3]  Mitchell Wand,et al.  A language for specifying recursive traversals of object structures , 1999, OOPSLA '99.

[4]  Andrew W. Appel,et al.  The Zephyr Abstract Syntax Description Language , 1997, DSL.

[5]  Viljem Zumer,et al.  Design and implementation of simple object description language , 2001, SAC.

[6]  Daan Leijen,et al.  Domain specific embedded compilers , 1999, DSL '99.

[7]  Lars S. Nyland,et al.  KHEPERA: A System for Rapid Implementation of Domain Specific Languages , 1997, DSL.

[8]  James Jennings,et al.  Verischemelog: Verilog embedded in Scheme , 1999, DSL '99.

[9]  Arie van Deursen,et al.  REPORT RAPPORT , 1997 .

[10]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[11]  Ira D. Baxter,et al.  Design maintenance systems , 1991, CACM.

[12]  Jürgen Lampe Depot4 — Agenerator for dynamically extensible translators , 1998, Softw. Concepts Tools.

[13]  David Notkin,et al.  Lightweight lexical source model extraction , 1996, TSEM.

[14]  Craig Chambers,et al.  The cecil language: specification and rationale , 1993 .

[15]  Diomidis Spinellis,et al.  Lightweight Languages as Software Engineering Tools , 1997, DSL.

[16]  Arie van Deursen,et al.  Little languages: little maintenance , 1998 .

[17]  Kurt Nørmark,et al.  Programming World Wide Web pages in scheme , 1999, SIGP.