이 순서로 생각하세요
- 정수는
-?(0|[1-9][0-9]*)꼴입니다. 유리수는 정수 분자와 양의 정규 분모로 쓰고, 실수에는 소수부나 지수가 반드시 있어야 합니다. - 점 리스트 위치, 이스케이프 표기, 바이트 범위, 구분자 닫힘은 정규화 전에 검사합니다.
- 문자열의 16진 스칼라는
\xHEX;로 쓰고, 문자는 세미콜론 없이#\xHEX로 씁니다. - 소스 범위는 리더 입력 동일성과 결정적 위치로 기록합니다.
고정 토큰 문법
| 토큰 | 허용 형태 | 거부 경계 |
|---|---|---|
| 정수 | -?(0|[1-9][0-9]*) | 선행 0, 기수·정확성 접두사 |
| 유리수 | <integer>/[1-9][0-9]*; 읽은 뒤 기약 | 0·음수 분모 표기, 선행 0 분모 |
| 실수 | 소수부 또는 지수가 있는 십진수 | 정수와 모호한 표기, 비유한 리터럴 |
| 문자열 | 고정 이스케이프를 포함한 따옴표 UTF-8. 16진은 \xHEX; | 끝나지 않은 이스케이프, 16진 세미콜론 누락 |
| 문자 | #<scalar>, #\xHEX, 또는 고정 이름 형식 | 잘못된 스칼라, 16진 문자 뒤의 세미콜론 |
| 바이트벡터 | #u8(<byte> ...) | 0..255 밖 요소 |
이름 있는 문자는 정확히 space, newline, linefeed, tab,
return, null, nul, delete, rubout, escape, esc, backspace,
alarm, page입니다. 줄 주석은 ;로 시작하고 블록 주석은 중첩 가능한
#| ... |#를 사용하며, 맨 앞의 ;! 헤더는 보존됩니다. #; datum
주석과 #lang 지시문은 trivia로 버리지 않고 E120으로 거부합니다.
흔한 오해
프로필에 없는 리더 확장은 명시적으로 실패합니다.
다음으로
코드를 작성할 때 이 페이지를 곁에 두세요. 차근차근 짚어 주는 설명이 필요하면 문법 지도나 관련 매뉴얼로 돌아가면 됩니다.