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.OP
token.AWAIT
token.ASYNC
token.TYPE_IGNORE
token.TYPE_COMMENT
token.SOFT_KEYWORD
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 или ниже).

Вернуться на верх