Документация Python неофициальный перевод

token – Константы для работы с деревьями разбора Pythontoken – Constants used with Python parse trees

Исходный код: Lib/token.py


Этот модуль предоставляет константы, представляющие числовые значения листовых узлов\nдерева разбора (терминальных токенов). Файл Grammar/Grammar\nв дистрибутиве Python содержит определения имён в контексте грамматики языка.\nКонкретные числовые значения, на которые ссылаются имена, могут изменяться между версиями Python.

Модуль также предоставляет отображение числовых кодов на имена и несколько\nфункций. Функции дублируют определения из C-заголовочных файлов Python.

token.tok_name

Словарь, отображающий числовые значения констант, определённых в этом модуле,\nобратно в строки имён, что позволяет создавать более удобочитаемое представление деревьев разбора.

token.ISTERMINAL(x)

Возвращает True для значений терминальных токенов.

token.ISNONTERMINAL(x)

Возвращает True для значений нетерминальных токенов.

token.ISEOF(x)

Возвращает True, если x – это маркер конца входных данных.

Константы токенов:

token.ENDMARKER
token.NAME
token.NUMBER
token.STRING
token.NEWLINE
token.INDENT
token.DEDENT
token.LPAR
token.RPAR
token.LSQB
token.RSQB
token.COLON
token.COMMA
token.SEMI
token.PLUS
token.MINUS
token.STAR
token.SLASH
token.VBAR
token.AMPER
token.LESS
token.GREATER
token.EQUAL
token.DOT
token.PERCENT
token.LBRACE
token.RBRACE
token.EQEQUAL
token.NOTEQUAL
token.LESSEQUAL
token.GREATEREQUAL
token.TILDE
token.CIRCUMFLEX
token.LEFTSHIFT
token.RIGHTSHIFT
token.DOUBLESTAR
token.PLUSEQUAL
token.MINEQUAL
token.STAREQUAL
token.SLASHEQUAL
token.PERCENTEQUAL
token.AMPEREQUAL
token.VBAREQUAL
token.CIRCUMFLEXEQUAL
token.LEFTSHIFTEQUAL
token.RIGHTSHIFTEQUAL
token.DOUBLESTAREQUAL
token.DOUBLESLASH
token.DOUBLESLASHEQUAL
token.AT
token.ATEQUAL
token.RARROW
token.ELLIPSIS
token.OP
token.ERRORTOKEN
token.N_TOKENS
token.NT_OFFSET

Следующие значения типов токенов не используются токенизатором C, но необходимы для модуля tokenize.

token.COMMENT

Значение токена, используемое для обозначения комментария.

token.NL

Значение токена, используемое для обозначения незавершающего перевода строки. Токен NEWLINE указывает на конец логической строки кода Python; токены NL генерируются, когда логическая строка кода продолжается на нескольких физических строках.

token.ENCODING

Токен, обозначающий кодировку, используемую для декодирования исходных байтов в текст. Первый токен, возвращаемый tokenize.tokenize(), всегда будет токеном ENCODING.

Изменено в версии 3.5: Добавлены токены AWAIT и ASYNC.

Изменено в версии 3.7: Добавлены токены COMMENT, NL и ENCODING.

Изменено в версии 3.7: Удалены токены AWAIT и ASYNC. «async» и «await» теперь токенизируются как токены NAME.