# `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`

  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.``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).