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