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