token— Constantes usadas con árboles de sintaxis de Python

Código fuente: Lib/token.py


Este módulo provee constantes que representan los valores numéricos de nodos hoja de un árbol de sintaxis (tokens terminales). Referirse al archivo Grammar/Grammar en la distribución de Python para las definiciones de los nombres en el contexto de gramática del lenguaje. Los valores numéricos específicos a los que los nombres mapean pueden cambiar entre 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 token para "(".

token.RPAR

Valor token para ")".

token.LSQB

Valor token para "[".

token.RSQB

Valor token para "]".

token.COLON

Valor token para ":".

token.COMMA

Valor token para ",".

token.SEMI

Valor token para ";".

token.PLUS

Valor token para "+".

token.MINUS

Valor token para "-".

token.STAR

Valor token para "*".

token.SLASH

Valor token para "/".

token.VBAR

Valor token para "|".

token.AMPER

Valor token para "&".

token.LESS

Valor token para "<".

token.GREATER

Valor token para ">".

token.EQUAL

Valor token para "=".

token.DOT

Valor token para ".".

token.PERCENT

Valor token para "%".

token.LBRACE

Valor token para "{".

token.RBRACE

Valor token para "}".

token.EQEQUAL

Valor token para "==".

token.NOTEQUAL

Valor token para "!=".

token.LESSEQUAL

Valor token para "<=".

token.GREATEREQUAL

Valor token para ">=".

token.TILDE

Valor token para "~".

token.CIRCUMFLEX

Valor token para "^".

token.LEFTSHIFT

Valor token para "<<".

token.RIGHTSHIFT

Valor token para ">>".

token.DOUBLESTAR

Valor token para "**".

token.PLUSEQUAL

Valor token para "+=".

token.MINEQUAL

Valor token para "-=".

token.STAREQUAL

Valor token para "*=".

token.SLASHEQUAL

Valor token para "/=".

token.PERCENTEQUAL

Valor token para "%=".

token.AMPEREQUAL

Valor token para "&=".

token.VBAREQUAL

Valor token para "|=".

token.CIRCUMFLEXEQUAL

Valor token para "^=".

token.LEFTSHIFTEQUAL

Valor token para "<<=".

token.RIGHTSHIFTEQUAL

Valor token para ">>=".

token.DOUBLESTAREQUAL

Valor token para "**=".

token.DOUBLESLASH

Valor token para "//".

token.DOUBLESLASHEQUAL

Valor token para "//=".

token.AT

Valor token para "@".

token.ATEQUAL

Valor token para "@=".

token.RARROW

Valor token para "->".

token.ELLIPSIS

Valor token para "...".

token.COLONEQUAL

Valor token para ":=".

token.OP
token.AWAIT
token.ASYNC
token.TYPE_IGNORE
token.TYPE_COMMENT
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).