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 arbres syntaxiques.

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

token.TYPE_COMMENT

Token value indicating that a type comment was recognized. Such tokens are only produced when ast.parse() is invoked with type_comments=True.

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.

Modifié dans la version 3.8: Added TYPE_COMMENT. Added AWAIT and ASYNC tokens back (they're needed to support parsing older Python versions for ast.parse() with feature_version set to 6 or lower).