# 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: 2021-03-19 16:59+0100\n"
"PO-Revision-Date: 2018-09-11 07:42+0200\n"
"Last-Translator: Julien VITARD <julienvitard@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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:14
msgid "**Source code:** :source:`Lib/ast.py`"
msgstr "**Code source :** :source:`Lib/ast.py`"

#: library/ast.rst:18
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:23
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:33
msgid "Abstract Grammar"
msgstr "Grammaire abstraite"

#: library/ast.rst:35
msgid "The abstract grammar is currently defined as follows:"
msgstr "La grammaire abstraite est actuellement définie comme suit :"

#: library/ast.rst:42
msgid "Node classes"
msgstr "Les classes nœud"

#: library/ast.rst:46
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 <abstract-grammar>`.  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 <abstract-grammar>`. Ils sont définis dans le "
"module C :mod:`_ast` et ré-exportés dans le module :mod:`ast`."

#: library/ast.rst:51
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:64
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:67
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:71
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:82
#, 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:90
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 ""

#: library/ast.rst:95
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:97
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:99
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:102
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:114
msgid "or the more compact ::"
msgstr "ou, plus compact ::"

#: library/ast.rst:121
msgid "Class :class:`ast.Constant` is now used for all constants."
msgstr ""

#: library/ast.rst:125
msgid ""
"Simple indices are represented by their value, extended slices are "
"represented as tuples."
msgstr ""

#: library/ast.rst:130
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 meantime, instantiating "
"them will return an instance of a different class."
msgstr ""

#: library/ast.rst:137
msgid ""
"Old classes :class:`ast.Index` and :class:`ast.ExtSlice` are still "
"available, but they will be removed in future Python releases. In the "
"meantime, instantiating them will return an instance of a different class."
msgstr ""

#: library/ast.rst:143
msgid ""
"The descriptions of the specific node classes displayed here were initially "
"adapted from the fantastic `Green Tree Snakes <https://greentreesnakes."
"readthedocs.io/en/latest/>`__ project and all its contributors."
msgstr ""

#: library/ast.rst:149
msgid "Literals"
msgstr ""

#: library/ast.rst:153
msgid ""
"A constant value. The ``value`` attribute of the ``Constant`` literal "
"contains the Python object it represents. The values represented can be "
"simple types such as a number, string or ``None``, but also immutable "
"container types (tuples and frozensets) if all of their elements are "
"constant."
msgstr ""

#: library/ast.rst:167
msgid ""
"Node representing a single formatting field in an f-string. If the string "
"contains a single formatting field and nothing else the node can be isolated "
"otherwise it appears in :class:`JoinedStr`."
msgstr ""

#: library/ast.rst:171
msgid ""
"``value`` is any expression node (such as a literal, a variable, or a "
"function call)."
msgstr ""

#: library/ast.rst:173
msgid "``conversion`` is an integer:"
msgstr ""

#: library/ast.rst:175
msgid "-1: no formatting"
msgstr ""

#: library/ast.rst:176
msgid "115: ``!s`` string formatting"
msgstr ""

#: library/ast.rst:177
msgid "114: ``!r`` repr formatting"
msgstr ""

#: library/ast.rst:178
msgid "97: ``!a`` ascii formatting"
msgstr ""

#: library/ast.rst:180
msgid ""
"``format_spec`` is a :class:`JoinedStr` node representing the formatting of "
"the value, or ``None`` if no format was specified. Both ``conversion`` and "
"``format_spec`` can be set at the same time."
msgstr ""

#: library/ast.rst:187
msgid ""
"An f-string, comprising a series of :class:`FormattedValue` and :class:"
"`Constant` nodes."
msgstr ""

#: library/ast.rst:216
msgid ""
"A list or tuple. ``elts`` holds a list of nodes representing the elements. "
"``ctx`` is :class:`Store` if the container is an assignment target (i.e. "
"``(x,y)=something``), and :class:`Load` otherwise."
msgstr ""

