Czytnik Lispa
W języku programowania Lisp czytnik lub funkcja odczytu
jest parserem , który konwertuje tekstową formę obiektów Lisp na odpowiednią wewnętrzną strukturę obiektu .
W oryginalnym Lispie S-wyrażenia składały się tylko z symboli , liczb całkowitych i konstruktorów list ( x i ... )
i ( x . y )
. Późniejsze Lispy, których kulminacją był Common Lisp , dodały literały dla liczb zmiennoprzecinkowych, zespolonych i liczb wymiernych, łańcuchów znaków i konstruktorów wektorów.
Czytnik jest odpowiedzialny za parsowanie struktury listy, internowanie symboli, konwersję liczb do postaci wewnętrznej oraz wywoływanie makr odczytu.
Przeczytaj tabelę
Czytelnikiem steruje readtable ,
który określa znaczenie każdego znaku .
Czytaj makra
W przeciwieństwie do większości języków programowania, Lisp obsługuje wykonywanie programów w czasie analizy, zwane „makrami odczytu” lub „makrami czytnika”. Służą one do rozszerzenia składni w sposób uniwersalny lub specyficzny dla programu. Na przykład cytowanej formy (quote x )
można skrócić jako „ x
. Operator '
można zdefiniować jako makro odczytu, które odczytuje poniższą listę i otacza ją cudzysłowem
. Podobnie operator cudzysłowu odwrotnego (` ) może być zdefiniowany jako makro odczytu.
Bibliografia
- John McCarthy i in. , Podręcznik programisty LISP 1.5 , MIT Press, 1962.
- David A. Moon , Podręcznik MACLISP , 1974.
- Guy Steele , Common LISP: The Language , wydanie drugie, 1990.