Песочница

Грамматика reader

Грамматика reader определяет пробелы/комментарии, идентификаторы, булевы, символы, строки, числа, списки, векторы, bytevector и префиксы quote.

Текущие гарантии

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

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

ТокенДопустимая формаГраница отказа
целое-?(0|[1-9][0-9]*)ведущий ноль, radix/exactness prefix
рациональное<integer>/[1-9][0-9]*; сокращаетсянулевой/отрицательный знаменатель, ведущий ноль
realдесятичное с дробью и/или экспонентойнеоднозначное целое, не конечный литерал
символ#\<scalar> или закреплённое имяневерный scalar или неполный escape
bytevector#u8(<byte> ...)элемент вне 0..255

Границы

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