#: library/ast.rst:242
msgid "A set. ``elts`` holds a list of nodes representing the set's elements."
msgstr ""

#: library/ast.rst:257
msgid ""
"A dictionary. ``keys`` and ``values`` hold lists of nodes representing the "
"keys and the values respectively, in matching order (what would be returned "
"when calling :code:`dictionary.keys()` and :code:`dictionary.values()`)."
msgstr ""

#: library/ast.rst:261
msgid ""
"When doing dictionary unpacking using dictionary literals the expression to "
"be expanded goes in the ``values`` list, with a ``None`` at the "
"corresponding position in ``keys``."
msgstr ""

#: library/ast.rst:279
msgid "Variables"
msgstr ""

#: library/ast.rst:283
msgid ""
"A variable name. ``id`` holds the name as a string, and ``ctx`` is one of "
"the following types."
msgstr ""

#: library/ast.rst:291
msgid ""
"Variable references can be used to load the value of a variable, to assign a "
"new value to it, or to delete it. Variable references are given a context to "
"distinguish these cases."
msgstr ""

#: library/ast.rst:324
msgid ""
"A ``*var`` variable reference. ``value`` holds the variable, typically a :"
"class:`Name` node. This type must be used when building a :class:`Call` node "
"with ``*args``."
msgstr ""

#: library/ast.rst:347
msgid "Expressions"
msgstr ""

#: library/ast.rst:351
msgid ""
"When an expression, such as a function call, appears as a statement by "
"itself with its return value not used or stored, it is wrapped in this "
"container. ``value`` holds one of the other nodes in this section, a :class:"
"`Constant`, a :class:`Name`, a :class:`Lambda`, a :class:`Yield` or :class:"
"`YieldFrom` node."
msgstr ""

#: library/ast.rst:370
msgid ""
"A unary operation. ``op`` is the operator, and ``operand`` any expression "
"node."
msgstr ""

#: library/ast.rst:379
msgid ""
"Unary operator tokens. :class:`Not` is the ``not`` keyword, :class:`Invert` "
"is the ``~`` operator."
msgstr ""

#: library/ast.rst:393
msgid ""
"A binary operation (like addition or division). ``op`` is the operator, and "
"``left`` and ``right`` are any expression nodes."
msgstr ""

#: library/ast.rst:420
msgid "Binary operator tokens."
msgstr ""

#: library/ast.rst:425
msgid ""
"A boolean operation, 'or' or 'and'. ``op`` is :class:`Or` or :class:`And`. "
"``values`` are the values involved. Consecutive operations with the same "
"operator, such as ``a or b or c``, are collapsed into one node with several "
"values."
msgstr ""

#: library/ast.rst:430
msgid "This doesn't include ``not``, which is a :class:`UnaryOp`."
msgstr ""

#: library/ast.rst:446
msgid "Boolean operator tokens."
msgstr ""

#: library/ast.rst:451
msgid ""
"A comparison of two or more values. ``left`` is the first value in the "
"comparison, ``ops`` the list of operators, and ``comparators`` the list of "
"values after the first element in the comparison."
msgstr ""

#: library/ast.rst:480
msgid "Comparison operator tokens."
msgstr ""

#: library/ast.rst:485
msgid ""
"A function call. ``func`` is the function, which will often be a :class:"
"`Name` or :class:`Attribute` object. Of the arguments:"
msgstr ""

#: library/ast.rst:488
msgid "``args`` holds a list of the arguments passed by position."
msgstr ""

#: library/ast.rst:489
msgid ""
"``keywords`` holds a list of :class:`keyword` objects representing arguments "
"passed by keyword."
msgstr ""

#: library/ast.rst:492
msgid ""
"When creating a ``Call`` node, ``args`` and ``keywords`` are required, but "
"they can be empty lists. ``starargs`` and ``kwargs`` are optional."
msgstr ""

