Лексинг можно разделить на два этапа: сканирование, который сегментирует входную строку на синтаксические единицы, называемые лексемами, и классифицирует их по классам токенов; и вычисление, которое преобразует лексемы в обработанные значения.
Однако лексема — это всего лишь строка символов, известная быть определенного типа (например, строковый литерал, последовательность букв). Для создания токена лексическому анализатору необходим второй этап — оценщик, который обрабатывает символы лексемы для получения значения. Тип лексемы в сочетании с ее значением и представляет собой токен, который может быть передан анализатору.
Насколько я понимаю, это означает, что токен является результатом сопоставления с , где категория в случае Python принадлежит набору {идентификатор, ключевое слово, литерал, оператор, разделитель, NEWLINE, INDENT, DEDENT}.
Я хочу лучше понять, что означает оценка лексемы в случае с лексемой категории литерал. Можем ли мы увидеть результат такой оценки, просто введя лексему в REPL Python?
Например, если я наберу следующую строковую литеральную лексему
Код: Выделить всё
>>> '''some
... text'''
А если я наберу следующую числовую литеральную лексему
Код: Выделить всё
>>> 0b101
Подробнее здесь: https://stackoverflow.com/questions/785 ... -in-python