Tracing Program Transformations with String Origins
Abstract
Program transformations play an important role in domain-specific languages and model-driven development. Tracing the execution of such transfor-mations has well-known benefits for debugging, visualization and error reporting. In this paper, we introduce string origins, a lightweight, generic and portable technique to establish a tracing relation between the textual fragments in the input and output of a program transformation. We discuss the semantics and the imple-mentation of string origins using the Rascal meta programming language as an example. We illustrate the utility of string origins by presenting data structures and operations for tracing generated code, implementing protected regions, performing name resolution and fixing inadvertent name capture in generated code.
Domains
Other [cs.OH]
Origin : Files produced by the author(s)
Loading...