#: library/ast.rst:516
msgid ""
"A keyword argument to a function call or class definition. ``arg`` is a raw "
"string of the parameter name, ``value`` is a node to pass in."
msgstr ""

#: library/ast.rst:522
msgid ""
"An expression such as ``a if b else c``. Each field holds a single node, so "
"in the following example, all three are :class:`Name` nodes."
msgstr ""

#: library/ast.rst:537
msgid ""
"Attribute access, e.g. ``d.keys``. ``value`` is a node, typically a :class:"
"`Name`. ``attr`` is a bare string giving the name of the attribute, and "
"``ctx`` is :class:`Load`, :class:`Store` or :class:`Del` according to how "
"the attribute is acted on."
msgstr ""

#: library/ast.rst:554
msgid ""
"A named expression. This AST node is produced by the assignment expressions "
"operator (also known as the walrus operator). As opposed to the :class:"
"`Assign` node in which the first argument can be multiple nodes, in this "
"case both ``target`` and ``value`` must be single nodes."
msgstr ""

#: library/ast.rst:569
msgid "Subscripting"
msgstr ""

#: library/ast.rst:573
msgid ""
"A subscript, such as ``l[1]``. ``value`` is the subscripted object (usually "
"sequence or mapping). ``slice`` is an index, slice or key. It can be a :"
"class:`Tuple` and contain a :class:`Slice`. ``ctx`` is :class:`Load`, :class:"
"`Store` or :class:`Del` according to the action performed with the subscript."
msgstr ""

#: library/ast.rst:597
msgid ""
"Regular slicing (on the form ``lower:upper`` or ``lower:upper:step``). Can "
"occur only inside the *slice* field of :class:`Subscript`, either directly "
"or as an element of :class:`Tuple`."
msgstr ""

#: library/ast.rst:614
msgid "Comprehensions"
msgstr ""

#: library/ast.rst:621
msgid ""
"List and set comprehensions, generator expressions, and dictionary "
"comprehensions. ``elt`` (or ``key`` and ``value``) is a single node "
"representing the part that will be evaluated for each item."
msgstr ""

#: library/ast.rst:625
msgid "``generators`` is a list of :class:`comprehension` nodes."
msgstr ""

#: library/ast.rst:667
msgid ""
"One ``for`` clause in a comprehension. ``target`` is the reference to use "
"for each element - typically a :class:`Name` or :class:`Tuple` node. "
"``iter`` is the object to iterate over. ``ifs`` is a list of test "
"expressions: each ``for`` clause can have multiple ``ifs``."
msgstr ""

#: library/ast.rst:672
msgid ""
"``is_async`` indicates a comprehension is asynchronous (using an ``async "
"for`` instead of ``for``). The value is an integer (0 or 1)."
msgstr ""

#: library/ast.rst:738
msgid "Statements"
msgstr ""

#: library/ast.rst:742
msgid ""
"An assignment. ``targets`` is a list of nodes, and ``value`` is a single "
"node."
msgstr ""

#: library/ast.rst:744
msgid ""
"Multiple nodes in ``targets`` represents assigning the same value to each. "
"Unpacking is represented by putting a :class:`Tuple` or :class:`List` within "
"``targets``."
msgstr ""

#: library/ast.rst:1037 library/ast.rst:1263
msgid ""
"``type_comment`` is an optional string with the type annotation as a comment."
msgstr ""

#: library/ast.rst:780
msgid ""
"An assignment with a type annotation. ``target`` is a single node and can be "
"a :class:`Name`, a :class:`Attribute` or a :class:`Subscript`. "
"``annotation`` is the annotation, such as a :class:`Constant` or :class:"
"`Name` node. ``value`` is a single optional node. ``simple`` is a boolean "
"integer set to True for a :class:`Name` node in ``target`` that do not "
"appear in between parenthesis and are hence pure names and not expressions."
msgstr ""

