1997 · 30 citations · 9 references
ComputingComputer ScienceNatural Language ProcessingProgramming LanguagesSoftware EngineeringAbstract Syntax TreesDomain AnalysisDomain-specific LanguagesIntermediate RepresentationParsingSyntax-directed TranslationAbstract Syntax Tree GenerationAbstract Syntax Tree TransformationDebugging SupportIntermediate Code GenerationLong-term MaintenanceProgram TransformationReplaySource-to-source Translation
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...
9
Skip lists: a probabilistic alternative to balanced trees
William Pugh · Communications of the ACM · 1990 · 1.2K citations · Full text
Little languages : little maintenance?
van A.P.J. Deursen, Paul Klint · 1997 · 118 citations