Reversible languages and their application to debugging - ENSTA Bretagne - École nationale supérieure de techniques avancées Bretagne Accéder directement au contenu
Communication Dans Un Congrès Année : 2013

Reversible languages and their application to debugging

Résumé

A range of methodologies and techniques are available to guide the design and implementation of language extensions and domain-specific languages on top of a base language. A simple yet powerful technique to this end is to formulate the extension via source-to-source transformation rules that are interleaved across the different compilation passes of the base language. Despite being a very successful approach, it has the main drawback that the input source code is lost in the process. As a result, during the whole workflow of program development (warning and error reporting, source-level debugging, or even program analysis) the tools involved report in terms of the base language, which is confusing to users. 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 the selective reversal of 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\}.
Fichier non déposé

Dates et versions

hal-00873841 , version 1 (16-10-2013)

Identifiants

Citer

Zoé Drey, José Morales, Manuel Hermenegildo, Manuel Carro. Reversible languages and their application to debugging. Fifteenth International Symposium on Practical Aspects of Declarative Languages(PADL 2013), Jan 2013, Rome, Italy. pp.206-221, ⟨10.1007/978-3-642-45284-0⟩. ⟨hal-00873841⟩
83 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More