Expresión S
De Wikipedia, la enciclopedia encyclopedia
Una expresión-S, S-expresión o sexp (de Expresión Simbólica) es una notación en forma de texto, para representar una estructura de datos de árbol, basada en listas anidadas, en donde cada sublista es un subárbol. Las S-expresiones son, probablemente, mejor conocidas por su uso en la familia de lenguajes de programación Lisp. Su representación textual habitual son secuencias de cadenas de caracteres, delimitadas por paréntesis, y separadas por espacios, como en (= 4 (+ 2 2))
, que representa la expresión lógica escrita en C y en otros lenguajes relacionados, 4==2+2
.
En notación polaca o prefija (la cual Lisp usa), el primer elemento de una S-expresión es un operador (un primitivo) y el resto de elementos, los operandos (los datos). Debido a la estrecha relación entre las expresiones-S y su representación textual, el término es usado informalmente también para referirse a su escritura.
Otros usos de las expresiones-S en los lenguajes de programación derivados de Lisp, como DSSSL, y como base para protocolos como IMAP y el CBCL de John McCarthy. Sin embargo, los detalles de la sintaxis y los tipos de datos soportados varían entre los diferentes lenguajes.
Actualmente, en Lisp, las expresiones-S son usadas tanto para almacenar el código fuente y los datos (ver McCarthy Recursive Functions of Symbolic Expressions). Sin embargo originalmente sólo fueron concebidas para datos que serían manipulados por expresiones-M, pero la primera implementación de Lisp fue un intérprete de una codificación de expresiones-M usando expresiones-S, y los programadores Lisp pronto prefirieron usar expresiones-S tanto para el código como para los datos.