# 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 \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 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 ` " "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 ""