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

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


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