#: library/ast.rst:835
msgid ""
"Augmented assignment, such as ``a += 1``. In the following example, "
"``target`` is a :class:`Name` node for ``x`` (with the :class:`Store` "
"context), ``op`` is :class:`Add`, and ``value`` is a :class:`Constant` with "
"value for 1."
msgstr ""

#: library/ast.rst:840
msgid ""
"The ``target`` attribute connot be of class :class:`Tuple` or :class:`List`, "
"unlike the targets of :class:`Assign`."
msgstr ""

#: library/ast.rst:857
msgid ""
"A ``raise`` statement. ``exc`` is the exception object to be raised, "
"normally a :class:`Call` or :class:`Name`, or ``None`` for a standalone "
"``raise``. ``cause`` is the optional part for ``y`` in ``raise x from y``."
msgstr ""

#: library/ast.rst:874
msgid ""
"An assertion. ``test`` holds the condition, such as a :class:`Compare` node. "
"``msg`` holds the failure message."
msgstr ""

#: library/ast.rst:890
msgid ""
"Represents a ``del`` statement. ``targets`` is a list of nodes, such as :"
"class:`Name`, :class:`Attribute` or :class:`Subscript` nodes."
msgstr ""

#: library/ast.rst:908
msgid "A ``pass`` statement."
msgstr ""

#: library/ast.rst:919
msgid ""
"Other statements which are only applicable inside functions or loops are "
"described in other sections."
msgstr ""

#: library/ast.rst:923
msgid "Imports"
msgstr ""

#: library/ast.rst:927
msgid "An import statement. ``names`` is a list of :class:`alias` nodes."
msgstr ""

#: library/ast.rst:944
msgid ""
"Represents ``from x import y``. ``module`` is a raw string of the 'from' "
"name, without any leading dots, or ``None`` for statements such as ``from . "
"import foo``. ``level`` is an integer holding the level of the relative "
"import (0 means absolute import)."
msgstr ""

#: library/ast.rst:966
msgid ""
"Both parameters are raw strings of the names. ``asname`` can be ``None`` if "
"the regular name is to be used."
msgstr ""

#: library/ast.rst:983
msgid "Control flow"
msgstr ""

#: library/ast.rst:986
msgid ""
"Optional clauses such as ``else`` are stored as an empty list if they're not "
"present."
msgstr ""

#: library/ast.rst:991
msgid ""
"An ``if`` statement. ``test`` holds a single node, such as a :class:"
"`Compare` node. ``body`` and ``orelse`` each hold a list of nodes."
msgstr ""

#: library/ast.rst:994
msgid ""
"``elif`` clauses don't have a special representation in the AST, but rather "
"appear as extra :class:`If` nodes within the ``orelse`` section of the "
"previous one."
msgstr ""

#: library/ast.rst:1029
msgid ""
"A ``for`` loop. ``target`` holds the variable(s) the loop assigns to, as a "
"single :class:`Name`, :class:`Tuple` or :class:`List` node. ``iter`` holds "
"the item to be looped over, again as a single node. ``body`` and ``orelse`` "
"contain lists of nodes to execute. Those in ``orelse`` are executed if the "
"loop finishes normally, rather than via a ``break`` statement."
msgstr ""

#: library/ast.rst:1063
msgid ""
"A ``while`` loop. ``test`` holds the condition, such as a :class:`Compare` "
"node."
msgstr ""

#: library/ast.rst:1090
msgid "The ``break`` and ``continue`` statements."
msgstr ""

#: library/ast.rst:1125
msgid ""
"``try`` blocks. All attributes are list of nodes to execute, except for "
"``handlers``, which is a list of :class:`ExceptHandler` nodes."
msgstr ""

