smgn: Rapid Prototyping of Small Domain-Specific Languages

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

    Similar works