Как рассуждать
- Целое:
-?(0|[1-9][0-9]*); рациональное: целый числитель и положительный канонический знаменатель; вещественное требует дробной части или экспоненты. - Положение точки, экранирование, диапазон байтов и закрытие разделителей проверяются до нормализации.
- Диапазоны исходника сохраняют идентичность входа считывателя и детерминированные позиции.
Закреплённая грамматика токенов
| Токен | Допустимая форма | Граница отказа |
|---|---|---|
| целое | -?(0|[1-9][0-9]*) | ведущий ноль, префикс основания или точности |
| рациональное | <целое>/[1-9][0-9]*; сокращается | нулевой/отрицательный знаменатель, ведущий ноль |
| вещественное | десятичное с дробью и/или экспонентой | неоднозначное целое, не конечный литерал |
| знак | #<скаляр> или закреплённое имя | неверный скаляр или неполное экранирование |
| байтовый вектор | #u8(<байт> ...) | элемент вне 0..255 |
Частая ошибка
Расширения считывателя, не перечисленные в профиле, отвергаются явно.
Куда дальше
Держите эту страницу рядом при написании кода. За последовательным объяснением вернитесь к карте синтаксиса или соответствующей главе.