En el lenguaje de programación Lisp , el lector o read
función es el analizador que convierte la forma textual de los objetos Lisp a la estructura de objeto interna correspondiente.
En el Lisp original, las expresiones S consistían sólo en símbolos , números enteros y los constructores de listas y . Lisps posteriores, que culminaron en Common Lisp , agregaron literales para números de punto flotante, complejos y racionales, cadenas y constructores para vectores.( xi... )
(x . y)
El lector es responsable de analizar la estructura de la lista, internar símbolos, convertir números a forma interna y llamar macros de lectura.
El lector está controlado por el readtable
, que define el significado de cada carácter .
A diferencia de la mayoría de los lenguajes de programación, Lisp admite la ejecución de programas en tiempo de análisis, llamados "macros de lectura" o "macros de lectura". Se utilizan para ampliar la sintaxis de forma universal o específica del programa. Por ejemplo, el operador de formulario entre comillas se puede abreviar como . El operador se puede definir como una macro de lectura que lee la siguiente lista y la envuelve con . De manera similar, el operador de comillas invertidas (` ) se puede definir como una macro de lectura.(quote x)
'x
'
quote