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

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.