Commodity Transformation for DSLs


We believe that the appropriate characterization of when a language is a DSL, and when it is not, is best made through examination of the relative assignment of resources to a project. We present a new approach to the construction of text transform tools for the prodution of DSLs, and some constraints which shape this approach; not an examination of a specific implementation or architecture. We emphasize the use of ubiquitous tools to do transforms. A reader with concrete experience in some lexer and some parser generation packages, and some XML library with XSLT features, should be able to produce a tool using this approach in a day or two. The presentation is at a high enough level that the reader without this concrete and immediately applicable knowledge can still follow the approach. The goal is to make the production of small domain-specific languages common by promoting simplicity of implementation and use of the tools at hand. We use as an example the development of a parser for a simple parenthesis language. We also present a novel way of dealing with delimited lists in a parser specification.

Available Formats

This is a draft version of a paper submitted to GPCE 2004. This paper is available here in LaTeX, PostScript, and PDF formats. This paper may be updated to represent this, but these URI will remain valid.

! This is an old version of this website, it's no longer being maintained