smgn: Rapid Prototyping of Small Domain-Specific Languages

Holger M. Kienle, David L. Moore


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.

Full Text:



Creative Commons License
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.

Crossref Similarity Check logo

Crossref logologo_doaj

 Hrvatski arhiv weba logo