#: library/ast.rst:1171
msgid ""
"A single ``except`` clause. ``type`` is the exception type it will match, "
"typically a :class:`Name` node (or ``None`` for a catch-all ``except:`` "
"clause). ``name`` is a raw string for the name to hold the exception, or "
"``None`` if the clause doesn't have ``as foo``. ``body`` is a list of nodes."
msgstr ""

#: library/ast.rst:1205
msgid ""
"A ``with`` block. ``items`` is a list of :class:`withitem` nodes "
"representing the context managers, and ``body`` is the indented block inside "
"the context."
msgstr ""

#: library/ast.rst:1215
msgid ""
"A single context manager in a ``with`` block. ``context_expr`` is the "
"context manager, often a :class:`Call` node. ``optional_vars`` is a :class:"
"`Name`, :class:`Tuple` or :class:`List` for the ``as foo`` part, or ``None`` "
"if that isn't used."
msgstr ""

#: library/ast.rst:1248
msgid "Function and class definitions"
msgstr ""

#: library/ast.rst:1252
msgid "A function definition."
msgstr ""

#: library/ast.rst:1254
msgid "``name`` is a raw string of the function name."
msgstr ""

#: library/ast.rst:1255
msgid "``args`` is a :class:`arguments` node."
msgstr ""

#: library/ast.rst:1256
msgid "``body`` is the list of nodes inside the function."
msgstr ""

#: library/ast.rst:1257
msgid ""
"``decorator_list`` is the list of decorators to be applied, stored outermost "
"first (i.e. the first in the list will be applied last)."
msgstr ""

#: library/ast.rst:1259
msgid "``returns`` is the return annotation."
msgstr ""

#: library/ast.rst:1268
msgid ""
"``lambda`` is a minimal function definition that can be used inside an "
"expression. Unlike :class:`FunctionDef`, ``body`` holds a single node."
msgstr ""

#: library/ast.rst:1292
msgid "The arguments for a function."
msgstr ""

#: library/ast.rst:1294
msgid ""
"``posonlyargs``, ``args`` and ``kwonlyargs`` are lists of :class:`arg` nodes."
msgstr ""

#: library/ast.rst:1295
msgid ""
"``vararg`` and ``kwarg`` are single :class:`arg` nodes, referring to the "
"``*args, **kwargs`` parameters."
msgstr ""

#: library/ast.rst:1297
msgid ""
"``kw_defaults`` is a list of default values for keyword-only arguments. If "
"one is ``None``, the corresponding argument is required."
msgstr ""

#: library/ast.rst:1299
msgid ""
"``defaults`` is a list of default values for arguments that can be passed "
"positionally. If there are fewer defaults, they correspond to the last n "
"arguments."
msgstr ""

#: library/ast.rst:1306
msgid ""
"A single argument in a list. ``arg`` is a raw string of the argument name, "
"``annotation`` is its annotation, such as a :class:`Str` or :class:`Name` "
"node."
msgstr ""

#: library/ast.rst:1312
msgid ""
"``type_comment`` is an optional string with the type annotation as a comment"
msgstr ""

#: library/ast.rst:1356
msgid "A ``return`` statement."
msgstr ""

#: library/ast.rst:1371
msgid ""
"A ``yield`` or ``yield from`` expression. Because these are expressions, "
"they must be wrapped in a :class:`Expr` node if the value sent back is not "
"used."
msgstr ""

#: library/ast.rst:1396
msgid ""
"``global`` and ``nonlocal`` statements. ``names`` is a list of raw strings."
msgstr ""

#: library/ast.rst:1423
msgid "A class definition."
msgstr ""

#: library/ast.rst:1425
msgid "``name`` is a raw string for the class name"
msgstr ""

#: library/ast.rst:1426
msgid "``bases`` is a list of nodes for explicitly specified base classes."
msgstr ""

#: library/ast.rst:1427
msgid ""
"``keywords`` is a list of :class:`keyword` nodes, principally for "
"'metaclass'. Other keywords will be passed to the metaclass, as per "
"`PEP-3115 <http://www.python.org/dev/peps/pep-3115/>`_."
msgstr ""

