Debido al alto tráfico generado por robots, aplicamos límites en el número de peticiones permitidas por cliente y bloqueos por IP automáticos. Si haces un uso legítimo y estás teniendo problemas, avísanos para reevaluar nuestras políticas de bloqueo. Disculpa las molestias.

Artículo:
Processing an Intermediate Representation Written in Lisp

Cargando...
Miniatura

Editor

Sistedes

Publicado en

Actas de las XVI Jornadas de Programación y Lenguajes (PROLE 2016)

Licencia

All rights reserved to their respective owners

Resumen

In the context of designing the verification platform CAVI-ART, we arrived to the need of deciding a textual format for our intermediate representation of programs. After considering several options, we finally decided to use S-expressions for that textual representation, and Common Lisp for processing it in order to obtain the verification conditions. In this paper, we discuss the benefits of this decision. S-expressions are homoiconic, i.e. they can be both considered as data and as code. We exploit this duality, and extensively use the facilities of the Common Lisp environment to make different processing with these textual representations. In particular, using a common compilation scheme we show that program execution, and verification condition generation, can be seen as two instantiations of the same generic process.

Descripción

Acerca de Peña Marí, Ricardo

Palabras clave

Citación

Peña, R., Saavedra, S., Sánchez-Hernández, J.: Processing an Intermediate Representation Written in Lisp. In: Villanueva, A. (ed.) Actas de las XVI Jornadas de Programación y Lenguajes (PROLE 2016). Sistedes (2016). https://hdl.handle.net/11705/PROLE/2016/019