В языке программирования Лисп , то читатель или read
функция является синтаксическим анализатором , который преобразует текстовая форма Lisp объектов к соответствующей внутренней структуре объекта.
В исходном Лиспе S-выражения состояли только из символов , целых чисел и конструкторов списков и . Позже Lisp, кульминацией которого стал Common Lisp , добавил литералы для чисел с плавающей запятой, комплексных и рациональных чисел, строк и конструкторов для векторов.( xi... )
(x . y)
Читатель отвечает за анализ структуры списка, интернирование символов, преобразование чисел во внутреннюю форму и вызов макросов чтения.
Читать таблицу
Читателем управляет кнопка readtable
, которая определяет значение каждого символа .
Прочитать макросы
В отличие от большинства языков программирования, Lisp поддерживает выполнение программ во время синтаксического анализа, называемое «макросами чтения» или «макросами чтения». Они используются для расширения синтаксиса универсальным или программным способом. Например, оператор формы в кавычках может быть сокращен как . Оператор может быть определен как для чтения макрос , который считывает следующий список и оборачивает его . Точно так же оператор обратной кавычки (`) может быть определен как макрос чтения.(quote x)
'x
'
quote
Рекомендации
Библиография
- Джон Маккарти и др. , Руководство программиста LISP 1.5 , MIT Press, 1962.
- Дэвид А. Мун , Справочное руководство MACLISP , 1974.
- Гай Стил , Common LISP: The Language , Second Edition, 1990.