Reversible language extensions and their application in debugging
Data(s) |
2013
|
---|---|
Resumo |
A range of methodologies and techniques are available to guide the design and implementation of language extensions and domainspecific languages. A simple yet powerful technique is based on source-tosource transformations interleaved across the compilation passes of a base language. Despite being a successful approach, it has the main drawback that the input source code is lost in the process. When considering the whole workflow of program development (warning and error reporting, debugging, or even program analysis), program translations are no more powerful than a glorified macro language. In this paper, we propose an augmented approach to language extensions for Prolog, where symbolic annotations are included in the target program. These annotations allow selectively reversing the translated code. We illustrate the approach by showing that coupling it with minimal extensions to a generic Prolog debugger allows us to provide users with a familiar, source-level view during the debugging of programs which use a variety of language extensions, such as functional notation, DCGs, or CLP{Q,R}. |
Formato |
application/pdf |
Identificador | |
Idioma(s) |
eng |
Publicador |
Facultad de Informática (UPM) |
Relação |
http://oa.upm.es/14840/1/HERME_NB_2013-2.pdf http://arxiv.org/abs/1301.7694 |
Direitos |
http://creativecommons.org/licenses/by-nc-nd/3.0/es/ info:eu-repo/semantics/openAccess |
Fonte |
CoRR, 2013 |
Palavras-Chave | #Informática |
Tipo |
info:eu-repo/semantics/article Artículo PeerReviewed |