Section courante

A propos

Section administrative du site

COMPILE

Compile
Python

Syntaxe

compile(chaine, nomdufichier, sorte)
compile(chaine, nomdufichier, sorte, drapeaux)
compile(chaine, nomdufichier, sorte, drapeaux, dont_inherit)

Paramètres

Nom Description
chaine Ce paramètre permet d'indiquer la chaîne de caractères à traiter
nomdufichier Ce paramètre permet d'indiquer le nom du fichier
sorte Ce paramètre permet d'indiquer quel type de code doit être compilé; il peut être 'exec' si la source se compose d'une séquence d'instructions, 'eval' s'il se compose d'une seule expression (notez que vous ne pouvez pas utiliser d'instructions dans ce mode; seule une (single) expression est valide) ou 'single' s'il se compose d'une seule instruction interactive (dans ce dernier cas, les instructions d'expression évaluées à autre chose que None seront affichées).
drapeaux Ce paramètre permet de spécifier les options
dont_inherit Ce paramètre permet de spécifier les options à ne pas hériter. Les paramètres optionnels drapeaux et dont_inherit contrôlent quelles instructions futures (voir PEP 236) affectent la compilation de la source. Si aucun n'est présent (ou les deux sont nuls), le code est compilé avec les futures instructions étant en vigueur dans le code appelant la compilation. Si le paramètre drapeaux est donné et dont_inherit n'existe pas (ou est nul), les futures instructions spécifiées par le paramètres drapeaux sont utilisées en plus de celles étant utilisées de toute façon. Si dont_inherit est un entier non nul, alors le paramètre drapeaux l'est, les futures instructions en vigueur autour de l'appel à la compilation sont ignorées.

Description

Cette fonction permet de compiler une chaîne de caractères en un code ou en objet AST. Les objets de code peuvent être exécutés par une instruction exec ou évalués par un appel à eval(). Le paramètre chaine peut être une chaîne de caractères Unicode, une chaîne de caractères codée en latin-1 ou un objet AST.

Algorithme

* Entrées :
*  source : Chaîne de caractères contenant le code source à compiler
*  filename : Nom du fichier source (ou une chaîne de caractères indiquant l'origine du code, par ex. '<string>')
*  mode : Type de code à compiler, l'une des valeurs : 'exec', 'eval', ou 'single'
*
* Sortie :
*  Objet code compilé utilisable par exec() ou eval()

MODULE COMPILE(source, filename, mode)
   * Vérifier que le mode est valide
   SI mode est 'exec', 'eval', ou 'single' ALORS
      Continuer
   SINON
      Lever une exception ValueError
   FIN SI
   * Analyser le code source donné
   SI le mode est 'eval' (expression unique) ALORS
      Compiler le source en tant qu'expression.
   FIN SI
   SI le mode est 'exec' (ensemble d'instructions) ALORS
      Compiler le source en tant que suite d'instructions.
   FIN SI
   SI le mode est 'single' (une seule instruction, typiquement pour l'interpréteur interactif) ALORS
      Compiler le source en tant qu'instruction unique.
   FIN SI
   Créer un objet code compilé.
   RETOURNE l'objet code compilé.

Remarques



Dernière mise à jour : Mercredi, le 14 septembre 2016