python-docs-fr/library/dis.po
2022-03-23 18:44:13 +01:00

1436 lines
45 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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: 2022-03-23 18:39+0100\n"
"PO-Revision-Date: 2019-07-18 21:03+0200\n"
"Last-Translator: Aya Keddam <aya.keddam@etu.sorbonne-universite.fr>\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 2.2.1\n"
#: library/dis.rst:2
msgid ":mod:`dis` --- Disassembler for Python bytecode"
msgstr ":mod:`dis` Désassembleur pour le code intermédiaire de Python"
#: library/dis.rst:7
msgid "**Source code:** :source:`Lib/dis.py`"
msgstr "**Code source :** :source:`Lib/dis.py`"
#: library/dis.rst:11
msgid ""
"The :mod:`dis` module supports the analysis of CPython :term:`bytecode` by "
"disassembling it. The CPython bytecode which this module takes as an input "
"is defined in the file :file:`Include/opcode.h` and used by the compiler and "
"the interpreter."
msgstr ""
"La bibliothèque :mod:`dis` supporte l'analyse du :term:`bytecode` CPython "
"en le désassemblant. Le code intermédiaire CPython, que cette bibliothèque "
"prend en paramètre, est défini dans le fichier :file:`Include/opcode.h` et "
"est utilisé par le compilateur et l'interpréteur."
#: library/dis.rst:18
msgid ""
"Bytecode is an implementation detail of the CPython interpreter. No "
"guarantees are made that bytecode will not be added, removed, or changed "
"between versions of Python. Use of this module should not be considered to "
"work across Python VMs or Python releases."
msgstr ""
"Le code intermédiaire est un détail d'implémentation de l'interpréteur "
"CPython. Il n'y a pas de garantie que le code intermédiaire sera ajouté, "
"retiré, ou modifié dans les différentes versions de Python. L'utilisation de "
"cette bibliothèque ne fonctionne pas nécessairement sur les machines "
"virtuelles Python ni les différentes versions de Python."
#: library/dis.rst:23
msgid ""
"Use 2 bytes for each instruction. Previously the number of bytes varied by "
"instruction."
msgstr ""
"Utilisez 2 bits pour chaque instruction. Avant, le nombre de bits variait "
"par instruction."
#: library/dis.rst:27
msgid ""
"Some instructions are accompanied by one or more inline cache entries, which "
"take the form of :opcode:`CACHE` instructions. These instructions are hidden "
"by default, but can be shown by passing ``show_caches=True`` to any :mod:"
"`dis` utility."
msgstr ""
#: library/dis.rst:34
msgid "Example: Given the function :func:`myfunc`::"
msgstr "Exemple : Etant donné la fonction :func:`myfunc` ::"
#: library/dis.rst:39
msgid ""
"the following command can be used to display the disassembly of :func:"
"`myfunc`::"
msgstr ""
"la commande suivante peut-être utilisé pour afficher le désassemblage de :"
"func:`myfunc` ::"
#: library/dis.rst:52
msgid "(The \"2\" is a line number)."
msgstr "(Le \"2\" est un numéro de ligne)."
#: library/dis.rst:55
msgid "Bytecode analysis"
msgstr "Analyse du code intermédiaire"
#: library/dis.rst:59
msgid ""
"The bytecode analysis API allows pieces of Python code to be wrapped in a :"
"class:`Bytecode` object that provides easy access to details of the compiled "
"code."
msgstr ""
"L'analyse de l'*API* code intermédiaire permet de rassembler des blocs de "
"code en Python dans une classe :class:`Bytecode`, qui permet un accès facile "
"aux détails du code compilé."
#: library/dis.rst:66
msgid ""
"Analyse the bytecode corresponding to a function, generator, asynchronous "
"generator, coroutine, method, string of source code, or a code object (as "
"returned by :func:`compile`)."
msgstr ""
"Analyse le code intermédiaire correspondant à une fonction, un générateur, "
"un générateur asynchrone, une coroutine, une méthode, une chaîne de "
"caractères du code source, ou bien une classe (comme retourne la fonction :"
"func:`compile`)."
#: library/dis.rst:70
msgid ""
"This is a convenience wrapper around many of the functions listed below, "
"most notably :func:`get_instructions`, as iterating over a :class:`Bytecode` "
"instance yields the bytecode operations as :class:`Instruction` instances."
msgstr ""
"Ceci est *wrapper* sur plusieurs fonctions de la liste ci-dessous, "
"notamment :func:`get_instructions`, étant donné qu'une itération sur une "
"instance de la classe :class:`Bytecode` rend les opérations du code "
"intermédiaire des instances de :class:`Instruction`."
#: library/dis.rst:250
msgid ""
"If *first_line* is not ``None``, it indicates the line number that should be "
"reported for the first source line in the disassembled code. Otherwise, the "
"source line information (if any) is taken directly from the disassembled "
"code object."
msgstr ""
"Si *first_line* ne vaut pas ``None``, elle indique le nombre de la ligne qui "
"doit être considérée comme première ligne source dans le code désassemblé. "
"Autrement, les informations sur la ligne source sont prises directement à "
"partir de la classe du code désassemblé."
#: library/dis.rst:79
msgid ""
"If *current_offset* is not ``None``, it refers to an instruction offset in "
"the disassembled code. Setting this means :meth:`.dis` will display a "
"\"current instruction\" marker against the specified opcode."
msgstr ""
"Si la valeur de *current_offset* est différente de ``None``, c'est une "
"référence à un offset d'une instruction dans le code désassemblé. Cela veut "
"dire que :meth:`.dis` va générer un marqueur de \" l'instruction en cours\" "
"contre le code d'opération donné."
#: library/dis.rst:85
msgid ""
"Construct a :class:`Bytecode` instance from the given traceback, setting "
"*current_offset* to the instruction responsible for the exception."
msgstr ""
"Construisez une instance :class:`Bytecode` à partir de la trace d'appel, en "
"mettant *current_offet* à l'instruction responsable de l'exception."
#: library/dis.rst:90
msgid "The compiled code object."
msgstr "Le code compilé objet."
#: library/dis.rst:94
msgid "The first source line of the code object (if available)"
msgstr "La première ligne source du code objet (si disponible)"
#: library/dis.rst:98
msgid ""
"Return a formatted view of the bytecode operations (the same as printed by :"
"func:`dis.dis`, but returned as a multi-line string)."
msgstr ""
"Retourne une vue formatée des opérations du code intermédiaire (la même que "
"celle envoyée par :func:`dis.dis`, mais comme une chaîne de caractères de "
"plusieurs lignes )."
#: library/dis.rst:103
msgid ""
"Return a formatted multi-line string with detailed information about the "
"code object, like :func:`code_info`."
msgstr ""
"Retourne une chaîne de caractères de plusieurs lignes formatée avec des "
"informations détaillées sur l'objet code comme :func:`code_info`."
#: library/dis.rst:146 library/dis.rst:192
msgid "This can now handle coroutine and asynchronous generator objects."
msgstr ""
"Cette version supporte la coroutine et les objets générateurs asynchrones."
#: library/dis.rst:195 library/dis.rst:238 library/dis.rst:257
#, fuzzy
msgid "Added the ``show_caches`` parameter."
msgstr "Ajout du paramètre *file*."
#: library/dis.rst:112
msgid "Example::"
msgstr "Exemple ::"
#: library/dis.rst:128
msgid "Analysis functions"
msgstr "Analyse de fonctions"
#: library/dis.rst:130
msgid ""
"The :mod:`dis` module also defines the following analysis functions that "
"convert the input directly to the desired output. They can be useful if only "
"a single operation is being performed, so the intermediate analysis object "
"isn't useful:"
msgstr ""
"La bibliothèque :mod:`dis` comprend également l'analyse des fonctions "
"suivantes, qui envoient l'entrée directement à la sortie souhaitée. Elles "
"peuvent être utiles si il n'y a qu'une seule opération à effectuer, la "
"représentation intermédiaire objet n'étant donc pas utile dans ce cas:"
#: library/dis.rst:136
msgid ""
"Return a formatted multi-line string with detailed code object information "
"for the supplied function, generator, asynchronous generator, coroutine, "
"method, source code string or code object."
msgstr ""
"Retourne une chaîne de caractères de plusieurs lignes formatée avec des "
"informations détaillées sur l'objet code pour les fonctions données, les "
"générateurs asynchrone, coroutine, la méthode, la chaine de caractères du "
"code source ou objet."
#: library/dis.rst:140
msgid ""
"Note that the exact contents of code info strings are highly implementation "
"dependent and they may change arbitrarily across Python VMs or Python "
"releases."
msgstr ""
"Il est à noter que le contenu exact des chaînes de caractères figurant dans "
"les informations du code dépendent fortement sur l'implémentation, et "
"peuvent changer arbitrairement sous machines virtuelles Python ou les "
"versions de Python."
#: library/dis.rst:152
msgid ""
"Print detailed code object information for the supplied function, method, "
"source code string or code object to *file* (or ``sys.stdout`` if *file* is "
"not specified)."
msgstr ""
"Affiche des informations détaillées sur le code de la fonction fournie, la "
"méthode, la chaîne de caractère du code source ou du code objet à *file* (ou "
"bien ``sys.stdout`` si *file* n'est pas spécifié)."
#: library/dis.rst:156
msgid ""
"This is a convenient shorthand for ``print(code_info(x), file=file)``, "
"intended for interactive exploration at the interpreter prompt."
msgstr ""
"Ceci est un raccourci convenable de ``print(code_info(x), file=file)``, "
"principalement fait pour l'exploration interactive sur l'invite de "
"l'interpréteur."
#: library/dis.rst:186 library/dis.rst:235
msgid "Added *file* parameter."
msgstr "Ajout du paramètre *file*."
#: library/dis.rst:167
msgid ""
"Disassemble the *x* object. *x* can denote either a module, a class, a "
"method, a function, a generator, an asynchronous generator, a coroutine, a "
"code object, a string of source code or a byte sequence of raw bytecode. For "
"a module, it disassembles all functions. For a class, it disassembles all "
"methods (including class and static methods). For a code object or sequence "
"of raw bytecode, it prints one line per bytecode instruction. It also "
"recursively disassembles nested code objects (the code of comprehensions, "
"generator expressions and nested functions, and the code used for building "
"nested classes). Strings are first compiled to code objects with the :func:"
"`compile` built-in function before being disassembled. If no object is "
"provided, this function disassembles the last traceback."
msgstr ""
"Désassemble l'objet *x*. *x* peut être une bibliothèque , une classe, une "
"méthode, une fonction, un générateur, un générateur asynchrone, une "
"coroutine, un code objet, une chaine de caractères du coude source ou une "
"séquence de bits du code intermédiaire brut. Pour une bibliothèque , elle "
"désassemble toutes les fonctions. Pour une classe, elle désassemble toutes "
"les méthodes (y compris les classes et méthodes statiques). Pour un code "
"objet ou une séquence de code intermédiaire brut, elle affiche une ligne par "
"instruction code intermédiaire. Aussi, elle désassemble les codes objets "
"internes récursivement (le code en compréhension, les expressions des "
"générateurs et les fonctions imbriquées, et le code utilisé pour la "
"construction des classes internes). Les chaînes de caractères sont d'abord "
"compilées pour coder des objets avec les fonctions intégrées de :func:"
"`compile` avant qu'elles ne soient désassemblées. Si aucun objet n'est "
"fourni, cette fonction désassemble les dernières traces d'appel."
#: library/dis.rst:205 library/dis.rst:232
msgid ""
"The disassembly is written as text to the supplied *file* argument if "
"provided and to ``sys.stdout`` otherwise."
msgstr ""
"Le désassemblage est envoyé sous forme de texte à l'argument du fichier "
"*file* si il est fourni, et à ``sys.stdout`` sinon."
#: library/dis.rst:183
msgid ""
"The maximal depth of recursion is limited by *depth* unless it is ``None``. "
"``depth=0`` means no recursion."
msgstr ""
"La profondeur maximale de récursion est limitée par *depth* sauf si elle "
"correspond à ``None``. ``depth=0`` indique qu'il n'y a pas de récursion."
#: library/dis.rst:189
msgid "Implemented recursive disassembling and added *depth* parameter."
msgstr ""
"Le désassemblage récursif a été implémenté, et le paramètre *depth* a été "
"ajouté."
#: library/dis.rst:201
msgid ""
"Disassemble the top-of-stack function of a traceback, using the last "
"traceback if none was passed. The instruction causing the exception is "
"indicated."
msgstr ""
"Désassemble la fonction du haut de la pile des traces d'appels, en utilisant "
"la dernière trace d'appels si rien n'a été envoyé. L'instruction à l'origine "
"de l'exception est indiquée."
#: library/dis.rst:218
msgid ""
"Disassemble a code object, indicating the last instruction if *lasti* was "
"provided. The output is divided in the following columns:"
msgstr ""
"Désassemble un code objet, en indiquant la dernière instruction si *lasti* "
"est fournie. La sortie est répartie sur les colonnes suivantes :"
#: library/dis.rst:221
msgid "the line number, for the first instruction of each line"
msgstr "le numéro de ligne, pour la première instruction de chaque ligne"
#: library/dis.rst:222
msgid "the current instruction, indicated as ``-->``,"
msgstr "l'instruction en cours, indiquée par ``-->``,"
#: library/dis.rst:223
msgid "a labelled instruction, indicated with ``>>``,"
msgstr "une instruction libellée, indiquée par ``> >``,"
#: library/dis.rst:224
msgid "the address of the instruction,"
msgstr "l'adresse de l'instruction,"
#: library/dis.rst:225
msgid "the operation code name,"
msgstr "le nom de le code d'opération,"
#: library/dis.rst:226
msgid "operation parameters, and"
msgstr "paramètres de l'opération, et"
#: library/dis.rst:227
msgid "interpretation of the parameters in parentheses."
msgstr "interprétation des paramètres entre parenthèses."
#: library/dis.rst:229
msgid ""
"The parameter interpretation recognizes local and global variable names, "
"constant values, branch targets, and compare operators."
msgstr ""
"L'interprétation du paramètre reconnaît les noms des variables locales et "
"globales, des valeurs constantes, des branchements cibles, et des opérateurs "
"de comparaison."
#: library/dis.rst:244
msgid ""
"Return an iterator over the instructions in the supplied function, method, "
"source code string or code object."
msgstr ""
"Retourne un itérateur sur les instructions dans la fonction fournie, la "
"méthode, les chaînes de caractères du code source ou objet."
#: library/dis.rst:247
msgid ""
"The iterator generates a series of :class:`Instruction` named tuples giving "
"the details of each operation in the supplied code."
msgstr ""
"Cet itérateur génère une série de *n*-uplets de :class:`Instruction` qui "
"donnent les détails de chacune des opérations dans le code fourni."
#: library/dis.rst:263
msgid ""
"This generator function uses the ``co_firstlineno`` and ``co_lnotab`` "
"attributes of the code object *code* to find the offsets which are starts of "
"lines in the source code. They are generated as ``(offset, lineno)`` pairs. "
"See :source:`Objects/lnotab_notes.txt` for the ``co_lnotab`` format and how "
"to decode it."
msgstr ""
#: library/dis.rst:269
msgid "Line numbers can be decreasing. Before, they were always increasing."
msgstr ""
"Les numéros de lignes peuvent être décroissants. Avant, ils étaient toujours "
"croissants."
#: library/dis.rst:275
msgid ""
"Detect all offsets in the raw compiled bytecode string *code* which are jump "
"targets, and return a list of these offsets."
msgstr ""
#: library/dis.rst:281
msgid "Compute the stack effect of *opcode* with argument *oparg*."
msgstr ""
#: library/dis.rst:283
msgid ""
"If the code has a jump target and *jump* is ``True``, :func:`~stack_effect` "
"will return the stack effect of jumping. If *jump* is ``False``, it will "
"return the stack effect of not jumping. And if *jump* is ``None`` (default), "
"it will return the maximal stack effect of both cases."
msgstr ""
#: library/dis.rst:290
#, fuzzy
msgid "Added *jump* parameter."
msgstr "Ajout du paramètre *file*."
#: library/dis.rst:297
msgid "Python Bytecode Instructions"
msgstr "Les instructions du code intermédiaire en Python"
#: library/dis.rst:299
msgid ""
"The :func:`get_instructions` function and :class:`Bytecode` class provide "
"details of bytecode instructions as :class:`Instruction` instances:"
msgstr ""
"La fonction :func:`get_instructions` et la méthode :class:`Bytecode` fournit "
"des détails sur le code intermédiaire des instructions comme :class:"
"`Instruction` instances:"
#: library/dis.rst:304
msgid "Details for a bytecode operation"
msgstr "Détails sur le code intermédiaire de l'opération"
#: library/dis.rst:308
msgid ""
"numeric code for operation, corresponding to the opcode values listed below "
"and the bytecode values in the :ref:`opcode_collections`."
msgstr ""
"code numérique pour l'opération, correspondant aux valeurs de l'*opcode* ci-"
"dessous et les valeurs du code intermédiaire dans la :ref:"
"`opcode_collections`."
#: library/dis.rst:314
msgid "human readable name for operation"
msgstr "nom lisible/compréhensible de l'opération"
#: library/dis.rst:319
msgid "numeric argument to operation (if any), otherwise ``None``"
msgstr "le cas échéant, argument numérique de l'opération sinon ``None``"
#: library/dis.rst:324
#, fuzzy
msgid "resolved arg value (if any), otherwise ``None``"
msgstr "le cas échéant, argument numérique de l'opération sinon ``None``"
#: library/dis.rst:329
msgid ""
"human readable description of operation argument (if any), otherwise an "
"empty string."
msgstr ""
#: library/dis.rst:335
msgid "start index of operation within bytecode sequence"
msgstr ""
#: library/dis.rst:340
msgid "line started by this opcode (if any), otherwise ``None``"
msgstr ""
#: library/dis.rst:345
msgid "``True`` if other code jumps to here, otherwise ``False``"
msgstr ""
#: library/dis.rst:350
msgid ""
":class:`dis.Positions` object holding the start and end locations that are "
"covered by this instruction."
msgstr ""
#: library/dis.rst:357
msgid "Field ``positions`` is added."
msgstr ""
#: library/dis.rst:362
msgid "In case the information is not available, some fields might be `None`."
msgstr ""
#: library/dis.rst:372
msgid ""
"The Python compiler currently generates the following bytecode instructions."
msgstr ""
#: library/dis.rst:375
msgid "**General instructions**"
msgstr ""
#: library/dis.rst:379
msgid ""
"Do nothing code. Used as a placeholder by the bytecode optimizer, and to "
"generate line tracing events."
msgstr ""
#: library/dis.rst:385
msgid "Removes the top-of-stack (TOS) item."
msgstr ""
#: library/dis.rst:390
msgid ""
"Push the *i*-th item to the top of the stack. The item is not removed from "
"its original location."
msgstr ""
#: library/dis.rst:398
msgid "Swap TOS with the item at position *i*."
msgstr ""
#: library/dis.rst:403
msgid "**Unary operations**"
msgstr ""
#: library/dis.rst:405
msgid ""
"Unary operations take the top of the stack, apply the operation, and push "
"the result back on the stack."
msgstr ""
#: library/dis.rst:410
msgid "Implements ``TOS = +TOS``."
msgstr ""
#: library/dis.rst:415
msgid "Implements ``TOS = -TOS``."
msgstr ""
#: library/dis.rst:420
msgid "Implements ``TOS = not TOS``."
msgstr ""
#: library/dis.rst:425
msgid "Implements ``TOS = ~TOS``."
msgstr ""
#: library/dis.rst:430
msgid "Implements ``TOS = iter(TOS)``."
msgstr ""
#: library/dis.rst:435
msgid ""
"If ``TOS`` is a :term:`generator iterator` or :term:`coroutine` object it is "
"left as is. Otherwise, implements ``TOS = iter(TOS)``."
msgstr ""
#: library/dis.rst:441
msgid "**Binary and in-place operations**"
msgstr ""
#: library/dis.rst:443
msgid ""
"Binary operations remove the top of the stack (TOS) and the second top-most "
"stack item (TOS1) from the stack. They perform the operation, and put the "
"result back on the stack."
msgstr ""
#: library/dis.rst:447
msgid ""
"In-place operations are like binary operations, in that they remove TOS and "
"TOS1, and push the result back on the stack, but the operation is done in-"
"place when TOS1 supports it, and the resulting TOS may be (but does not have "
"to be) the original TOS1."
msgstr ""
#: library/dis.rst:455
msgid ""
"Implements the binary and in-place operators (depending on the value of "
"*op*)."
msgstr ""
#: library/dis.rst:463
msgid "Implements ``TOS = TOS1[TOS]``."
msgstr ""
#: library/dis.rst:468
msgid "Implements ``TOS1[TOS] = TOS2``."
msgstr ""
#: library/dis.rst:473
msgid "Implements ``del TOS1[TOS]``."
msgstr ""
#: library/dis.rst:476
msgid "**Coroutine opcodes**"
msgstr ""
#: library/dis.rst:480
msgid ""
"Implements ``TOS = get_awaitable(TOS)``, where ``get_awaitable(o)`` returns "
"``o`` if ``o`` is a coroutine object or a generator object with the "
"CO_ITERABLE_COROUTINE flag, or resolves ``o.__await__``."
msgstr ""
#: library/dis.rst:485
msgid ""
"If the ``where`` operand is nonzero, it indicates where the instruction "
"occurs:"
msgstr ""
#: library/dis.rst:488
msgid "``1`` After a call to ``__aenter__``"
msgstr ""
#: library/dis.rst:489
msgid "``2`` After a call to ``__aexit__``"
msgstr ""
#: library/dis.rst:493
msgid "Previously, this instruction did not have an oparg."
msgstr ""
#: library/dis.rst:499
msgid "Implements ``TOS = TOS.__aiter__()``."
msgstr ""
#: library/dis.rst:502
msgid "Returning awaitable objects from ``__aiter__`` is no longer supported."
msgstr ""
#: library/dis.rst:509
msgid ""
"Implements ``PUSH(get_awaitable(TOS.__anext__()))``. See ``GET_AWAITABLE`` "
"for details about ``get_awaitable``"
msgstr ""
#: library/dis.rst:517
msgid ""
"Terminates an :keyword:`async for` loop. Handles an exception raised when "
"awaiting a next item. If TOS is :exc:`StopAsyncIteration` pop 3 values from "
"the stack and restore the exception state using the second of them. "
"Otherwise re-raise the exception using the value from the stack. An "
"exception handler block is removed from the block stack."
msgstr ""
#: library/dis.rst:609 library/dis.rst:620
msgid ""
"Exception representation on the stack now consist of one, not three, items."
msgstr ""
#: library/dis.rst:530
msgid ""
"Resolves ``__aenter__`` and ``__aexit__`` from the object on top of the "
"stack. Pushes ``__aexit__`` and result of ``__aenter__()`` to the stack."
msgstr ""
#: library/dis.rst:537
msgid "**Miscellaneous opcodes**"
msgstr ""
#: library/dis.rst:541
msgid ""
"Implements the expression statement for the interactive mode. TOS is "
"removed from the stack and printed. In non-interactive mode, an expression "
"statement is terminated with :opcode:`POP_TOP`."
msgstr ""
#: library/dis.rst:548
msgid ""
"Calls ``set.add(TOS1[-i], TOS)``. Used to implement set comprehensions."
msgstr ""
#: library/dis.rst:553
msgid ""
"Calls ``list.append(TOS1[-i], TOS)``. Used to implement list comprehensions."
msgstr ""
#: library/dis.rst:558
msgid ""
"Calls ``dict.__setitem__(TOS1[-i], TOS1, TOS)``. Used to implement dict "
"comprehensions."
msgstr ""
#: library/dis.rst:562
msgid "Map value is TOS and map key is TOS1. Before, those were reversed."
msgstr ""
#: library/dis.rst:565
msgid ""
"For all of the :opcode:`SET_ADD`, :opcode:`LIST_APPEND` and :opcode:"
"`MAP_ADD` instructions, while the added value or key/value pair is popped "
"off, the container object remains on the stack so that it is available for "
"further iterations of the loop."
msgstr ""
#: library/dis.rst:573
msgid "Returns with TOS to the caller of the function."
msgstr ""
#: library/dis.rst:578
msgid "Pops TOS and yields it from a :term:`generator`."
msgstr ""
#: library/dis.rst:583
msgid "Pops TOS and delegates to it as a subiterator from a :term:`generator`."
msgstr ""
#: library/dis.rst:590
msgid ""
"Checks whether ``__annotations__`` is defined in ``locals()``, if not it is "
"set up to an empty ``dict``. This opcode is only emitted if a class or "
"module body contains :term:`variable annotations <variable annotation>` "
"statically."
msgstr ""
#: library/dis.rst:600
msgid ""
"Loads all symbols not starting with ``'_'`` directly from the module TOS to "
"the local namespace. The module is popped after loading all names. This "
"opcode implements ``from module import *``."
msgstr ""
#: library/dis.rst:607
msgid ""
"Pops a value from the stack, which is used to restore the exception state."
msgstr ""
#: library/dis.rst:614
msgid ""
"Re-raises the exception currently on top of the stack. If oparg is non-zero, "
"pops an additional value from the stack which is used to set ``f_lasti`` of "
"the current frame."
msgstr ""
#: library/dis.rst:625
msgid ""
"Pops a value from the stack. Pushes the current exception to the top of the "
"stack. Pushes the value originally popped back to the stack. Used in "
"exception handlers."
msgstr ""
#: library/dis.rst:634
msgid ""
"Calls the function in position 4 on the stack with arguments (type, val, tb) "
"representing the exception at the top of the stack. Used to implement the "
"call ``context_manager.__exit__(*exc_info())`` when an exception has "
"occurred in a :keyword:`with` statement."
msgstr ""
#: library/dis.rst:641
msgid ""
"The ``__exit__`` function is in position 4 of the stack rather than 7. "
"Exception representation on the stack now consist of one, not three, items."
msgstr ""
#: library/dis.rst:648
msgid ""
"Pushes :exc:`AssertionError` onto the stack. Used by the :keyword:`assert` "
"statement."
msgstr ""
#: library/dis.rst:656
msgid ""
"Pushes :func:`builtins.__build_class__` onto the stack. It is later called "
"to construct a class."
msgstr ""
#: library/dis.rst:662
msgid ""
"This opcode performs several operations before a with block starts. First, "
"it loads :meth:`~object.__exit__` from the context manager and pushes it "
"onto the stack for later use by :opcode:`WITH_EXCEPT_START`. Then, :meth:"
"`~object.__enter__` is called. Finally, the result of calling the "
"``__enter__()`` method is pushed onto the stack."
msgstr ""
#: library/dis.rst:673
msgid "Push ``len(TOS)`` onto the stack."
msgstr ""
#: library/dis.rst:680
msgid ""
"If TOS is an instance of :class:`collections.abc.Mapping` (or, more "
"technically: if it has the :const:`Py_TPFLAGS_MAPPING` flag set in its :c:"
"member:`~PyTypeObject.tp_flags`), push ``True`` onto the stack. Otherwise, "
"push ``False``."
msgstr ""
#: library/dis.rst:690
msgid ""
"If TOS is an instance of :class:`collections.abc.Sequence` and is *not* an "
"instance of :class:`str`/:class:`bytes`/:class:`bytearray` (or, more "
"technically: if it has the :const:`Py_TPFLAGS_SEQUENCE` flag set in its :c:"
"member:`~PyTypeObject.tp_flags`), push ``True`` onto the stack. Otherwise, "
"push ``False``."
msgstr ""
#: library/dis.rst:700
msgid ""
"TOS is a tuple of mapping keys, and TOS1 is the match subject. If TOS1 "
"contains all of the keys in TOS, push a :class:`tuple` containing the "
"corresponding values. Otherwise, push ``None``."
msgstr ""
#: library/dis.rst:1251
msgid ""
"Previously, this instruction also pushed a boolean value indicating success "
"(``True``) or failure (``False``)."
msgstr ""
#: library/dis.rst:713
msgid ""
"Implements ``name = TOS``. *namei* is the index of *name* in the attribute :"
"attr:`co_names` of the code object. The compiler tries to use :opcode:"
"`STORE_FAST` or :opcode:`STORE_GLOBAL` if possible."
msgstr ""
#: library/dis.rst:720
msgid ""
"Implements ``del name``, where *namei* is the index into :attr:`co_names` "
"attribute of the code object."
msgstr ""
#: library/dis.rst:726
msgid ""
"Unpacks TOS into *count* individual values, which are put onto the stack "
"right-to-left."
msgstr ""
#: library/dis.rst:732
msgid ""
"Implements assignment with a starred target: Unpacks an iterable in TOS into "
"individual values, where the total number of values can be smaller than the "
"number of items in the iterable: one of the new values will be a list of all "
"leftover items."
msgstr ""
#: library/dis.rst:737
msgid ""
"The low byte of *counts* is the number of values before the list value, the "
"high byte of *counts* the number of values after it. The resulting values "
"are put onto the stack right-to-left."
msgstr ""
#: library/dis.rst:744
msgid ""
"Implements ``TOS.name = TOS1``, where *namei* is the index of name in :attr:"
"`co_names`."
msgstr ""
#: library/dis.rst:750
msgid ""
"Implements ``del TOS.name``, using *namei* as index into :attr:`co_names`."
msgstr ""
#: library/dis.rst:755
msgid "Works as :opcode:`STORE_NAME`, but stores the name as a global."
msgstr ""
#: library/dis.rst:760
msgid "Works as :opcode:`DELETE_NAME`, but deletes a global name."
msgstr ""
#: library/dis.rst:765
msgid "Pushes ``co_consts[consti]`` onto the stack."
msgstr ""
#: library/dis.rst:770
msgid "Pushes the value associated with ``co_names[namei]`` onto the stack."
msgstr ""
#: library/dis.rst:775
msgid ""
"Creates a tuple consuming *count* items from the stack, and pushes the "
"resulting tuple onto the stack."
msgstr ""
#: library/dis.rst:781
msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list."
msgstr ""
#: library/dis.rst:786
msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set."
msgstr ""
#: library/dis.rst:791
msgid ""
"Pushes a new dictionary object onto the stack. Pops ``2 * count`` items so "
"that the dictionary holds *count* entries: ``{..., TOS3: TOS2, TOS1: TOS}``."
msgstr ""
#: library/dis.rst:795
msgid ""
"The dictionary is created from stack items instead of creating an empty "
"dictionary pre-sized to hold *count* items."
msgstr ""
#: library/dis.rst:802
msgid ""
"The version of :opcode:`BUILD_MAP` specialized for constant keys. Pops the "
"top element on the stack which contains a tuple of keys, then starting from "
"``TOS1``, pops *count* values to form values in the built dictionary."
msgstr ""
#: library/dis.rst:811
msgid ""
"Concatenates *count* strings from the stack and pushes the resulting string "
"onto the stack."
msgstr ""
#: library/dis.rst:819
msgid ""
"Pops a list from the stack and pushes a tuple containing the same values."
msgstr ""
#: library/dis.rst:826
msgid "Calls ``list.extend(TOS1[-i], TOS)``. Used to build lists."
msgstr ""
#: library/dis.rst:833
msgid "Calls ``set.update(TOS1[-i], TOS)``. Used to build sets."
msgstr ""
#: library/dis.rst:840
msgid "Calls ``dict.update(TOS1[-i], TOS)``. Used to build dicts."
msgstr ""
#: library/dis.rst:847
msgid "Like :opcode:`DICT_UPDATE` but raises an exception for duplicate keys."
msgstr ""
#: library/dis.rst:854
msgid "Replaces TOS with ``getattr(TOS, co_names[namei])``."
msgstr ""
#: library/dis.rst:859
msgid ""
"Performs a Boolean operation. The operation name can be found in "
"``cmp_op[opname]``."
msgstr ""
#: library/dis.rst:865
msgid "Performs ``is`` comparison, or ``is not`` if ``invert`` is 1."
msgstr ""
#: library/dis.rst:872
msgid "Performs ``in`` comparison, or ``not in`` if ``invert`` is 1."
msgstr ""
#: library/dis.rst:879
msgid ""
"Imports the module ``co_names[namei]``. TOS and TOS1 are popped and provide "
"the *fromlist* and *level* arguments of :func:`__import__`. The module "
"object is pushed onto the stack. The current namespace is not affected: for "
"a proper import statement, a subsequent :opcode:`STORE_FAST` instruction "
"modifies the namespace."
msgstr ""
#: library/dis.rst:888
msgid ""
"Loads the attribute ``co_names[namei]`` from the module found in TOS. The "
"resulting object is pushed onto the stack, to be subsequently stored by a :"
"opcode:`STORE_FAST` instruction."
msgstr ""
#: library/dis.rst:895
msgid "Increments bytecode counter by *delta*."
msgstr ""
#: library/dis.rst:900
msgid "If TOS is true, sets the bytecode counter to *target*. TOS is popped."
msgstr ""
#: library/dis.rst:907
msgid "If TOS is false, sets the bytecode counter to *target*. TOS is popped."
msgstr ""
#: library/dis.rst:914
msgid ""
"Performs exception matching for ``except``. Tests whether the second value "
"on the stack is an exception matching TOS, and jumps if it is not. Pops one "
"value from the stack."
msgstr ""
#: library/dis.rst:920
msgid "This opcode no longer pops the active exception."
msgstr ""
#: library/dis.rst:926
msgid ""
"Performs exception matching for ``except*``. Applies ``split(TOS)`` on the "
"exception group representing TOS1. Jumps if no match is found."
msgstr ""
#: library/dis.rst:929
msgid ""
"Pops one item from the stack (the match type). If a match was found, next "
"item (the exception) and pushes the non-matching part of the exception group "
"followed by the matching part."
msgstr ""
#: library/dis.rst:938
msgid ""
"If TOS is not none, sets the bytecode counter to *target*. TOS is popped."
msgstr ""
#: library/dis.rst:945
msgid "If TOS is none, sets the bytecode counter to *target*. TOS is popped."
msgstr ""
#: library/dis.rst:952
msgid ""
"Combines the raised and reraised exceptions list from TOS, into an exception "
"group to propagate from a try-except* block. Uses the original exception "
"group from TOS1 to reconstruct the structure of reraised exceptions. Pops "
"two items from the stack and pushes the exception to reraise or ``None`` if "
"there isn't one."
msgstr ""
#: library/dis.rst:963
msgid ""
"If TOS is true, sets the bytecode counter to *target* and leaves TOS on the "
"stack. Otherwise (TOS is false), TOS is popped."
msgstr ""
#: library/dis.rst:971
msgid ""
"If TOS is false, sets the bytecode counter to *target* and leaves TOS on the "
"stack. Otherwise (TOS is true), TOS is popped."
msgstr ""
#: library/dis.rst:979
msgid "Set bytecode counter to *target*."
msgstr ""
#: library/dis.rst:984
msgid "Set bytecode counter to *target*. Do not check for interrupts."
msgstr ""
#: library/dis.rst:991
msgid ""
"TOS is an :term:`iterator`. Call its :meth:`~iterator.__next__` method. If "
"this yields a new value, push it on the stack (leaving the iterator below "
"it). If the iterator indicates it is exhausted, TOS is popped, and the byte "
"code counter is incremented by *delta*."
msgstr ""
#: library/dis.rst:999
msgid "Loads the global named ``co_names[namei>>1]`` onto the stack."
msgstr ""
#: library/dis.rst:1001
msgid ""
"If the low bit of ``namei`` is set, then a ``NULL`` is pushed to the stack "
"before the global variable."
msgstr ""
#: library/dis.rst:1007
msgid ""
"Pushes a reference to the local ``co_varnames[var_num]`` onto the stack."
msgstr ""
#: library/dis.rst:1012
msgid "Stores TOS into the local ``co_varnames[var_num]``."
msgstr ""
#: library/dis.rst:1017
msgid "Deletes local ``co_varnames[var_num]``."
msgstr ""
#: library/dis.rst:1022
msgid ""
"Creates a new cell in slot ``i``. If that slot is empty then that value is "
"stored into the new cell."
msgstr ""
#: library/dis.rst:1030
msgid ""
"Pushes a reference to the cell contained in slot ``i`` of the \"fast "
"locals\" storage. The name of the variable is ``co_fastlocalnames[i]``."
msgstr ""
#: library/dis.rst:1033
msgid ""
"Note that ``LOAD_CLOSURE`` is effectively an alias for ``LOAD_FAST``. It "
"exists to keep bytecode a little more readable."
msgstr ""
#: library/dis.rst:1045 library/dis.rst:1066 library/dis.rst:1077
msgid "``i`` is no longer offset by the length of ``co_varnames``."
msgstr ""
#: library/dis.rst:1042
msgid ""
"Loads the cell contained in slot ``i`` of the \"fast locals\" storage. "
"Pushes a reference to the object the cell contains on the stack."
msgstr ""
#: library/dis.rst:1051
msgid ""
"Much like :opcode:`LOAD_DEREF` but first checks the locals dictionary before "
"consulting the cell. This is used for loading free variables in class "
"bodies."
msgstr ""
#: library/dis.rst:1063
msgid ""
"Stores TOS into the cell contained in slot ``i`` of the \"fast locals\" "
"storage."
msgstr ""
#: library/dis.rst:1072
msgid ""
"Empties the cell contained in slot ``i`` of the \"fast locals\" storage. "
"Used by the :keyword:`del` statement."
msgstr ""
#: library/dis.rst:1083
msgid ""
"Copies the ``n`` free variables from the closure into the frame. Removes the "
"need for special code on the caller's side when calling closures."
msgstr ""
#: library/dis.rst:1092
msgid ""
"Raises an exception using one of the 3 forms of the ``raise`` statement, "
"depending on the value of *argc*:"
msgstr ""
#: library/dis.rst:1095
msgid "0: ``raise`` (re-raise previous exception)"
msgstr ""
#: library/dis.rst:1096
msgid "1: ``raise TOS`` (raise exception instance or type at ``TOS``)"
msgstr ""
#: library/dis.rst:1097
msgid ""
"2: ``raise TOS1 from TOS`` (raise exception instance or type at ``TOS1`` "
"with ``__cause__`` set to ``TOS``)"
msgstr ""
#: library/dis.rst:1103
msgid ""
"Calls a callable object with the number of arguments specified by ``argc``, "
"including the named arguments specified by the preceding :opcode:`KW_NAMES`, "
"if any. On the stack are (in ascending order), either:"
msgstr ""
#: library/dis.rst:1108
msgid "NULL"
msgstr ""
#: library/dis.rst:1115
msgid "The callable"
msgstr ""
#: library/dis.rst:1110
msgid "The positional arguments"
msgstr ""
#: library/dis.rst:1118
msgid "The named arguments"
msgstr ""
#: library/dis.rst:1113
msgid "or:"
msgstr ""
#: library/dis.rst:1116
msgid "``self``"
msgstr ""
#: library/dis.rst:1117
msgid "The remaining positional arguments"
msgstr ""
#: library/dis.rst:1120
msgid ""
"``argc`` is the total of the positional and named arguments, excluding "
"``self`` when a ``NULL`` is not present."
msgstr ""
#: library/dis.rst:1123
msgid ""
"``CALL`` pops all arguments and the callable object off the stack, calls the "
"callable object with those arguments, and pushes the return value returned "
"by the callable object."
msgstr ""
#: library/dis.rst:1132
msgid ""
"Calls a callable object with variable set of positional and keyword "
"arguments. If the lowest bit of *flags* is set, the top of the stack "
"contains a mapping object containing additional keyword arguments. Before "
"the callable is called, the mapping object and iterable object are each "
"\"unpacked\" and their contents passed in as keyword and positional "
"arguments respectively. ``CALL_FUNCTION_EX`` pops all arguments and the "
"callable object off the stack, calls the callable object with those "
"arguments, and pushes the return value returned by the callable object."
msgstr ""
#: library/dis.rst:1147
msgid ""
"Loads a method named ``co_names[namei]`` from the TOS object. TOS is popped. "
"This bytecode distinguishes two cases: if TOS has a method with the correct "
"name, the bytecode pushes the unbound method and TOS. TOS will be used as "
"the first argument (``self``) by :opcode:`CALL` when calling the unbound "
"method. Otherwise, ``NULL`` and the object return by the attribute lookup "
"are pushed."
msgstr ""
#: library/dis.rst:1159
msgid ""
"Prefixes :opcode:`CALL`. Logically this is a no op. It exists to enable "
"effective specialization of calls. ``argc`` is the number of arguments as "
"described in :opcode:`CALL`."
msgstr ""
#: library/dis.rst:1168
msgid ""
"Pushes a ``NULL`` to the stack. Used in the call sequence to match the "
"``NULL`` pushed by :opcode:`LOAD_METHOD` for non-method calls."
msgstr ""
#: library/dis.rst:1177
msgid ""
"Prefixes :opcode:`PRECALL`. Stores a reference to ``co_consts[consti]`` into "
"an internal variable for use by :opcode:`CALL`. ``co_consts[consti]`` must "
"be a tuple of strings."
msgstr ""
#: library/dis.rst:1186
msgid ""
"Pushes a new function object on the stack. From bottom to top, the consumed "
"stack must consist of values if the argument carries a specified flag value"
msgstr ""
#: library/dis.rst:1189
msgid ""
"``0x01`` a tuple of default values for positional-only and positional-or-"
"keyword parameters in positional order"
msgstr ""
#: library/dis.rst:1191
msgid "``0x02`` a dictionary of keyword-only parameters' default values"
msgstr ""
#: library/dis.rst:1192
msgid "``0x04`` a tuple of strings containing parameters' annotations"
msgstr ""
#: library/dis.rst:1193
msgid "``0x08`` a tuple containing cells for free variables, making a closure"
msgstr ""
#: library/dis.rst:1194
msgid "the code associated with the function (at TOS1)"
msgstr ""
#: library/dis.rst:1195
msgid "the :term:`qualified name` of the function (at TOS)"
msgstr ""
#: library/dis.rst:1197
msgid "Flag value ``0x04`` is a tuple of strings instead of dictionary"
msgstr ""
#: library/dis.rst:1204
msgid ""
"Pushes a slice object on the stack. *argc* must be 2 or 3. If it is 2, "
"``slice(TOS1, TOS)`` is pushed; if it is 3, ``slice(TOS2, TOS1, TOS)`` is "
"pushed. See the :func:`slice` built-in function for more information."
msgstr ""
#: library/dis.rst:1211
msgid ""
"Prefixes any opcode which has an argument too big to fit into the default "
"one byte. *ext* holds an additional byte which act as higher bits in the "
"argument. For each opcode, at most three prefixal ``EXTENDED_ARG`` are "
"allowed, forming an argument from two-byte to four-byte."
msgstr ""
#: library/dis.rst:1219
msgid ""
"Used for implementing formatted literal strings (f-strings). Pops an "
"optional *fmt_spec* from the stack, then a required *value*. *flags* is "
"interpreted as follows:"
msgstr ""
#: library/dis.rst:1223
msgid "``(flags & 0x03) == 0x00``: *value* is formatted as-is."
msgstr ""
#: library/dis.rst:1224
msgid ""
"``(flags & 0x03) == 0x01``: call :func:`str` on *value* before formatting it."
msgstr ""
#: library/dis.rst:1226
msgid ""
"``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before formatting "
"it."
msgstr ""
#: library/dis.rst:1228
msgid ""
"``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before formatting "
"it."
msgstr ""
#: library/dis.rst:1230
msgid ""
"``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use it, else "
"use an empty *fmt_spec*."
msgstr ""
#: library/dis.rst:1233
msgid ""
"Formatting is performed using :c:func:`PyObject_Format`. The result is "
"pushed on the stack."
msgstr ""
#: library/dis.rst:1241
msgid ""
"TOS is a tuple of keyword attribute names, TOS1 is the class being matched "
"against, and TOS2 is the match subject. *count* is the number of positional "
"sub-patterns."
msgstr ""
#: library/dis.rst:1245
msgid ""
"Pop TOS, TOS1, and TOS2. If TOS2 is an instance of TOS1 and has the "
"positional and keyword attributes required by *count* and TOS, push a tuple "
"of extracted attributes. Otherwise, push ``None``."
msgstr ""
#: library/dis.rst:1258
msgid "A no-op. Performs internal tracing, debugging and optimization checks."
msgstr ""
#: library/dis.rst:1260
msgid "The ``where`` operand marks where the ``RESUME`` occurs:"
msgstr ""
#: library/dis.rst:1262
msgid "``0`` The start of a function"
msgstr ""
#: library/dis.rst:1263
msgid "``1`` After a ``yield`` expression"
msgstr ""
#: library/dis.rst:1264
msgid "``2`` After a ``yield from`` expression"
msgstr ""
#: library/dis.rst:1265
msgid "``3`` After an ``await`` expression"
msgstr ""
#: library/dis.rst:1272
msgid ""
"Create a generator, coroutine, or async generator from the current frame. "
"Clear the current frame and return the newly created generator."
msgstr ""
#: library/dis.rst:1280
msgid ""
"Sends ``None`` to the sub-generator of this generator. Used in ``yield "
"from`` and ``await`` statements."
msgstr ""
#: library/dis.rst:1288
msgid ""
"Wraps the value on top of the stack in an ``async_generator_wrapped_value``. "
"Used to yield in async generators."
msgstr ""
#: library/dis.rst:1296
msgid ""
"This is not really an opcode. It identifies the dividing line between "
"opcodes which don't use their argument and those that do (``< "
"HAVE_ARGUMENT`` and ``>= HAVE_ARGUMENT``, respectively)."
msgstr ""
#: library/dis.rst:1300
msgid ""
"Now every instruction has an argument, but opcodes ``< HAVE_ARGUMENT`` "
"ignore it. Before, only opcodes ``>= HAVE_ARGUMENT`` had an argument."
msgstr ""
#: library/dis.rst:1308
msgid "Opcode collections"
msgstr ""
#: library/dis.rst:1310
msgid ""
"These collections are provided for automatic introspection of bytecode "
"instructions:"
msgstr ""
#: library/dis.rst:1315
msgid "Sequence of operation names, indexable using the bytecode."
msgstr ""
#: library/dis.rst:1320
msgid "Dictionary mapping operation names to bytecodes."
msgstr ""
#: library/dis.rst:1325
msgid "Sequence of all compare operation names."
msgstr ""
#: library/dis.rst:1330
msgid "Sequence of bytecodes that access a constant."
msgstr ""
#: library/dis.rst:1335
msgid ""
"Sequence of bytecodes that access a free variable (note that 'free' in this "
"context refers to names in the current scope that are referenced by inner "
"scopes or names in outer scopes that are referenced from this scope. It "
"does *not* include references to global or builtin scopes)."
msgstr ""
#: library/dis.rst:1343
msgid "Sequence of bytecodes that access an attribute by name."
msgstr ""
#: library/dis.rst:1348
msgid "Sequence of bytecodes that have a relative jump target."
msgstr ""
#: library/dis.rst:1353
msgid "Sequence of bytecodes that have an absolute jump target."
msgstr ""
#: library/dis.rst:1358
msgid "Sequence of bytecodes that access a local variable."
msgstr ""
#: library/dis.rst:1363
msgid "Sequence of bytecodes of Boolean operations."
msgstr ""