언제 필요한가요?
평가가 시작되기도 전에 소스가 거부될 때, 또는 괄호가 호출인지 데이터인지 헷갈릴 때 이 페이지부터 보세요. 리더가 정하는 것은 철자와 구조뿐입니다. 이 단계에서는 아직 아무것도 계산하지 않습니다.
실행으로 확인하기
LISPEX
'(alpha 1 2/3 #u8(4 5))관측 결과
OUTPUT
(alpha 1 2/3 #u8(4 5))예제 읽기
맨 앞의 인용 부호가 폼 전체를 데이터로 남깁니다. 리더는 심볼과 정수, 유리수, 바이트벡터를 하나씩 알아봅니다. 다만 그중 어느 것도 호출하거나 계산하지는 않습니다. 인용 부호를 빼면 alpha가 프로시저 위치에 놓입니다.
이 순서로 생각하세요
- 정수와 유리수, 실수의 토큰 문법은 서로 겹치지 않습니다. 선행 0이 붙은 표기와 비유한 수 표기는 거부됩니다.
- 리스트와 점쌍, 벡터, 바이트벡터, 문자열, 문자, 인용, 준인용, 주석은 표기 형식이 고정되어 있습니다.
- 리더 실패는 소스 범위를 담은 E1xx 진단으로 나옵니다. 잘못된 UTF-8은 호출 경계에서 거부됩니다.
빠르게 고르기
| 원하는 값 | 표기 | 리더가 만드는 것 |
|---|---|---|
| 이름 | alpha | 나중에 조회될 수 있는 심볼 토큰 |
| 텍스트 | "alpha" | 불변 문자열 |
| 데이터인 올바른 리스트 | '(alpha 1) | ()로 끝나는 인용된 쌍 사슬 |
| 데이터인 점쌍 | '(alpha . 1) | 꼬리가 1인 쌍 하나 |
| 인덱스 값 | #(1 2) | 벡터 |
| 바이트 | #u8(1 2) | 불변 바이트벡터 |
흔한 오해
#x, #e 같은 기수·정확성 접두사는 현재 프로필 밖입니다.
현재 경계
- 언어는 줄바꿈이나 경로, 호스트 인코딩을 몰래 정규화하지 않습니다.
다음으로
읽기가 끝난 뒤에 무슨 일이 일어나는지는 평가 순서에서 이어집니다. 허용되는 토큰 형태를 전부 보려면 리더 문법을 여세요.