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

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


Этот модуль предоставляет константы, которые представляют числовые значения конечных узлов дерева синтаксического анализа (terminaltokens). Обратитесь к файлу 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 или ниже).

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