# `token`— Constantes usadas con árboles de sintaxis de Python

Código fuente: Lib/token.py

Este módulo proporciona constantes que representan los valores numéricos de los nodos hoja del árbol de análisis (tokens terminales). Consulte el archivo `Grammar/Tokens` en la distribución de Python para conocer las definiciones de los nombres en el contexto de la gramática del lenguaje. Los valores numéricos específicos a los que se asignan los nombres pueden cambiar entre las versiones de Python.

El módulo también proporciona un mapeo de códigos numéricos a nombres y algunas funciones. Las funciones asemejan definiciones en los archivos Python C encabezados.

token.tok_name

  Diccionario que mapea los valores numéricos de las constantes definidas en este módulo a cadenas de nombres, permitiendo una representación de árboles de sintaxis a ser generados más legible para humanos.

token.ISTERMINAL(x)

  Retorna `True` para valores token terminales.

token.ISNONTERMINAL(x)

  Retorna `True` para valores token no terminales.

token.ISEOF(x)

  Retorna `True` si x es el marcador indicando el final del input.

Las constantes de token son:

token.ENDMARKER

token.NAME

token.NUMBER

token.STRING

token.NEWLINE

token.INDENT

token.DEDENT

token.LPAR

  Token value for `"("`.

token.RPAR

  Token value for `")"`.

token.LSQB

  Token value for `"["`.

token.RSQB

  Token value for `"]"`.

token.COLON

  Token value for `":"`.

token.COMMA

  Token value for `","`.

token.SEMI

  Token value for `";"`.

token.PLUS

  Token value for `"+"`.

token.MINUS

  Token value for `"-"`.

token.STAR

  Token value for `"*"`.

token.SLASH

  Token value for `"/"`.

token.VBAR

  Token value for `"|"`.

token.AMPER

  Token value for `"&"`.

token.LESS

  Token value for `"<"`.

token.GREATER

  Token value for `">"`.

token.EQUAL

  Token value for `"="`.

token.DOT

  Token value for `"."`.

token.PERCENT

  Token value for `"%"`.

token.LBRACE

  Token value for `"{"`.

token.RBRACE

  Token value for `"}"`.

token.EQEQUAL

  Token value for `"=="`.

token.NOTEQUAL

  Token value for `"!="`.

token.LESSEQUAL

  Token value for `"<="`.

token.GREATEREQUAL

  Token value for `">="`.

token.TILDE

  Token value for `"~"`.

token.CIRCUMFLEX

  Token value for `"^"`.

token.LEFTSHIFT

  Token value for `"<<"`.

token.RIGHTSHIFT

  Token value for `">>"`.

token.DOUBLESTAR

  Token value for `"**"`.

token.PLUSEQUAL

  Token value for `"+="`.

token.MINEQUAL

  Token value for `"-="`.

token.STAREQUAL

  Token value for `"*="`.

token.SLASHEQUAL

  Token value for `"/="`.

token.PERCENTEQUAL

  Token value for `"%="`.

token.AMPEREQUAL

  Token value for `"&="`.

token.VBAREQUAL

  Token value for `"|="`.

token.CIRCUMFLEXEQUAL

  Token value for `"^="`.

token.LEFTSHIFTEQUAL

  Token value for `"<<="`.

token.RIGHTSHIFTEQUAL

  Token value for `">>="`.

token.DOUBLESTAREQUAL

  Token value for `"**="`.

token.DOUBLESLASH

  Token value for `"//"`.

token.DOUBLESLASHEQUAL

  Token value for `"//="`.

token.AT

  Token value for `"@"`.

token.ATEQUAL

  Token value for `"@="`.

token.RARROW

  Token value for `"->"`.

token.ELLIPSIS

  Token value for `"..."`.

token.COLONEQUAL

  Token value for `":="`.

token.OP

token.AWAIT

token.ASYNC

token.TYPE_IGNORE

token.TYPE_COMMENT

token.SOFT_KEYWORD

token.ERRORTOKEN

token.N_TOKENS

token.NT_OFFSET

Los siguientes tipos de valores tokens no son usados por el tokenizador C pero son necesarios para el modulo `tokenizador`.

token.COMMENT

  Valores token usados para indicar un comentario.

token.NL

  Valor token usado para indicar una nueva línea no terminante. El token `NEWLINE` indica el final de una línea lógica de código Python; los tokens `NL` son generados cuando una línea lógica de código es continuada sobre múltiples líneas físicas.

token.ENCODING

  Valor de token que indica la codificación usada para decodificar los bytes de origen en texto. El primer token retornado por `tokenize.tokenize()` siempre será un token `ENCODING`.

token.TYPE_COMMENT

  Valor token indicando que un tipo comentario fue reconocido. Dichos tokens solo son producidos cuando `ast.parse()` es invocado con `type_comments=True`.

Distinto en la versión 3.5: Agregados los tokens `AWAIT` y `ASYNC`.

Distinto en la versión 3.7: Agregados los tokens `COMMENT`, `NL` y `ENCODING`.

Distinto en la versión 3.7: Removidos los tokens `AWAIT` y `ASYNC`. «async» y «await» son ahora tokenizados como `NAME` tokens.

Distinto en la versión 3.8: Agregados `TYPE_COMMENT`, `TYPE_IGNORE`, `COLONEQUAL`. Agregados de regreso los tokens `AWAIT` y `ASYNC` (son necesarios para dar soporte en la sintaxis de versiones más antiguas de Python para `ast.parse()` con `feature_version` establecido a 6 o menor).