KHEPERA: a system for rapid implementation of domain specific languages
Rickard E. Faith, Lars S. Nyland, Jan F. Prins · 1997
The Khepera system is a toolkit for the rapid implementation and long-term maintenance of domain specific languages (DSLs). Our viewpoint is that DSLs are most easily implemented via source-tosource translation from the DSL into another language and that this translation should be based on simple parsing, sophisticated tree-based analysis and manipulation, and source generation using prettyprinting techniques. Khepera emphasizes the use of familiar, pre-existing tools and provides support for transformation replay and debugging for the DSL processor and end-user programs. In this paper, we presentanoverview of our approach, including implementation details and a short example. 1 Introduction Domain specific languages (DSL) can often be implemented as a source-to-source translator composed with a processor for another language. For example, PIC [8], a classic "little language" for typesetting figures, is translated into troff, a general-purpose typesetting language. Language composi...