python-docs-fr/library/dis.po

1463 lines
46 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-05-22 23:13+0200\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:633
msgid ""
"Performs exception matching for ``except``. Tests whether the TOS1 is an "
"exception matching TOS. Pops TOS and pushes the boolean result of the test."
msgstr ""
#: library/dis.rst:640
msgid ""
"Performs exception matching for ``except*``. Applies ``split(TOS)`` on the "
"exception group representing TOS1."
msgstr ""
#: library/dis.rst:643
msgid ""
"In case of a match, pops two items from the stack and pushes the non-"
"matching subgroup (``None`` in case of full match) followed by the matching "
"subgroup. When there is no match, pops one item (the match type) and pushes "
"``None``."
msgstr ""
#: library/dis.rst:652
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:662
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:669
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:676
msgid ""
"Pushes :exc:`AssertionError` onto the stack. Used by the :keyword:`assert` "
"statement."
msgstr ""
#: library/dis.rst:684
msgid ""
"Pushes :func:`builtins.__build_class__` onto the stack. It is later called "
"to construct a class."
msgstr ""
#: library/dis.rst:690
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:701
msgid "Push ``len(TOS)`` onto the stack."
msgstr ""
#: library/dis.rst:708
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:718
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:728
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:1279
msgid ""
"Previously, this instruction also pushed a boolean value indicating success "
"(``True``) or failure (``False``)."
msgstr ""
#: library/dis.rst:741
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:748
msgid ""
"Implements ``del name``, where *namei* is the index into :attr:`co_names` "
"attribute of the code object."
msgstr ""
#: library/dis.rst:754
msgid ""
"Unpacks TOS into *count* individual values, which are put onto the stack "
"right-to-left."
msgstr ""
#: library/dis.rst:760
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:765
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:772
msgid ""
"Implements ``TOS.name = TOS1``, where *namei* is the index of name in :attr:"
"`co_names`."
msgstr ""
#: library/dis.rst:778
msgid ""
"Implements ``del TOS.name``, using *namei* as index into :attr:`co_names`."
msgstr ""
#: library/dis.rst:783
msgid "Works as :opcode:`STORE_NAME`, but stores the name as a global."
msgstr ""
#: library/dis.rst:788
msgid "Works as :opcode:`DELETE_NAME`, but deletes a global name."
msgstr ""
#: library/dis.rst:793
msgid "Pushes ``co_consts[consti]`` onto the stack."
msgstr ""
#: library/dis.rst:798
msgid "Pushes the value associated with ``co_names[namei]`` onto the stack."
msgstr ""
#: library/dis.rst:803
msgid ""
"Creates a tuple consuming *count* items from the stack, and pushes the "
"resulting tuple onto the stack."
msgstr ""
#: library/dis.rst:809
msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list."
msgstr ""
#: library/dis.rst:814
msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set."
msgstr ""
#: library/dis.rst:819
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:823
msgid ""
"The dictionary is created from stack items instead of creating an empty "
"dictionary pre-sized to hold *count* items."
msgstr ""
#: library/dis.rst:830
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:839
msgid ""
"Concatenates *count* strings from the stack and pushes the resulting string "
"onto the stack."
msgstr ""
#: library/dis.rst:847
msgid ""
"Pops a list from the stack and pushes a tuple containing the same values."
msgstr ""
#: library/dis.rst:854
msgid "Calls ``list.extend(TOS1[-i], TOS)``. Used to build lists."
msgstr ""
#: library/dis.rst:861
msgid "Calls ``set.update(TOS1[-i], TOS)``. Used to build sets."
msgstr ""
#: library/dis.rst:868
msgid "Calls ``dict.update(TOS1[-i], TOS)``. Used to build dicts."
msgstr ""
#: library/dis.rst:875
msgid "Like :opcode:`DICT_UPDATE` but raises an exception for duplicate keys."
msgstr ""
#: library/dis.rst:882
msgid "Replaces TOS with ``getattr(TOS, co_names[namei])``."
msgstr ""
#: library/dis.rst:887
msgid ""
"Performs a Boolean operation. The operation name can be found in "
"``cmp_op[opname]``."
msgstr ""
#: library/dis.rst:893
msgid "Performs ``is`` comparison, or ``is not`` if ``invert`` is 1."
msgstr ""
#: library/dis.rst:900
msgid "Performs ``in`` comparison, or ``not in`` if ``invert`` is 1."
msgstr ""
#: library/dis.rst:907
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:916
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:923
msgid "Increments bytecode counter by *delta*."
msgstr ""
#: library/dis.rst:928
msgid "Decrements bytecode counter by *delta*. Checks for interrupts."
msgstr ""
#: library/dis.rst:935
msgid "Decrements bytecode counter by *delta*. Does not check for interrupts."
msgstr ""
#: library/dis.rst:942
msgid ""
"If TOS is true, increments the bytecode counter by *delta*. TOS is popped."
msgstr ""
#: library/dis.rst:949
msgid ""
"If TOS is true, decrements the bytecode counter by *delta*. TOS is popped."
msgstr ""
#: library/dis.rst:956
msgid ""
"If TOS is false, increments the bytecode counter by *delta*. TOS is popped."
msgstr ""
#: library/dis.rst:963
msgid ""
"If TOS is false, decrements the bytecode counter by *delta*. TOS is popped."
msgstr ""
#: library/dis.rst:970
msgid ""
"If TOS is not ``None``, increments the bytecode counter by *delta*. TOS is "
"popped."
msgstr ""
#: library/dis.rst:977
msgid ""
"If TOS is not ``None``, decrements the bytecode counter by *delta*. TOS is "
"popped."
msgstr ""
#: library/dis.rst:984
msgid ""
"If TOS is ``None``, increments the bytecode counter by *delta*. TOS is "
"popped."
msgstr ""
#: library/dis.rst:991
msgid ""
"If TOS is ``None``, decrements the bytecode counter by *delta*. TOS is "
"popped."
msgstr ""
#: library/dis.rst:998
msgid ""
"If TOS is true, increments the bytecode counter by *delta* and leaves TOS on "
"the stack. Otherwise (TOS is false), TOS is popped."
msgstr ""
#: library/dis.rst:1013
msgid "The oparg is now a relative delta rather than an absolute target."
msgstr ""
#: library/dis.rst:1008
msgid ""
"If TOS is false, increments the bytecode counter by *delta* and leaves TOS "
"on the stack. Otherwise (TOS is true), TOS is popped."
msgstr ""
#: library/dis.rst:1019
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:1027
msgid "Loads the global named ``co_names[namei>>1]`` onto the stack."
msgstr ""
#: library/dis.rst:1029
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:1035
msgid ""
"Pushes a reference to the local ``co_varnames[var_num]`` onto the stack."
msgstr ""
#: library/dis.rst:1040
msgid "Stores TOS into the local ``co_varnames[var_num]``."
msgstr ""
#: library/dis.rst:1045
msgid "Deletes local ``co_varnames[var_num]``."
msgstr ""
#: library/dis.rst:1050
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:1058
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:1061
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:1073 library/dis.rst:1094 library/dis.rst:1105
msgid "``i`` is no longer offset by the length of ``co_varnames``."
msgstr ""
#: library/dis.rst:1070
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:1079
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:1091
msgid ""
"Stores TOS into the cell contained in slot ``i`` of the \"fast locals\" "
"storage."
msgstr ""
#: library/dis.rst:1100
msgid ""
"Empties the cell contained in slot ``i`` of the \"fast locals\" storage. "
"Used by the :keyword:`del` statement."
msgstr ""
#: library/dis.rst:1111
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:1120
msgid ""
"Raises an exception using one of the 3 forms of the ``raise`` statement, "
"depending on the value of *argc*:"
msgstr ""
#: library/dis.rst:1123
msgid "0: ``raise`` (re-raise previous exception)"
msgstr ""
#: library/dis.rst:1124
msgid "1: ``raise TOS`` (raise exception instance or type at ``TOS``)"
msgstr ""
#: library/dis.rst:1125
msgid ""
"2: ``raise TOS1 from TOS`` (raise exception instance or type at ``TOS1`` "
"with ``__cause__`` set to ``TOS``)"
msgstr ""
#: library/dis.rst:1131
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:1136
msgid "NULL"
msgstr ""
#: library/dis.rst:1143
msgid "The callable"
msgstr ""
#: library/dis.rst:1138
msgid "The positional arguments"
msgstr ""
#: library/dis.rst:1146
msgid "The named arguments"
msgstr ""
#: library/dis.rst:1141
msgid "or:"
msgstr ""
#: library/dis.rst:1144
msgid "``self``"
msgstr ""
#: library/dis.rst:1145
msgid "The remaining positional arguments"
msgstr ""
#: library/dis.rst:1148
msgid ""
"``argc`` is the total of the positional and named arguments, excluding "
"``self`` when a ``NULL`` is not present."
msgstr ""
#: library/dis.rst:1151
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:1160
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:1175
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:1187
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:1196
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:1205
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:1214
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:1217
msgid ""
"``0x01`` a tuple of default values for positional-only and positional-or-"
"keyword parameters in positional order"
msgstr ""
#: library/dis.rst:1219
msgid "``0x02`` a dictionary of keyword-only parameters' default values"
msgstr ""
#: library/dis.rst:1220
msgid "``0x04`` a tuple of strings containing parameters' annotations"
msgstr ""
#: library/dis.rst:1221
msgid "``0x08`` a tuple containing cells for free variables, making a closure"
msgstr ""
#: library/dis.rst:1222
msgid "the code associated with the function (at TOS1)"
msgstr ""
#: library/dis.rst:1223
msgid "the :term:`qualified name` of the function (at TOS)"
msgstr ""
#: library/dis.rst:1225
msgid "Flag value ``0x04`` is a tuple of strings instead of dictionary"
msgstr ""
#: library/dis.rst:1232
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:1239
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:1247
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:1251
msgid "``(flags & 0x03) == 0x00``: *value* is formatted as-is."
msgstr ""
#: library/dis.rst:1252
msgid ""
"``(flags & 0x03) == 0x01``: call :func:`str` on *value* before formatting it."
msgstr ""
#: library/dis.rst:1254
msgid ""
"``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before formatting "
"it."
msgstr ""
#: library/dis.rst:1256
msgid ""
"``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before formatting "
"it."
msgstr ""
#: library/dis.rst:1258
msgid ""
"``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use it, else "
"use an empty *fmt_spec*."
msgstr ""
#: library/dis.rst:1261
msgid ""
"Formatting is performed using :c:func:`PyObject_Format`. The result is "
"pushed on the stack."
msgstr ""
#: library/dis.rst:1269
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:1273
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:1286
msgid "A no-op. Performs internal tracing, debugging and optimization checks."
msgstr ""
#: library/dis.rst:1288
msgid "The ``where`` operand marks where the ``RESUME`` occurs:"
msgstr ""
#: library/dis.rst:1290
msgid "``0`` The start of a function"
msgstr ""
#: library/dis.rst:1291
msgid "``1`` After a ``yield`` expression"
msgstr ""
#: library/dis.rst:1292
msgid "``2`` After a ``yield from`` expression"
msgstr ""
#: library/dis.rst:1293
msgid "``3`` After an ``await`` expression"
msgstr ""
#: library/dis.rst:1300
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:1308
msgid ""
"Sends ``None`` to the sub-generator of this generator. Used in ``yield "
"from`` and ``await`` statements."
msgstr ""
#: library/dis.rst:1316
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:1324
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:1328
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:1336
msgid "Opcode collections"
msgstr ""
#: library/dis.rst:1338
msgid ""
"These collections are provided for automatic introspection of bytecode "
"instructions:"
msgstr ""
#: library/dis.rst:1343
msgid "Sequence of operation names, indexable using the bytecode."
msgstr ""
#: library/dis.rst:1348
msgid "Dictionary mapping operation names to bytecodes."
msgstr ""
#: library/dis.rst:1353
msgid "Sequence of all compare operation names."
msgstr ""
#: library/dis.rst:1358
msgid "Sequence of bytecodes that access a constant."
msgstr ""
#: library/dis.rst:1363
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:1371
msgid "Sequence of bytecodes that access an attribute by name."
msgstr ""
#: library/dis.rst:1376
msgid "Sequence of bytecodes that have a relative jump target."
msgstr ""
#: library/dis.rst:1381
msgid "Sequence of bytecodes that have an absolute jump target."
msgstr ""
#: library/dis.rst:1386
msgid "Sequence of bytecodes that access a local variable."
msgstr ""
#: library/dis.rst:1391
msgid "Sequence of bytecodes of Boolean operations."
msgstr ""