#: library/ast.rst:1430
msgid ""
"``starargs`` and ``kwargs`` are each a single node, as in a function call. "
"starargs will be expanded to join the list of base classes, and kwargs will "
"be passed to the metaclass."
msgstr ""

#: library/ast.rst:1433
msgid ""
"``body`` is a list of nodes representing the code within the class "
"definition."
msgstr ""

#: library/ast.rst:1435
msgid "``decorator_list`` is a list of nodes, as in :class:`FunctionDef`."
msgstr ""

#: library/ast.rst:1464
msgid "Async and await"
msgstr ""

#: library/ast.rst:1468
msgid ""
"An ``async def`` function definition. Has the same fields as :class:"
"`FunctionDef`."
msgstr ""

#: library/ast.rst:1474
msgid ""
"An ``await`` expression. ``value`` is what it waits for. Only valid in the "
"body of an :class:`AsyncFunctionDef`."
msgstr ""

#: library/ast.rst:1507
msgid ""
"``async for`` loops and ``async with`` context managers. They have the same "
"fields as :class:`For` and :class:`With`, respectively. Only valid in the "
"body of an :class:`AsyncFunctionDef`."
msgstr ""

#: library/ast.rst:1512
msgid ""
"When a string is parsed by :func:`ast.parse`, operator nodes (subclasses of :"
"class:`ast.operator`, :class:`ast.unaryop`, :class:`ast.cmpop`, :class:`ast."
"boolop` and :class:`ast.expr_context`) on the returned tree will be "
"singletons. Changes to one will be reflected in all other occurrences of the "
"same value (e.g. :class:`ast.Add`)."
msgstr ""

#: library/ast.rst:1520
msgid ":mod:`ast` Helpers"
msgstr "Outils du module :mod:`ast`"

#: library/ast.rst:1522
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:1527
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:1530
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 ""

#: library/ast.rst:1540
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:1544
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 ""

#: library/ast.rst:1591
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:1556
msgid "Added ``type_comments``, ``mode='func_type'`` and ``feature_version``."
msgstr ""

#: library/ast.rst:1562
msgid ""
"Unparse an :class:`ast.AST` object and generate a string with code that "
"would produce an equivalent :class:`ast.AST` object if parsed back with :"
"func:`ast.parse`."
msgstr ""

#: library/ast.rst:1567
msgid ""
"The produced code string will not necessarily be equal to the original code "
"that generated the :class:`ast.AST` object (without any compiler "
"optimizations, such as constant tuples/frozensets)."
msgstr ""

#: library/ast.rst:1572
msgid ""
"Trying to unparse a highly complex expression would result with :exc:"
"`RecursionError`."
msgstr ""

#: library/ast.rst:1580
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:1585
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:1595
msgid "Now allows bytes and set literals."
msgstr "Accepte maintenant les littéraux suivants *bytes* et *sets*."

#: library/ast.rst:1598
msgid "Now supports creating empty sets with ``'set()'``."
msgstr ""

#: library/ast.rst:1604
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:1610
msgid ":class:`AsyncFunctionDef` is now supported."
msgstr ":class:`AsyncFunctionDef` est maintenant gérée"

#: library/ast.rst:1616
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 ""

