In computer programming, an S-expression (or symbolic expression, abbreviated as sexpr or sexp) is an expression in a like-named notation for nested list (tree-structured) data. S-expressions were invented for and popularized by the programming language Lisp, which uses them for source code as well as data. In the usual parenthesized syntax of Lisp, an S-expression is classically defined as an atom, or an expression of the form (x. y) where x and y are S-expressions. This definition reflects LISP's representation of a list as a series of "cells", each one an ordered pair. In plain lists, y points to the next cell (if any), thus forming a list. The recursive clause of the definition means that both this representation and the S-expression notation can represent any binary tree. However, the representation can in principle allow circular references, in which cases the structure is not a tree at all, but a cyclic graph, and cannot be represented in S
En la programación de ordenador, una expresión S (o expresión simbólica, abreviada como sexpr o sexp) es una expresión en una notación del mismo nombre para datos de lista (árboles estructurados). Las expresións S fueron inventadas y popularizadas por el lenguaje de programación Lisp, que las utiliza para el código fuente, así como datos. En la sintaxis paréntesis habitual de Lisp, una expresión S se define clásicamente como un átomo, o una expresión de la forma (x. y) donde x y y son expresións S. Esta definición refleja la representación de Lisp de una lista como una serie de "células", cada una de ellas un par ordenado. En listas planas, y apunta a la siguiente célula (si es cualquiera), formando así una lista. La cláusula recursiva de la definición significa que tanto esta representación como la expresión S no pueden representar ningún árbol binario.