token — Константы, используемые в деревьях разбора Python

Источник: Lib/token.py


Этот модуль предоставляет константы, которые представляют числовые значения листовых узлов дерева разбора (терминальных лексем). Определения имен в контексте грамматики языка см. в файле Grammar/Tokens в дистрибутиве Python. Конкретные числовые значения, которым соответствуют эти имена, могут меняться в разных версиях Python.

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

token.tok_name

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

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.COLONEQUAL

Значение токена для ":=".

token.EXCLAMATION

Значение токена для "!".

token.OP
token.TYPE_IGNORE
token.TYPE_COMMENT
token.SOFT_KEYWORD
token.FSTRING_START
token.FSTRING_MIDDLE
token.FSTRING_END
token.COMMENT
token.NL
token.ERRORTOKEN
token.N_TOKENS
token.NT_OFFSET

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

token.COMMENT

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

token.NL

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

token.ENCODING

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

token.TYPE_COMMENT

Значение токена, указывающее на то, что комментарий типа был распознан. Такие токены выдаются только в том случае, если ast.parse() вызывается вместе с type_comments=True.

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

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

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

Изменено в версии 3.8: Добавлены TYPE_COMMENT, TYPE_IGNORE, COLONEQUAL. Добавлены токены AWAIT и ASYNC (они необходимы для поддержки разбора старых версий Python для ast.parse() с feature_version, установленным на 6 или ниже).

Изменено в версии 3.13: Снова удалите жетоны AWAIT и ASYNC.