#: library/ast.rst:1620
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:1628
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:1637
#, fuzzy
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* le numéro de ligne 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:1644
#, fuzzy
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 le code source (:attr:`lineno` et :attr:`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:1651
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:1657
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:1663
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:1670
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:1674
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:1679
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:1685
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:1687
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:1691
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:1697
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 ""

#: library/ast.rst:1705
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:1708
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:1714
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:1726
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:1730
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:1734
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 ""

#: library/ast.rst:1742
msgid "Usually you use the transformer like this::"
msgstr "Utilisation typique du *transformer* ::"

#: library/ast.rst:1749
#, fuzzy
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 un *dump* formaté de l'arbre dans *node*. C'est principalement utile "
"à des fins de débogage. La chaîne de caractères renvoyée présente les noms "
"et valeurs des champs. Cela rend le code impossible à évaluer, si l'on "
"souhaite évaluer ce code, l'option *annotate_fields* doit être définie comme "
"``False``. Les attributs comme les numéros de ligne et les décalages de "
"colonne ne sont pas récupérés par défaut. Si l'on souhaite les récupérer, "
"l'option *include_attributes* peut être définie comme ``True``."

#: library/ast.rst:1757
msgid ""
"If *indent* is a non-negative integer or string, then the tree will be "
"pretty-printed with that indent level.  An indent level of 0, negative, or ``"
"\"\"`` will only insert newlines.  ``None`` (the default) selects the single "
"line representation. Using a positive integer indent indents that many "
"spaces per level.  If *indent* is a string (such as ``\"\\t\"``), that "
"string is used to indent each level."
msgstr ""

#: library/ast.rst:1764
msgid "Added the *indent* option."
msgstr ""

#: library/ast.rst:1771
msgid "Compiler Flags"
msgstr ""

#: library/ast.rst:1773
msgid ""
"The following flags may be passed to :func:`compile` in order to change "
"effects on the compilation of a program:"
msgstr ""

#: library/ast.rst:1778
msgid ""
"Enables support for top-level ``await``, ``async for``, ``async with`` and "
"async comprehensions."
msgstr ""

#: library/ast.rst:1785
msgid ""
"Generates and returns an abstract syntax tree instead of returning a "
"compiled code object."
msgstr ""

#: library/ast.rst:1790
msgid ""
"Enables support for :pep:`484` and :pep:`526` style type comments (``# type: "
"<type>``, ``# type: ignore <stuff>``)."
msgstr ""

#: library/ast.rst:1799
msgid "Command-Line Usage"
msgstr ""

#: library/ast.rst:1803
msgid ""
"The :mod:`ast` module can be executed as a script from the command line. It "
"is as simple as:"
msgstr ""

#: library/ast.rst:1810
msgid "The following options are accepted:"
msgstr ""

#: library/ast.rst:1816
msgid "Show the help message and exit."
msgstr ""

#: library/ast.rst:1821
msgid ""
"Specify what kind of code must be compiled, like the *mode* argument in :"
"func:`parse`."
msgstr ""

#: library/ast.rst:1826
msgid "Don't parse type comments."
msgstr ""

#: library/ast.rst:1830
msgid "Include attributes such as line numbers and column offsets."
msgstr ""

#: library/ast.rst:1835
msgid "Indentation of nodes in AST (number of spaces)."
msgstr ""

#: library/ast.rst:1837
msgid ""
"If :file:`infile` is specified its contents are parsed to AST and dumped to "
"stdout.  Otherwise, the content is read from stdin."
msgstr ""

#: library/ast.rst:1843
msgid ""
"`Green Tree Snakes <https://greentreesnakes.readthedocs.io/>`_, an external "
"documentation resource, has good details on working with Python ASTs."
msgstr ""
"`Green Tree Snakes <https://greentreesnakes.readthedocs.io/>`_, une "
"ressource documentaire externe, qui possède plus de détails pour travailler "
"avec des ASTs Python."

#: library/ast.rst:1846
msgid ""
"`ASTTokens <https://asttokens.readthedocs.io/en/latest/user-guide.html>`_ "
"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 ""

#: library/ast.rst:1851
msgid ""
"`leoAst.py <http://leoeditor.com/appendices.html#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:1855
msgid ""
"`LibCST <https://libcst.readthedocs.io/>`_ 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 ""

#: library/ast.rst:1860
msgid ""
"`Parso <https://parso.readthedocs.io>`_ 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 ""
