# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-03-23 09:47+0100\n" "PO-Revision-Date: 2018-09-11 07:42+0200\n" "Last-Translator: Julien VITARD \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.11\n" #: library/ast.rst:2 msgid ":mod:`ast` --- Abstract Syntax Trees" msgstr ":mod:`ast` — Arbres Syntaxiques Abstraits" #: library/ast.rst:10 msgid "**Source code:** :source:`Lib/ast.py`" msgstr "**Code source :** :source:`Lib/ast.py`" #: library/ast.rst:14 msgid "" "The :mod:`ast` module helps Python applications to process trees of the " "Python abstract syntax grammar. The abstract syntax itself might change " "with each Python release; this module helps to find out programmatically " "what the current grammar looks like." msgstr "" "Le module :mod:`ast` permet aux applications Python de traiter la grammaire " "abstraite de l'arbre syntaxique Python. La grammaire abstraite Python elle-" "même est susceptible d'être modifiée à chaque nouvelle version de Python; ce " "module permet de trouver à quoi la grammaire actuelle ressemble." #: library/ast.rst:19 msgid "" "An abstract syntax tree can be generated by passing :data:`ast." "PyCF_ONLY_AST` as a flag to the :func:`compile` built-in function, or using " "the :func:`parse` helper provided in this module. The result will be a tree " "of objects whose classes all inherit from :class:`ast.AST`. An abstract " "syntax tree can be compiled into a Python code object using the built-in :" "func:`compile` function." msgstr "" "Un arbre syntaxique abstrait peut être généré en passant l'option :data:`ast." "PyCF_ONLY_AST` à la fonction native :func:`compile`, ou en utilisant la " "fonction de facilité :func:`parse` fournie par le module. Le résultat est un " "arbre composé d'objets dont les classes héritent toutes de :class:`ast.AST`. " "Un arbre syntaxique abstrait peut être compilé en code objet Python en " "utilisant la fonction native :func:`compile`." #: library/ast.rst:27 msgid "Node classes" msgstr "Les classes nœud" #: library/ast.rst:31 msgid "" "This is the base of all AST node classes. The actual node classes are " "derived from the :file:`Parser/Python.asdl` file, which is reproduced :ref:" "`below `. They are defined in the :mod:`_ast` C module " "and re-exported in :mod:`ast`." msgstr "" "C'est la classe de base de toute classe nœud de l'AST. Les classes nœud " "courantes sont dérivées du fichier :file:`Parser/Python.asdl`, qui est " "reproduit :ref:`ci-dessous `. Ils sont définis dans le " "module C :mod:`_ast` et ré-exportés dans le module :mod:`ast`." #: library/ast.rst:36 msgid "" "There is one class defined for each left-hand side symbol in the abstract " "grammar (for example, :class:`ast.stmt` or :class:`ast.expr`). In addition, " "there is one class defined for each constructor on the right-hand side; " "these classes inherit from the classes for the left-hand side trees. For " "example, :class:`ast.BinOp` inherits from :class:`ast.expr`. For production " "rules with alternatives (aka \"sums\"), the left-hand side class is " "abstract: only instances of specific constructor nodes are ever created." msgstr "" "Il y a une classe définie pour chacun des symboles présents à gauche dans la " "grammaire abstraite (par exemple, :class:`ast.stmt` ou :class:`ast.expr`). " "En plus de cela, il y a une classe définie pour chacun des constructeurs " "présentés à droite; ces classes héritent des classes situées à gauche dans " "l'arbre. Par exemple, la classe :class:`ast.BinOp` hérite de la classe :" "class:`ast.expr`. Pour les règles de réécriture avec alternatives (comme " "*sums*), la partie gauche est abstraite : seules les instances des " "constructeurs spécifiques aux nœuds sont créés." #: library/ast.rst:49 msgid "" "Each concrete class has an attribute :attr:`_fields` which gives the names " "of all child nodes." msgstr "" "Chaque classe concrète possède un attribut :attr:`_fields` donnant les noms " "de tous les nœuds enfants." #: library/ast.rst:52 msgid "" "Each instance of a concrete class has one attribute for each child node, of " "the type as defined in the grammar. For example, :class:`ast.BinOp` " "instances have an attribute :attr:`left` of type :class:`ast.expr`." msgstr "" "Chaque instance d'une classe concrète possède un attribut pour chaque nœud " "enfant, du type défini par la grammaire. Par exemple, les instances :class:" "`ast.BinOp` possèdent un attribut :attr:`left` de type :class:`ast.expr`." #: library/ast.rst:56 msgid "" "If these attributes are marked as optional in the grammar (using a question " "mark), the value might be ``None``. If the attributes can have zero-or-more " "values (marked with an asterisk), the values are represented as Python " "lists. All possible attributes must be present and have valid values when " "compiling an AST with :func:`compile`." msgstr "" "Si ces attributs sont marqués comme optionnels dans la grammaire (en " "utilisant un point d'interrogation ``?``), la valeur peut être ``None``. Si " "les attributs peuvent avoir zéro ou plus valeurs (marqués avec un astérisque " "``*``), les valeurs sont représentées par des listes Python. Tous les " "attributs possibles doivent être présents et avoir une valeur valide pour " "compiler un AST avec :func:`compile`." #: library/ast.rst:67 #, fuzzy msgid "" "Instances of :class:`ast.expr` and :class:`ast.stmt` subclasses have :attr:" "`lineno`, :attr:`col_offset`, :attr:`lineno`, and :attr:`col_offset` " "attributes. The :attr:`lineno` and :attr:`end_lineno` are the first and " "last line numbers of source text span (1-indexed so the first line is line " "1) and the :attr:`col_offset` and :attr:`end_col_offset` are the " "corresponding UTF-8 byte offsets of the first and last tokens that generated " "the node. The UTF-8 offset is recorded because the parser uses UTF-8 " "internally." msgstr "" "Les instances des sous-classes :class:`ast.expr` et :class:`ast.stmt` " "possèdent les attributs :attr:`lineno` et :attr:`col_offset`. L'attribut :" "attr:`lineno` est le numéro de ligne dans le code source (indexé à partir de " "1 tel que la première ligne est la ligne 1) et l'attribut :attr:`col_offset` " "qui représente le décalage UTF-8 en byte du premier jeton qui a généré le " "nœud. Le décalage UTF-8 est enregistré parce que l'analyseur syntaxique " "utilise l'UTF-8 en interne." #: library/ast.rst:75 msgid "" "Note that the end positions are not required by the compiler and are " "therefore optional. The end offset is *after* the last symbol, for example " "one can get the source segment of a one-line expression node using " "``source_line[node.col_offset : node.end_col_offset]``." msgstr "" "Les décalages *end…* ne sont pas obligatoires ni nécessaires au compilateur. " "*end_col_offset* pointe *après* le dernier lexème. On peut donc obtenir la " "partie du code source ayant donné lieu à une expression avec " "``ligne_source[nœud.col_offset : nœud.end_col_offset]``." #: library/ast.rst:80 msgid "" "The constructor of a class :class:`ast.T` parses its arguments as follows:" msgstr "" "Le constructeur d'une classe :class:`ast.T` analyse ses arguments comme " "suit :" #: library/ast.rst:82 msgid "" "If there are positional arguments, there must be as many as there are items " "in :attr:`T._fields`; they will be assigned as attributes of these names." msgstr "" "S'il y a des arguments positionnels, il doit y avoir autant de termes dans :" "attr:`T._fields`; ils sont assignés comme attributs portant ces noms." #: library/ast.rst:84 msgid "" "If there are keyword arguments, they will set the attributes of the same " "names to the given values." msgstr "" "S'il y a des arguments nommés, ils définissent les attributs de mêmes noms " "avec les valeurs données." #: library/ast.rst:87 msgid "" "For example, to create and populate an :class:`ast.UnaryOp` node, you could " "use ::" msgstr "" "Par exemple, pour créer et peupler un nœud :class:`ast.UnaryOp`, on peut " "utiliser ::" #: library/ast.rst:99 msgid "or the more compact ::" msgstr "ou, plus compact ::" #: library/ast.rst:106 msgid "Class :class:`ast.Constant` is now used for all constants." msgstr "" "toutes les constantes sont désormais représentées par des instances de :" "class:`ast.Constant`." #: library/ast.rst:110 msgid "" "Old classes :class:`ast.Num`, :class:`ast.Str`, :class:`ast.Bytes`, :class:" "`ast.NameConstant` and :class:`ast.Ellipsis` are still available, but they " "will be removed in future Python releases. In the meanwhile, instantiating " "them will return an instance of a different class." msgstr "" #: library/ast.rst:119 msgid "Abstract Grammar" msgstr "Grammaire abstraite" #: library/ast.rst:121 msgid "The abstract grammar is currently defined as follows:" msgstr "La grammaire abstraite est actuellement définie comme suit :" #: library/ast.rst:128 msgid ":mod:`ast` Helpers" msgstr "Outils du module :mod:`ast`" #: library/ast.rst:130 msgid "" "Apart from the node classes, the :mod:`ast` module defines these utility " "functions and classes for traversing abstract syntax trees:" msgstr "" "À part la classe nœud, le module :mod:`ast` définit ces fonctions et classes " "utilitaires pour traverser les arbres syntaxiques abstraits :" #: library/ast.rst:135 msgid "" "Parse the source into an AST node. Equivalent to ``compile(source, " "filename, mode, ast.PyCF_ONLY_AST)``." msgstr "" "Analyse le code source en un nœud AST. Équivalent à ``compile(source, " "filename, mode, ast.PyCF_ONLY_AST)``." #: library/ast.rst:138 msgid "" "If ``type_comments=True`` is given, the parser is modified to check and " "return type comments as specified by :pep:`484` and :pep:`526`. This is " "equivalent to adding :data:`ast.PyCF_TYPE_COMMENTS` to the flags passed to :" "func:`compile()`. This will report syntax errors for misplaced type " "comments. Without this flag, type comments will be ignored, and the " "``type_comment`` field on selected AST nodes will always be ``None``. In " "addition, the locations of ``# type: ignore`` comments will be returned as " "the ``type_ignores`` attribute of :class:`Module` (otherwise it is always an " "empty list)." msgstr "" "Si *type_comments* est mis à ``True``, l'analyseur syntaxique reconnaît les " "commentaires de type et les ajoute à l'arbre, comme décrit dans la :pep:" "`484` et la :pep:`526`. Ceci revient à ajouter :data:`ast." "PyCF_TYPE_COMMENTS` à l'argument *flags* de :func:`compile`. Une erreur de " "syntaxe est levée si un commentaire de type est placé au mauvais endroit. " "Les commentaires ``# type: ignore`` sont également détectés et leurs " "positions dans la source sont placées dans l'attribut *type_ignores* du " "nœud :class:`Module`. Sans cette option, les commentaires de type sont " "ignorés tout comme les commentaires ordinaires, et l'attribut *type_comment* " "des nœuds dont le type possède ce champ sera toujours mis à ``None``." #: library/ast.rst:148 msgid "" "In addition, if ``mode`` is ``'func_type'``, the input syntax is modified to " "correspond to :pep:`484` \"signature type comments\", e.g. ``(str, int) -> " "List[str]``." msgstr "" #: library/ast.rst:152 msgid "" "Also, setting ``feature_version`` to a tuple ``(major, minor)`` will attempt " "to parse using that Python version's grammar. Currently ``major`` must equal " "to ``3``. For example, setting ``feature_version=(3, 4)`` will allow the " "use of ``async`` and ``await`` as variable names. The lowest supported " "version is ``(3, 4)``; the highest is ``sys.version_info[0:2]``." msgstr "" "Si *feature_version* est défini à une version de Python, sous la forme d'un " "couple ``(version_majeure, version_mineure)``, l'analyseur tentera de lire " "la source en se conformant à la syntaxe de cette version. Ainsi, avec " "``feature_version=(3, 4)``, les noms ``async`` et ``await`` peuvent nommer " "des variables. La version la plus ancienne prise en charge est actuellement " "``(3, 4)`` ; la plus récente est ``sys.version_info[0:2]``." #: library/ast.rst:181 msgid "" "It is possible to crash the Python interpreter with a sufficiently large/" "complex string due to stack depth limitations in Python's AST compiler." msgstr "" "Il est possible de faire planter l'interpréteur Python avec des chaînes " "suffisamment grandes ou complexes lors de la compilation d'un objet AST dû à " "la limitation de la profondeur de la pile d'appels." #: library/ast.rst:164 msgid "Added ``type_comments``, ``mode='func_type'`` and ``feature_version``." msgstr "" "ajout des paramètres *type_comments* et *feature_version* ainsi que de la " "valeur ``'func_type'`` pour *mode*." #: library/ast.rst:170 msgid "" "Safely evaluate an expression node or a string containing a Python literal " "or container display. The string or node provided may only consist of the " "following Python literal structures: strings, bytes, numbers, tuples, lists, " "dicts, sets, booleans, and ``None``." msgstr "" "Évalue de manière sûre un nœud expression ou une chaîne de caractères " "contenant une expression littérale Python ou un conteneur. La chaîne de " "caractères ou le nœud fourni peut seulement faire partie des littéraux " "Python suivants : chaînes de caractères, bytes, nombres, n-uplets, listes, " "dictionnaires, ensembles, booléens, et ``None``." #: library/ast.rst:175 msgid "" "This can be used for safely evaluating strings containing Python values from " "untrusted sources without the need to parse the values oneself. It is not " "capable of evaluating arbitrarily complex expressions, for example involving " "operators or indexing." msgstr "" "Cela peut être utilisé pour évaluer de manière sûre la chaîne de caractères " "contenant des valeurs Python de sources non fiable sans avoir besoin " "d'analyser les valeurs elles-mêmes. Cette fonction n'est pas capable " "d'évaluer des expressions complexes arbitraires, par exemple impliquant des " "opérateurs ou de l'indexation." #: library/ast.rst:185 msgid "Now allows bytes and set literals." msgstr "Accepte maintenant les littéraux suivants *bytes* et *sets*." #: library/ast.rst:191 msgid "" "Return the docstring of the given *node* (which must be a :class:" "`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, or :class:" "`Module` node), or ``None`` if it has no docstring. If *clean* is true, " "clean up the docstring's indentation with :func:`inspect.cleandoc`." msgstr "" "Renvoie la *docstring* du *node* donné (qui doit être un nœud de type :class:" "`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, or :class:" "`Module`), ou ``None`` s'il n'a pas de *docstring*. Si *clean* est vrai, " "cette fonction nettoie l'indentation de la *docstring* avec :func:`inspect." "cleandoc`." #: library/ast.rst:197 msgid ":class:`AsyncFunctionDef` is now supported." msgstr ":class:`AsyncFunctionDef` est maintenant gérée" #: library/ast.rst:203 msgid "" "Get source code segment of the *source* that generated *node*. If some " "location information (:attr:`lineno`, :attr:`end_lineno`, :attr:" "`col_offset`, or :attr:`end_col_offset`) is missing, return ``None``." msgstr "" "Donne la partie de *source* (le code source) qui a donné lieu à *node*. Si " "l'un des attributs de localisation du nœud (:attr:`lineno`, :attr:" "`end_lineno`, :attr:`col_offset` et :attr:`end_col_offset`) n'est pas " "rempli, cette fonction renvoie ``None``." #: library/ast.rst:207 msgid "" "If *padded* is ``True``, the first line of a multi-line statement will be " "padded with spaces to match its original position." msgstr "" #: library/ast.rst:215 msgid "" "When you compile a node tree with :func:`compile`, the compiler expects :" "attr:`lineno` and :attr:`col_offset` attributes for every node that supports " "them. This is rather tedious to fill in for generated nodes, so this helper " "adds these attributes recursively where not already set, by setting them to " "the values of the parent node. It works recursively starting at *node*." msgstr "" "Lorsque l'on compile un arbre avec :func:`compile`, le compilateur attend " "les attributs :attr:`lineno` et :attr:`col_offset` pour tous les nœuds qui " "les supportent. Il est fastidieux de les remplir pour les nœuds générés, " "cette fonction utilitaire ajoute ces attributs de manière récursive là où " "ils ne sont pas déjà définis, en les définissant comme les valeurs du nœud " "parent. Elle fonctionne récursivement en démarrant de *node*." #: library/ast.rst:224 msgid "" "Increment the line number and end line number of each node in the tree " "starting at *node* by *n*. This is useful to \"move code\" to a different " "location in a file." msgstr "" "Incrémente de *n* les numéros des lignes de début et ligne de fin de chaque " "nœud dans l'arbre, en commençant par le nœud *node*. C'est utile pour " "« déplacer du code » à un endroit différent dans un fichier." #: library/ast.rst:231 msgid "" "Copy source location (:attr:`lineno`, :attr:`col_offset`, :attr:" "`end_lineno`, and :attr:`end_col_offset`) from *old_node* to *new_node* if " "possible, and return *new_node*." msgstr "" "Copie la position dans la source (attributs :attr:`lineno`, :attr:" "`col_offset`, :attr:`end_lineno` et :attr:`end_col_offset`) de l'ancien nœud " "*old_node* vers le nouveau nœud *new_node*, si possible, et renvoie " "*new_node*." #: library/ast.rst:238 msgid "" "Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields`` " "that is present on *node*." msgstr "" "Produit un n-uplet de ``(fieldname, value)`` pour chaque champ de ``node." "_fields`` qui est présent dans *node*." #: library/ast.rst:244 msgid "" "Yield all direct child nodes of *node*, that is, all fields that are nodes " "and all items of fields that are lists of nodes." msgstr "" "Produit tous les nœuds enfants directs de *node*, c'est à dire, tous les " "champs qui sont des nœuds et tous les éléments des champs qui sont des " "listes de nœuds." #: library/ast.rst:250 msgid "" "Recursively yield all descendant nodes in the tree starting at *node* " "(including *node* itself), in no specified order. This is useful if you " "only want to modify nodes in place and don't care about the context." msgstr "" "Produit récursivement tous les nœuds enfants dans l'arbre en commençant par " "*node* (*node* lui-même est inclus), sans ordre spécifique. C'est utile " "lorsque l'on souhaite modifier les nœuds sur place sans prêter attention au " "contexte." #: library/ast.rst:257 msgid "" "A node visitor base class that walks the abstract syntax tree and calls a " "visitor function for every node found. This function may return a value " "which is forwarded by the :meth:`visit` method." msgstr "" "Classe de base pour un visiteur de nœud, qui parcourt l'arbre syntaxique " "abstrait et appelle une fonction de visite pour chacun des nœuds trouvés. " "Cette fonction peut renvoyer une valeur qui est transmise par la méthode :" "meth:`visit`." #: library/ast.rst:261 msgid "" "This class is meant to be subclassed, with the subclass adding visitor " "methods." msgstr "" "Cette classe est faite pour être dérivée, en ajoutant des méthodes de visite " "à la sous-classe." #: library/ast.rst:266 msgid "" "Visit a node. The default implementation calls the method called :samp:" "`self.visit_{classname}` where *classname* is the name of the node class, " "or :meth:`generic_visit` if that method doesn't exist." msgstr "" "Visite un nœud. L'implémentation par défaut appelle la méthode :samp:`self." "visit_{classname}` où *classname* représente le nom de la classe du nœud, " "ou :meth:`generic_visit` si cette méthode n'existe pas." #: library/ast.rst:272 msgid "This visitor calls :meth:`visit` on all children of the node." msgstr "" "Le visiteur appelle la méthode :meth:`visit` de tous les enfants du nœud." #: library/ast.rst:274 msgid "" "Note that child nodes of nodes that have a custom visitor method won't be " "visited unless the visitor calls :meth:`generic_visit` or visits them itself." msgstr "" "Notons que les nœuds enfants qui possèdent une méthode de visite spéciale ne " "seront pas visités à moins que le visiteur n'appelle la méthode :meth:" "`generic_visit` ou ne les visite lui-même." #: library/ast.rst:278 msgid "" "Don't use the :class:`NodeVisitor` if you want to apply changes to nodes " "during traversal. For this a special visitor exists (:class:" "`NodeTransformer`) that allows modifications." msgstr "" "N'utilisez pas :class:`NodeVisitor` si vous souhaitez appliquer des " "changements sur les nœuds lors du parcours. Pour cela, un visiteur spécial " "existe (:class:`NodeTransformer`) qui permet les modifications." #: library/ast.rst:284 msgid "" "Methods :meth:`visit_Num`, :meth:`visit_Str`, :meth:`visit_Bytes`, :meth:" "`visit_NameConstant` and :meth:`visit_Ellipsis` are deprecated now and will " "not be called in future Python versions. Add the :meth:`visit_Constant` " "method to handle all constant nodes." msgstr "" "les méthodes :meth:`visit_Num`, :meth:`visit_Str`, :meth:`visit_Bytes`, :" "meth:`visit_NameConstant` et :meth:`visit_Ellipsis` sont devenues obsolètes " "et cesseront d'être appelées dans une version ultérieure de Python. Écrivez " "une méthode :meth:`visit_Constant` pour traiter tous les nœuds qui " "représentent des valeurs constantes." #: library/ast.rst:292 msgid "" "A :class:`NodeVisitor` subclass that walks the abstract syntax tree and " "allows modification of nodes." msgstr "" "Une sous-classe :class:`NodeVisitor` qui traverse l'arbre syntaxique " "abstrait et permet les modifications des nœuds." #: library/ast.rst:295 msgid "" "The :class:`NodeTransformer` will walk the AST and use the return value of " "the visitor methods to replace or remove the old node. If the return value " "of the visitor method is ``None``, the node will be removed from its " "location, otherwise it is replaced with the return value. The return value " "may be the original node in which case no replacement takes place." msgstr "" "Le :class:`NodeTransformer` traverse l'AST et utilise la valeur renvoyée par " "les méthodes du visiteur pour remplacer ou supprimer l'ancien nœud. Si la " "valeur renvoyée par la méthode du visiteur est ``None``, le nœud est " "supprimé de sa position, sinon il est remplacé par la valeur de retour. La " "valeur de retour peut être le nœud original et dans ce cas, il n'y a pas de " "remplacement. " #: library/ast.rst:301 msgid "" "Here is an example transformer that rewrites all occurrences of name lookups " "(``foo``) to ``data['foo']``::" msgstr "" "Voici un exemple du *transformer* qui réécrit les occurrences du " "dictionnaire (``foo``) en ``data['foo']`` ::" #: library/ast.rst:313 msgid "" "Keep in mind that if the node you're operating on has child nodes you must " "either transform the child nodes yourself or call the :meth:`generic_visit` " "method for the node first." msgstr "" "Gardez en tête que si un nœud sur lequel vous travaillez a des nœuds " "enfants, vous devez transformer également ces nœuds enfant vous-même ou " "appeler d'abord la méthode :meth:`generic_visit` sur le nœud." #: library/ast.rst:317 msgid "" "For nodes that were part of a collection of statements (that applies to all " "statement nodes), the visitor may also return a list of nodes rather than " "just a single node." msgstr "" "Pour les nœuds qui font partie d'une collection d'instructions (cela " "s'applique à tous les nœuds instruction), le visiteur peut aussi renvoyer la " "liste des nœuds plutôt qu'un seul nœud." #: library/ast.rst:321 msgid "" "If :class:`NodeTransformer` introduces new nodes (that weren't part of " "original tree) without giving them location information (such as :attr:" "`lineno`), :func:`fix_missing_locations` should be called with the new sub-" "tree to recalculate the location information::" msgstr "" "Si :class:`NodeTransformer` ajoute de nouveaux nœuds à l'original sans leur " "donner les attributs de position dans la source (:attr:`lineno` et " "consorts), il faut passer le nouvel arbre (ou la nouvelle partie de l'arbre) " "à :func:`fix_missing_locations` pour calculer les positions manquantes :" #: library/ast.rst:329 msgid "Usually you use the transformer like this::" msgstr "Utilisation typique du *transformer* ::" #: library/ast.rst:336 msgid "" "Return a formatted dump of the tree in *node*. This is mainly useful for " "debugging purposes. If *annotate_fields* is true (by default), the returned " "string will show the names and the values for fields. If *annotate_fields* " "is false, the result string will be more compact by omitting unambiguous " "field names. Attributes such as line numbers and column offsets are not " "dumped by default. If this is wanted, *include_attributes* can be set to " "true." msgstr "" "Renvoie une représentation sous forme de chaîne de caractères de l'arbre " "contenu dans *node*. Ceci est principalement utile à des fins de débogage. " "Par défaut, les champs sont passés comme paramètres nommés aux constructeurs " "des classes d'arbre syntaxiques. Cependant, si *annotate_fields* est mis à " "``False``, les valeurs sont passées, lorsque cela est possible, comme " "arguments positionnels, rendant la représentation plus compacte. Les " "attributs comme les numéros de lignes et positions sur les lignes sont " "masqués par défaut, mais on peut les inclure en mettant *include_attributes* " "à ``True``." #: library/ast.rst:346 msgid "" "`Green Tree Snakes `_, an external " "documentation resource, has good details on working with Python ASTs." msgstr "" "`Green Tree Snakes `_, une " "ressource documentaire externe, qui possède plus de détails pour travailler " "avec des ASTs Python." #: library/ast.rst:349 msgid "" "`ASTTokens `_ " "annotates Python ASTs with the positions of tokens and text in the source " "code that generated them. This is helpful for tools that make source code " "transformations." msgstr "" "`ASTTokens `_ " "annote les arbres syntaxiques Python avec les positions des lexèmes et les " "extraits de code source à partir desquels ils sont produits. Ceci est utile " "pour les outils qui transforment du code source." #: library/ast.rst:354 msgid "" "`leoAst.py `_ unifies the " "token-based and parse-tree-based views of python programs by inserting two-" "way links between tokens and ast nodes." msgstr "" #: library/ast.rst:358 msgid "" "`LibCST `_ parses code as a Concrete Syntax " "Tree that looks like an ast tree and keeps all formatting details. It's " "useful for building automated refactoring (codemod) applications and linters." msgstr "" "`LibCST `_ produit à partir du code source " "des arbres syntaxiques concrets, qui ressemblent à leurs homologues " "abstraits et conservent tous les détails du formatage. Cette bibliothèque " "est utile aux outils de réusinage et d'analyse de code." #: library/ast.rst:363 msgid "" "`Parso `_ is a Python parser that supports " "error recovery and round-trip parsing for different Python versions (in " "multiple Python versions). Parso is also able to list multiple syntax errors " "in your python file." msgstr "" "`Parso `_ est un analyseur syntaxique de code " "Python qui gère la récupération d'erreurs et la génération de code (de " "l'arbre syntaxique vers le code source), le tout pour les grammaires de " "différentes versions de Python et en utilisant différentes versions. Il sait " "également donner plusieurs erreurs de syntaxe en une seule fois."