33.5. token — Constantes utilisées avec les arbres d’analyse Python (parse trees)

Code source : Lib/token.py


Ce module fournit des constantes qui représentent les valeurs numériques des nœuds enfants du parse tree (les jetons « terminaux »). Voir le fichier Grammar/Grammar dans la distribution Python pour la définitions des noms dans le contexte de la grammaire. Les valeurs numériques correspondant aux noms sont susceptibles de changer entre deux versions de Python.

Le module fournit également une correspondance entre les codes numériques et les noms et certaines fonctions. Les fonctions reflètent les définitions des fichiers d’en-tête C de Python.

token.tok_name

Dictionnaire faisant correspondre les valeurs numériques des constantes définies dans ce module à leurs noms, permettant de générer une représentation plus humaine des parse trees.

token.ISTERMINAL(x)

Renvoie True pour les valeurs des jetons terminaux.

token.ISNONTERMINAL(x)

Renvoie True pour les valeurs des jetons non terminaux.

token.ISEOF(x)

Renvoie True si x est le marqueur indiquant la fin de de la source.

Les constantes associées aux jetons sont :

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

Les types de jetons suivants ne sont pas utilisés par l’analyseur lexical C mais sont requis par le module tokenize.

token.COMMENT

Valeur du jeton utilisée pour indiquer un commentaire.

token.NL

Valeur du jeton utilisée pour indiquer un retour à la ligne non terminal. Le jeton NEWLINE indique la fin d’une ligne logique de code Python; les jetons NL sont générés quand une ligne logique de code s’étend sur plusieurs lignes.

token.ENCODING

Valeur de jeton qui indique l’encodage utilisé pour décoder le fichier initial. Le premier jeton renvoyé par tokenize.tokenize() sera toujours un jeton ENCODING.

Modifié dans la version 3.5: Ajout des jetons AWAIT et ASYNC.

Modifié dans la version 3.7: Ajout des jetons COMMENT, NL et ENCODING.

Modifié dans la version 3.7: Suppression des jetons AWAIT et ASYNC. « async » et « await » sont maintenant transformés en jetons NAME.