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 en la estructura de objeto interna correspondiente.
En el Lisp original, las expresiones S consistían únicamente en símbolos , números enteros y los constructores de listas y . Los Lisp posteriores, que culminaron en Common Lisp , añadieron 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 formato interno y llamar a 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, denominadas "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 forma 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 forma similar, el operador de comillas invertidas (` ) se puede definir como una macro de lectura.(quote x)
'x
'
quote