1
0
Fork 0
python-docs-fr/library/dis.po

1325 lines
42 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: 2020-10-01 16:00+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:28
msgid "Example: Given the function :func:`myfunc`::"
msgstr "Exemple : Etant donné la fonction :func:`myfunc` ::"
#: library/dis.rst:33
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:42
msgid "(The \"2\" is a line number)."
msgstr "(Le \"2\" est un numéro de ligne)."
#: library/dis.rst:45
msgid "Bytecode analysis"
msgstr "Analyse du code intermédiaire"
#: library/dis.rst:49
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:56
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:60
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:225
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:69
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:75
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:80
msgid "The compiled code object."
msgstr "Le code compilé objet."
#: library/dis.rst:84
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:88
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:93
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:130 library/dis.rst:176
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:99
msgid "Example::"
msgstr "Exemple ::"
#: library/dis.rst:112
msgid "Analysis functions"
msgstr "Analyse de fonctions"
#: library/dis.rst:114
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:120
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:124
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:136
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:140
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:170 library/dis.rst:213
msgid "Added *file* parameter."
msgstr "Ajout du paramètre *file*."
#: library/dis.rst:151
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:186 library/dis.rst:210
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:167
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:173
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:182
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:196
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:199
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:200
msgid "the current instruction, indicated as ``-->``,"
msgstr "l'instruction en cours, indiquée par ``-->``,"
#: library/dis.rst:201
msgid "a labelled instruction, indicated with ``>>``,"
msgstr "une instruction libellée, indiquée par ``> >``,"
#: library/dis.rst:202
msgid "the address of the instruction,"
msgstr "l'adresse de l'instruction,"
#: library/dis.rst:203
msgid "the operation code name,"
msgstr "le nom de le code d'opération,"
#: library/dis.rst:204
msgid "operation parameters, and"
msgstr "paramètres de l'opération, et"
#: library/dis.rst:205
msgid "interpretation of the parameters in parentheses."
msgstr "interprétation des paramètres entre parenthèses."
#: library/dis.rst:207
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:219
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:222
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:235
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:241
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:247
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:253
msgid "Compute the stack effect of *opcode* with argument *oparg*."
msgstr ""
#: library/dis.rst:255
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:262
#, fuzzy
msgid "Added *jump* parameter."
msgstr "Ajout du paramètre *file*."
#: library/dis.rst:269
msgid "Python Bytecode Instructions"
msgstr "Les instructions du code intermédiaire en Python"
#: library/dis.rst:271
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:276
msgid "Details for a bytecode operation"
msgstr "Détails sur le code intermédiaire de l'opération"
#: library/dis.rst:280
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:286
msgid "human readable name for operation"
msgstr "nom lisible/compréhensible de l'opération"
#: library/dis.rst:291
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:296
msgid "resolved arg value (if known), otherwise same as arg"
msgstr ""
#: library/dis.rst:301
msgid "human readable description of operation argument"
msgstr ""
#: library/dis.rst:306
msgid "start index of operation within bytecode sequence"
msgstr ""
#: library/dis.rst:311
msgid "line started by this opcode (if any), otherwise ``None``"
msgstr ""
#: library/dis.rst:316
msgid "``True`` if other code jumps to here, otherwise ``False``"
msgstr ""
#: library/dis.rst:321
msgid ""
"The Python compiler currently generates the following bytecode instructions."
msgstr ""
#: library/dis.rst:324
msgid "**General instructions**"
msgstr ""
#: library/dis.rst:328
msgid "Do nothing code. Used as a placeholder by the bytecode optimizer."
msgstr ""
#: library/dis.rst:333
msgid "Removes the top-of-stack (TOS) item."
msgstr ""
#: library/dis.rst:338
msgid "Swaps the two top-most stack items."
msgstr ""
#: library/dis.rst:343
msgid ""
"Lifts second and third stack item one position up, moves top down to "
"position three."
msgstr ""
#: library/dis.rst:349
msgid ""
"Lifts second, third and forth stack items one position up, moves top down to "
"position four."
msgstr ""
#: library/dis.rst:357
msgid "Duplicates the reference on top of the stack."
msgstr ""
#: library/dis.rst:364
msgid ""
"Duplicates the two references on top of the stack, leaving them in the same "
"order."
msgstr ""
#: library/dis.rst:370
msgid "**Unary operations**"
msgstr ""
#: library/dis.rst:372
msgid ""
"Unary operations take the top of the stack, apply the operation, and push "
"the result back on the stack."
msgstr ""
#: library/dis.rst:377
msgid "Implements ``TOS = +TOS``."
msgstr ""
#: library/dis.rst:382
msgid "Implements ``TOS = -TOS``."
msgstr ""
#: library/dis.rst:387
msgid "Implements ``TOS = not TOS``."
msgstr ""
#: library/dis.rst:392
msgid "Implements ``TOS = ~TOS``."
msgstr ""
#: library/dis.rst:397
msgid "Implements ``TOS = iter(TOS)``."
msgstr ""
#: library/dis.rst:402
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:408
msgid "**Binary operations**"
msgstr ""
#: library/dis.rst:410
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:416
msgid "Implements ``TOS = TOS1 ** TOS``."
msgstr ""
#: library/dis.rst:421
msgid "Implements ``TOS = TOS1 * TOS``."
msgstr ""
#: library/dis.rst:426
msgid "Implements ``TOS = TOS1 @ TOS``."
msgstr ""
#: library/dis.rst:433
msgid "Implements ``TOS = TOS1 // TOS``."
msgstr ""
#: library/dis.rst:438
msgid "Implements ``TOS = TOS1 / TOS``."
msgstr ""
#: library/dis.rst:443
msgid "Implements ``TOS = TOS1 % TOS``."
msgstr ""
#: library/dis.rst:448
msgid "Implements ``TOS = TOS1 + TOS``."
msgstr ""
#: library/dis.rst:453
msgid "Implements ``TOS = TOS1 - TOS``."
msgstr ""
#: library/dis.rst:458
msgid "Implements ``TOS = TOS1[TOS]``."
msgstr ""
#: library/dis.rst:463
msgid "Implements ``TOS = TOS1 << TOS``."
msgstr ""
#: library/dis.rst:468
msgid "Implements ``TOS = TOS1 >> TOS``."
msgstr ""
#: library/dis.rst:473
msgid "Implements ``TOS = TOS1 & TOS``."
msgstr ""
#: library/dis.rst:478
msgid "Implements ``TOS = TOS1 ^ TOS``."
msgstr ""
#: library/dis.rst:483
msgid "Implements ``TOS = TOS1 | TOS``."
msgstr ""
#: library/dis.rst:486
msgid "**In-place operations**"
msgstr ""
#: library/dis.rst:488
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:495
msgid "Implements in-place ``TOS = TOS1 ** TOS``."
msgstr ""
#: library/dis.rst:500
msgid "Implements in-place ``TOS = TOS1 * TOS``."
msgstr ""
#: library/dis.rst:505
msgid "Implements in-place ``TOS = TOS1 @ TOS``."
msgstr ""
#: library/dis.rst:512
msgid "Implements in-place ``TOS = TOS1 // TOS``."
msgstr ""
#: library/dis.rst:517
msgid "Implements in-place ``TOS = TOS1 / TOS``."
msgstr ""
#: library/dis.rst:522
msgid "Implements in-place ``TOS = TOS1 % TOS``."
msgstr ""
#: library/dis.rst:527
msgid "Implements in-place ``TOS = TOS1 + TOS``."
msgstr ""
#: library/dis.rst:532
msgid "Implements in-place ``TOS = TOS1 - TOS``."
msgstr ""
#: library/dis.rst:537
msgid "Implements in-place ``TOS = TOS1 << TOS``."
msgstr ""
#: library/dis.rst:542
msgid "Implements in-place ``TOS = TOS1 >> TOS``."
msgstr ""
#: library/dis.rst:547
msgid "Implements in-place ``TOS = TOS1 & TOS``."
msgstr ""
#: library/dis.rst:552
msgid "Implements in-place ``TOS = TOS1 ^ TOS``."
msgstr ""
#: library/dis.rst:557
msgid "Implements in-place ``TOS = TOS1 | TOS``."
msgstr ""
#: library/dis.rst:562
msgid "Implements ``TOS1[TOS] = TOS2``."
msgstr ""
#: library/dis.rst:567
msgid "Implements ``del TOS1[TOS]``."
msgstr ""
#: library/dis.rst:570
msgid "**Coroutine opcodes**"
msgstr ""
#: library/dis.rst:574
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:584
msgid "Implements ``TOS = TOS.__aiter__()``."
msgstr ""
#: library/dis.rst:587
msgid "Returning awaitable objects from ``__aiter__`` is no longer supported."
msgstr ""
#: library/dis.rst:594
msgid ""
"Implements ``PUSH(get_awaitable(TOS.__anext__()))``. See ``GET_AWAITABLE`` "
"for details about ``get_awaitable``"
msgstr ""
#: library/dis.rst:602
msgid ""
"Terminates an :keyword:`async for` loop. Handles an exception raised when "
"awaiting a next item. If TOS is :exc:`StopAsyncIteration` pop 7 values from "
"the stack and restore the exception state using the second three of them. "
"Otherwise re-raise the exception using the three values from the stack. An "
"exception handler block is removed from the block stack."
msgstr ""
#: library/dis.rst:613
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:621
msgid "Creates a new frame object."
msgstr ""
#: library/dis.rst:627
msgid "**Miscellaneous opcodes**"
msgstr ""
#: library/dis.rst:631
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:638
msgid ""
"Calls ``set.add(TOS1[-i], TOS)``. Used to implement set comprehensions."
msgstr ""
#: library/dis.rst:643
msgid ""
"Calls ``list.append(TOS1[-i], TOS)``. Used to implement list comprehensions."
msgstr ""
#: library/dis.rst:648
msgid ""
"Calls ``dict.__setitem__(TOS1[-i], TOS1, TOS)``. Used to implement dict "
"comprehensions."
msgstr ""
#: library/dis.rst:652
msgid "Map value is TOS and map key is TOS1. Before, those were reversed."
msgstr ""
#: library/dis.rst:655
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:663
msgid "Returns with TOS to the caller of the function."
msgstr ""
#: library/dis.rst:668
msgid "Pops TOS and yields it from a :term:`generator`."
msgstr ""
#: library/dis.rst:673
msgid "Pops TOS and delegates to it as a subiterator from a :term:`generator`."
msgstr ""
#: library/dis.rst:680
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:690
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:697
msgid ""
"Removes one block from the block stack. Per frame, there is a stack of "
"blocks, denoting :keyword:`try` statements, and such."
msgstr ""
#: library/dis.rst:703
msgid ""
"Removes one block from the block stack. The popped block must be an "
"exception handler block, as implicitly created when entering an except "
"handler. In addition to popping extraneous values from the frame stack, the "
"last three popped values are used to restore the exception state."
msgstr ""
#: library/dis.rst:711
msgid "Re-raises the exception currently on top of the stack."
msgstr ""
#: library/dis.rst:718
msgid ""
"Calls the function in position 7 on the stack with the top three items on "
"the stack as arguments. Used to implement the call ``context_manager."
"__exit__(*exc_info())`` when an exception has occurred in a :keyword:`with` "
"statement."
msgstr ""
#: library/dis.rst:728
msgid ""
"Pushes :exc:`AssertionError` onto the stack. Used by the :keyword:`assert` "
"statement."
msgstr ""
#: library/dis.rst:736
msgid ""
"Pushes :func:`builtins.__build_class__` onto the stack. It is later called "
"by :opcode:`CALL_FUNCTION` to construct a class."
msgstr ""
#: library/dis.rst:742
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_CLEANUP_START`. Then, :meth:"
"`~object.__enter__` is called, and a finally block pointing to *delta* is "
"pushed. Finally, the result of calling the ``__enter__()`` method is pushed "
"onto the stack. The next opcode will either ignore it (:opcode:`POP_TOP`), "
"or store it in (a) variable(s) (:opcode:`STORE_FAST`, :opcode:`STORE_NAME`, "
"or :opcode:`UNPACK_SEQUENCE`)."
msgstr ""
#: library/dis.rst:754
msgid "All of the following opcodes use their arguments."
msgstr ""
#: library/dis.rst:758
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:765
msgid ""
"Implements ``del name``, where *namei* is the index into :attr:`co_names` "
"attribute of the code object."
msgstr ""
#: library/dis.rst:771
msgid ""
"Unpacks TOS into *count* individual values, which are put onto the stack "
"right-to-left."
msgstr ""
#: library/dis.rst:777
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:782
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:789
msgid ""
"Implements ``TOS.name = TOS1``, where *namei* is the index of name in :attr:"
"`co_names`."
msgstr ""
#: library/dis.rst:795
msgid ""
"Implements ``del TOS.name``, using *namei* as index into :attr:`co_names`."
msgstr ""
#: library/dis.rst:800
msgid "Works as :opcode:`STORE_NAME`, but stores the name as a global."
msgstr ""
#: library/dis.rst:805
msgid "Works as :opcode:`DELETE_NAME`, but deletes a global name."
msgstr ""
#: library/dis.rst:810
msgid "Pushes ``co_consts[consti]`` onto the stack."
msgstr ""
#: library/dis.rst:815
msgid "Pushes the value associated with ``co_names[namei]`` onto the stack."
msgstr ""
#: library/dis.rst:820
msgid ""
"Creates a tuple consuming *count* items from the stack, and pushes the "
"resulting tuple onto the stack."
msgstr ""
#: library/dis.rst:826
msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list."
msgstr ""
#: library/dis.rst:831
msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set."
msgstr ""
#: library/dis.rst:836
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:840
msgid ""
"The dictionary is created from stack items instead of creating an empty "
"dictionary pre-sized to hold *count* items."
msgstr ""
#: library/dis.rst:847
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:856
msgid ""
"Concatenates *count* strings from the stack and pushes the resulting string "
"onto the stack."
msgstr ""
#: library/dis.rst:864
msgid ""
"Pops a list from the stack and pushes a tuple containing the same values."
msgstr ""
#: library/dis.rst:871
msgid "Calls ``list.extend(TOS1[-i], TOS)``. Used to build lists."
msgstr ""
#: library/dis.rst:878
msgid "Calls ``set.update(TOS1[-i], TOS)``. Used to build sets."
msgstr ""
#: library/dis.rst:885
msgid "Calls ``dict.update(TOS1[-i], TOS)``. Used to build dicts."
msgstr ""
#: library/dis.rst:892
msgid "Like :opcode:`DICT_UPDATE` but raises an exception for duplicate keys."
msgstr ""
#: library/dis.rst:899
msgid "Replaces TOS with ``getattr(TOS, co_names[namei])``."
msgstr ""
#: library/dis.rst:904
msgid ""
"Performs a Boolean operation. The operation name can be found in "
"``cmp_op[opname]``."
msgstr ""
#: library/dis.rst:910
msgid "Performs ``is`` comparison, or ``is not`` if ``invert`` is 1."
msgstr ""
#: library/dis.rst:917
msgid "Performs ``in`` comparison, or ``not in`` if ``invert`` is 1."
msgstr ""
#: library/dis.rst:924
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:933
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:940
msgid "Increments bytecode counter by *delta*."
msgstr ""
#: library/dis.rst:945
msgid "If TOS is true, sets the bytecode counter to *target*. TOS is popped."
msgstr ""
#: library/dis.rst:952
msgid "If TOS is false, sets the bytecode counter to *target*. TOS is popped."
msgstr ""
#: library/dis.rst:958
msgid ""
"Tests whether the second value on the stack is an exception matching TOS, "
"and jumps if it is not. Pops two values from the stack."
msgstr ""
#: library/dis.rst:966
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:974
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:982
msgid "Set bytecode counter to *target*."
msgstr ""
#: library/dis.rst:987
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:995
msgid "Loads the global named ``co_names[namei]`` onto the stack."
msgstr ""
#: library/dis.rst:1000
msgid ""
"Pushes a try block from a try-finally or try-except clause onto the block "
"stack. *delta* points to the finally block or the first except block."
msgstr ""
#: library/dis.rst:1006
msgid ""
"Pushes a reference to the local ``co_varnames[var_num]`` onto the stack."
msgstr ""
#: library/dis.rst:1011
msgid "Stores TOS into the local ``co_varnames[var_num]``."
msgstr ""
#: library/dis.rst:1016
msgid "Deletes local ``co_varnames[var_num]``."
msgstr ""
#: library/dis.rst:1021
msgid ""
"Pushes a reference to the cell contained in slot *i* of the cell and free "
"variable storage. The name of the variable is ``co_cellvars[i]`` if *i* is "
"less than the length of *co_cellvars*. Otherwise it is ``co_freevars[i - "
"len(co_cellvars)]``."
msgstr ""
#: library/dis.rst:1029
msgid ""
"Loads the cell contained in slot *i* of the cell and free variable storage. "
"Pushes a reference to the object the cell contains on the stack."
msgstr ""
#: library/dis.rst:1035
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:1044
msgid ""
"Stores TOS into the cell contained in slot *i* of the cell and free variable "
"storage."
msgstr ""
#: library/dis.rst:1050
msgid ""
"Empties the cell contained in slot *i* of the cell and free variable "
"storage. Used by the :keyword:`del` statement."
msgstr ""
#: library/dis.rst:1058
msgid ""
"Raises an exception using one of the 3 forms of the ``raise`` statement, "
"depending on the value of *argc*:"
msgstr ""
#: library/dis.rst:1061
msgid "0: ``raise`` (re-raise previous exception)"
msgstr ""
#: library/dis.rst:1062
msgid "1: ``raise TOS`` (raise exception instance or type at ``TOS``)"
msgstr ""
#: library/dis.rst:1063
msgid ""
"2: ``raise TOS1 from TOS`` (raise exception instance or type at ``TOS1`` "
"with ``__cause__`` set to ``TOS``)"
msgstr ""
#: library/dis.rst:1069
msgid ""
"Calls a callable object with positional arguments. *argc* indicates the "
"number of positional arguments. The top of the stack contains positional "
"arguments, with the right-most argument on top. Below the arguments is a "
"callable object to call. ``CALL_FUNCTION`` 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:1077
msgid "This opcode is used only for calls with positional arguments."
msgstr ""
#: library/dis.rst:1083
msgid ""
"Calls a callable object with positional (if any) and keyword arguments. "
"*argc* indicates the total number of positional and keyword arguments. The "
"top element on the stack contains a tuple with the names of the keyword "
"arguments, which must be strings. Below that are the values for the keyword "
"arguments, in the order corresponding to the tuple. Below that are "
"positional arguments, with the right-most parameter on top. Below the "
"arguments is a callable object to call. ``CALL_FUNCTION_KW`` 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:1095
msgid ""
"Keyword arguments are packed in a tuple instead of a dictionary, *argc* "
"indicates the total number of arguments."
msgstr ""
#: library/dis.rst:1102
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:1117
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_METHOD` when calling the "
"unbound method. Otherwise, ``NULL`` and the object return by the attribute "
"lookup are pushed."
msgstr ""
#: library/dis.rst:1129
msgid ""
"Calls a method. *argc* is the number of positional arguments. Keyword "
"arguments are not supported. This opcode is designed to be used with :"
"opcode:`LOAD_METHOD`. Positional arguments are on top of the stack. Below "
"them, the two items described in :opcode:`LOAD_METHOD` are on the stack "
"(either ``self`` and an unbound method object or ``NULL`` and an arbitrary "
"callable). All of them are popped and the return value is pushed."
msgstr ""
#: library/dis.rst:1141
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:1144
msgid ""
"``0x01`` a tuple of default values for positional-only and positional-or-"
"keyword parameters in positional order"
msgstr ""
#: library/dis.rst:1146
msgid "``0x02`` a dictionary of keyword-only parameters' default values"
msgstr ""
#: library/dis.rst:1147
msgid "``0x04`` an annotation dictionary"
msgstr ""
#: library/dis.rst:1148
msgid "``0x08`` a tuple containing cells for free variables, making a closure"
msgstr ""
#: library/dis.rst:1149
msgid "the code associated with the function (at TOS1)"
msgstr ""
#: library/dis.rst:1150
msgid "the :term:`qualified name` of the function (at TOS)"
msgstr ""
#: library/dis.rst:1157
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:1164
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:1172
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:1176
msgid "``(flags & 0x03) == 0x00``: *value* is formatted as-is."
msgstr ""
#: library/dis.rst:1177
msgid ""
"``(flags & 0x03) == 0x01``: call :func:`str` on *value* before formatting it."
msgstr ""
#: library/dis.rst:1179
msgid ""
"``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before formatting "
"it."
msgstr ""
#: library/dis.rst:1181
msgid ""
"``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before formatting "
"it."
msgstr ""
#: library/dis.rst:1183
msgid ""
"``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use it, else "
"use an empty *fmt_spec*."
msgstr ""
#: library/dis.rst:1186
msgid ""
"Formatting is performed using :c:func:`PyObject_Format`. The result is "
"pushed on the stack."
msgstr ""
#: library/dis.rst:1194
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:1198
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:1206
msgid "Opcode collections"
msgstr ""
#: library/dis.rst:1208
msgid ""
"These collections are provided for automatic introspection of bytecode "
"instructions:"
msgstr ""
#: library/dis.rst:1213
msgid "Sequence of operation names, indexable using the bytecode."
msgstr ""
#: library/dis.rst:1218
msgid "Dictionary mapping operation names to bytecodes."
msgstr ""
#: library/dis.rst:1223
msgid "Sequence of all compare operation names."
msgstr ""
#: library/dis.rst:1228
msgid "Sequence of bytecodes that access a constant."
msgstr ""
#: library/dis.rst:1233
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:1241
msgid "Sequence of bytecodes that access an attribute by name."
msgstr ""
#: library/dis.rst:1246
msgid "Sequence of bytecodes that have a relative jump target."
msgstr ""
#: library/dis.rst:1251
msgid "Sequence of bytecodes that have an absolute jump target."
msgstr ""
#: library/dis.rst:1256
msgid "Sequence of bytecodes that access a local variable."
msgstr ""
#: library/dis.rst:1261
msgid "Sequence of bytecodes of Boolean operations."
msgstr ""