token — Constantes usadas com árvores de análises do Python

Código-fonte: Lib/token.py


Este módulo fornece constantes que representam os valores numéricos dos nós das folhas da árvore de análise (tokens terminais). Consulte o arquivo Grammar/Grammar na distribuição Python para obter as definições dos nomes no contexto da gramática da linguagem. Os valores numéricos específicos para os quais os nomes são mapeados podem mudar entre as versões do Python.

O módulo também fornece um mapeamento de códigos numéricos para nomes e algumas funções. As funções espelham definições nos arquivos de cabeçalho do Python C.

token.tok_name

Dicionário que mapeia os valores numéricos das constantes definidas neste módulo de volta para cadeias de nomes, permitindo que seja gerada uma representação mais legível de árvores de análise.

token.ISTERMINAL(x)

Retorna True para valores de tokens terminais.

token.ISNONTERMINAL(x)

Retorna True para valores de tokens não terminais.

token.ISEOF(x)

Retorna True se x for o marcador que indica o final da entrada.

Os constantes de tokens são:

token.ENDMARKER
token.NAME
token.NUMBER
token.STRING
token.NEWLINE
token.INDENT
token.DEDENT
token.LPAR

Valor de token para "(".

token.RPAR

Valor de token para ")".

token.LSQB

Valor de token para "[".

token.RSQB

Valor de token para "]".

token.COLON

Valor de token para ":".

token.COMMA

Valor de token para ",".

token.SEMI

Valor de token para ";".

token.PLUS

Valor de token para "+".

token.MINUS

Valor de token para "-".

token.STAR

Valor de token para "*".

token.SLASH

Valor de token para "/".

token.VBAR

Valor de token para "|".

token.AMPER

Valor de token para "&".

token.LESS

Valor de token para "<".

token.GREATER

Valor de token para ">".

token.EQUAL

Valor de token para "=".

token.DOT

Valor de token para ".".

token.PERCENT

Valor de token para "%".

token.LBRACE

Valor de token para "{".

token.RBRACE

Valor de token para "}".

token.EQEQUAL

Valor de token para "==".

token.NOTEQUAL

Valor de token para "!=".

token.LESSEQUAL

Valor de token para "<=".

token.GREATEREQUAL

Valor de token para ">=".

token.TILDE

Valor de token para "~".

token.CIRCUMFLEX

Valor de token para "^".

token.LEFTSHIFT

Valor de token para "<<".

token.RIGHTSHIFT

Valor de token para ">>".

token.DOUBLESTAR

Valor de token para "**".

token.PLUSEQUAL

Valor de token para "+=".

token.MINEQUAL

Valor de token para "-=".

token.STAREQUAL

Valor de token para "*=".

token.SLASHEQUAL

Valor de token para "/=".

token.PERCENTEQUAL

Valor de token para "%=".

token.AMPEREQUAL

Valor de token para "&=".

token.VBAREQUAL

Valor de token para "|=".

token.CIRCUMFLEXEQUAL

Valor de token para "^=".

token.LEFTSHIFTEQUAL

Valor de token para "<<=".

token.RIGHTSHIFTEQUAL

Valor de token para ">>=".

token.DOUBLESTAREQUAL

Valor de token para "**=".

token.DOUBLESLASH

Valor de token para "//".

token.DOUBLESLASHEQUAL

Valor de token para "//=".

token.AT

Valor de token para "@".

token.ATEQUAL

Valor de token para "@=".

token.RARROW

Valor de token para "->".

token.ELLIPSIS

Valor de token para "...".

token.COLONEQUAL

Valor de token para ":=".

token.OP
token.AWAIT
token.ASYNC
token.TYPE_IGNORE
token.TYPE_COMMENT
token.ERRORTOKEN
token.N_TOKENS
token.NT_OFFSET

Os seguintes valores de tipo de token não são usados pelo tokenizador do C, mas são necessários para o módulo tokenize.

token.COMMENT

Valor de token usado para indicar um comentário.

token.NL

Valor de token usado para indicar uma nova linha que não termina. O token NEWLINE indica o fim de uma linha lógica do código Python. Os tokens NL são gerados quando uma linha lógica de código é continuada em várias linhas físicas.

token.ENCODING

Valor de token que indica a codificação usada para decodificar os bytes de origem em texto. O primeiro token retornado por tokenize.tokenize() sempre será um token ENCODING.

token.TYPE_COMMENT

Valor do token indicando que um comentário de tipo foi reconhecido. Esses tokens são produzidos apenas quando ast.parse() é chamado com type_comments=True.

Alterado na versão 3.5: Adicionados os tokens AWAIT e ASYNC.

Alterado na versão 3.7: Adicionados os tokens COMMENT, NL e ENCODING.

Alterado na versão 3.7: Removido os tokens AWAIT e ASYNC. “async” e “await” são agora tokenizados como tokens NAME.

Alterado na versão 3.8: Adicionados TYPE_COMMENT, TYPE_IGNORE, COLONEQUAL. Adicionados os tokens AWAIT e ASYNC (eles são necessários para dar suporte à análise de versões mais antigas do Python para ast.parse() com feature_version definido como 6 ou inferior).