Memorias de investigación
Artículos en revistas:
Reversible Language Extensions and their Application in Debugging
Año:2013

Áreas de investigación
  • Ciencias de la computación y tecnología informática

Datos
Descripción
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 input source code os 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 languages extensions, such as functional notation, DCGs, or CLP{Q,R}
Internacional
Si
JCR del ISI
No
Título de la revista
Practical Aspects of Declarative Languages (PADL'13), LNCS
ISSN
Factor de impacto JCR
0,23
Información de impacto
Volumen
7752
DOI
Número de revista
6
Desde la página
1
Hasta la página
100
Mes
ENERO
Ranking
CORE: B. CiteseerX position (ave) top 23%, impact (ave) 0.230. Average position: top 44%

Esta actividad pertenece a memorias de investigación

Participantes

Grupos de investigación, Departamentos, Centros e Institutos de I+D+i relacionados
  • Creador: Grupo de Investigación: Computación lógica, Lenguajes, Implementación y Paralelismo (CLIP)
  • Departamento: Inteligencia Artificial