Песочница

Грамматика чтения

Грамматика чтения определяет пробелы и комментарии, идентификаторы, булевы значения, символы, строки, числа, списки, векторы, байт-векторы и префиксы цитирования.

Как рассуждать

  • Целое: -?(0|[1-9][0-9]*); рациональное: целый числитель и положительный канонический знаменатель; вещественное требует дробной части или экспоненты.
  • Положение точки, экранирование, диапазон байтов и закрытие разделителей проверяются до нормализации.
  • Шестнадцатеричный скаляр в строке записывается \xHEX;, а знак — #\xHEX без точки с запятой.
  • Диапазоны исходника сохраняют идентичность входа считывателя и детерминированные позиции.

Закреплённая грамматика токенов

ТокенДопустимая формаГраница отказа
целое-?(0|[1-9][0-9]*)ведущий ноль, префикс основания или точности
рациональное<целое>/[1-9][0-9]*; сокращаетсянулевой/отрицательный знаменатель, ведущий ноль
вещественноедесятичное с дробью и/или экспонентойнеоднозначное целое, не конечный литерал
строкаUTF-8 в кавычках с закреплёнными escape, включая \xHEX;незавершённый escape или пропущенная шестнадцатеричная точка с запятой
знак#&lt;скаляр>, #\xHEX или закреплённое имяневерный скаляр или точка с запятой после шестнадцатеричного знака
байтовый вектор#u8(<байт> ...)элемент вне 0..255

Имена знаков — ровно space, newline, linefeed, tab, return, null, nul, delete, rubout, escape, esc, backspace, alarm и page. Строчный комментарий начинается с ;, блочный #| ... |# может быть вложенным, а начальный заголовок ;! сохраняется. Комментарий datum #; и директива #lang отвергаются с E120, а не удаляются как trivia.

Частая ошибка

Расширения считывателя, не перечисленные в профиле, отвергаются явно.

Куда дальше

Держите эту страницу рядом при написании кода. За последовательным объяснением вернитесь к карте синтаксиса или соответствующей главе.

Синтаксис одним взглядом · Путь обучения