Reversible language extensions and their application in debugging


Autoria(s): Drey, Zoé; Morales Caballero, José Francisco; Hermenegildo, Manuel V.
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

http://oa.upm.es/14840/

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