python-docs-fr/library/dis.po
2019-06-03 22:16:26 +02:00

1262 lines
37 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.

# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-06-03 22:10+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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"
#: ../Doc/library/dis.rst:2
msgid ":mod:`dis` --- Disassembler for Python bytecode"
msgstr ""
#: ../Doc/library/dis.rst:7
msgid "**Source code:** :source:`Lib/dis.py`"
msgstr "**Code source :** :source:`Lib/dis.py`"
#: ../Doc/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 ""
#: ../Doc/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 ""
#: ../Doc/library/dis.rst:23
msgid ""
"Use 2 bytes for each instruction. Previously the number of bytes varied by "
"instruction."
msgstr ""
#: ../Doc/library/dis.rst:28
msgid "Example: Given the function :func:`myfunc`::"
msgstr ""
#: ../Doc/library/dis.rst:33
msgid ""
"the following command can be used to display the disassembly of :func:"
"`myfunc`::"
msgstr ""
#: ../Doc/library/dis.rst:42
msgid "(The \"2\" is a line number)."
msgstr ""
#: ../Doc/library/dis.rst:45
msgid "Bytecode analysis"
msgstr ""
#: ../Doc/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 ""
#: ../Doc/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 ""
#: ../Doc/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 ""
#: ../Doc/library/dis.rst:64 ../Doc/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 ""
#: ../Doc/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 ""
#: ../Doc/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 ""
#: ../Doc/library/dis.rst:80
msgid "The compiled code object."
msgstr ""
#: ../Doc/library/dis.rst:84
msgid "The first source line of the code object (if available)"
msgstr ""
#: ../Doc/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 ""
#: ../Doc/library/dis.rst:93
msgid ""
"Return a formatted multi-line string with detailed information about the "
"code object, like :func:`code_info`."
msgstr ""
#: ../Doc/library/dis.rst:96 ../Doc/library/dis.rst:130
#: ../Doc/library/dis.rst:176
msgid "This can now handle coroutine and asynchronous generator objects."
msgstr ""
#: ../Doc/library/dis.rst:99
msgid "Example::"
msgstr "Exemple ::"
#: ../Doc/library/dis.rst:112
msgid "Analysis functions"
msgstr ""
#: ../Doc/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 ""
#: ../Doc/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 ""
#: ../Doc/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 ""
#: ../Doc/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 ""
#: ../Doc/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 ""
#: ../Doc/library/dis.rst:145 ../Doc/library/dis.rst:170
#: ../Doc/library/dis.rst:189 ../Doc/library/dis.rst:213
msgid "Added *file* parameter."
msgstr ""
#: ../Doc/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 ""
#: ../Doc/library/dis.rst:164 ../Doc/library/dis.rst:186
#: ../Doc/library/dis.rst:210
msgid ""
"The disassembly is written as text to the supplied *file* argument if "
"provided and to ``sys.stdout`` otherwise."
msgstr ""
#: ../Doc/library/dis.rst:167
msgid ""
"The maximal depth of recursion is limited by *depth* unless it is ``None``. "
"``depth=0`` means no recursion."
msgstr ""
#: ../Doc/library/dis.rst:173
msgid "Implemented recursive disassembling and added *depth* parameter."
msgstr ""
#: ../Doc/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 ""
#: ../Doc/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 ""
#: ../Doc/library/dis.rst:199
msgid "the line number, for the first instruction of each line"
msgstr ""
#: ../Doc/library/dis.rst:200
msgid "the current instruction, indicated as ``-->``,"
msgstr ""
#: ../Doc/library/dis.rst:201
msgid "a labelled instruction, indicated with ``>>``,"
msgstr ""
#: ../Doc/library/dis.rst:202
msgid "the address of the instruction,"
msgstr ""
#: ../Doc/library/dis.rst:203
msgid "the operation code name,"
msgstr ""
#: ../Doc/library/dis.rst:204
msgid "operation parameters, and"
msgstr ""
#: ../Doc/library/dis.rst:205
msgid "interpretation of the parameters in parentheses."
msgstr ""
#: ../Doc/library/dis.rst:207
msgid ""
"The parameter interpretation recognizes local and global variable names, "
"constant values, branch targets, and compare operators."
msgstr ""
#: ../Doc/library/dis.rst:219
msgid ""
"Return an iterator over the instructions in the supplied function, method, "
"source code string or code object."
msgstr ""
#: ../Doc/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 ""
#: ../Doc/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 ""
#: ../Doc/library/dis.rst:241
msgid "Line numbers can be decreasing. Before, they were always increasing."
msgstr ""
#: ../Doc/library/dis.rst:247
msgid ""
"Detect all offsets in the code object *code* which are jump targets, and "
"return a list of these offsets."
msgstr ""
#: ../Doc/library/dis.rst:253
msgid "Compute the stack effect of *opcode* with argument *oparg*."
msgstr ""
#: ../Doc/library/dis.rst:260
msgid "Python Bytecode Instructions"
msgstr ""
#: ../Doc/library/dis.rst:262
msgid ""
"The :func:`get_instructions` function and :class:`Bytecode` class provide "
"details of bytecode instructions as :class:`Instruction` instances:"
msgstr ""
#: ../Doc/library/dis.rst:267
msgid "Details for a bytecode operation"
msgstr ""
#: ../Doc/library/dis.rst:271
msgid ""
"numeric code for operation, corresponding to the opcode values listed below "
"and the bytecode values in the :ref:`opcode_collections`."
msgstr ""
#: ../Doc/library/dis.rst:277
msgid "human readable name for operation"
msgstr ""
#: ../Doc/library/dis.rst:282
msgid "numeric argument to operation (if any), otherwise ``None``"
msgstr ""
#: ../Doc/library/dis.rst:287
msgid "resolved arg value (if known), otherwise same as arg"
msgstr ""
#: ../Doc/library/dis.rst:292
msgid "human readable description of operation argument"
msgstr ""
#: ../Doc/library/dis.rst:297
msgid "start index of operation within bytecode sequence"
msgstr ""
#: ../Doc/library/dis.rst:302
msgid "line started by this opcode (if any), otherwise ``None``"
msgstr ""
#: ../Doc/library/dis.rst:307
msgid "``True`` if other code jumps to here, otherwise ``False``"
msgstr ""
#: ../Doc/library/dis.rst:312
msgid ""
"The Python compiler currently generates the following bytecode instructions."
msgstr ""
#: ../Doc/library/dis.rst:315
msgid "**General instructions**"
msgstr ""
#: ../Doc/library/dis.rst:319
msgid "Do nothing code. Used as a placeholder by the bytecode optimizer."
msgstr ""
#: ../Doc/library/dis.rst:324
msgid "Removes the top-of-stack (TOS) item."
msgstr ""
#: ../Doc/library/dis.rst:329
msgid "Swaps the two top-most stack items."
msgstr ""
#: ../Doc/library/dis.rst:334
msgid ""
"Lifts second and third stack item one position up, moves top down to "
"position three."
msgstr ""
#: ../Doc/library/dis.rst:340
msgid "Duplicates the reference on top of the stack."
msgstr ""
#: ../Doc/library/dis.rst:347
msgid ""
"Duplicates the two references on top of the stack, leaving them in the same "
"order."
msgstr ""
#: ../Doc/library/dis.rst:353
msgid "**Unary operations**"
msgstr ""
#: ../Doc/library/dis.rst:355
msgid ""
"Unary operations take the top of the stack, apply the operation, and push "
"the result back on the stack."
msgstr ""
#: ../Doc/library/dis.rst:360
msgid "Implements ``TOS = +TOS``."
msgstr ""
#: ../Doc/library/dis.rst:365
msgid "Implements ``TOS = -TOS``."
msgstr ""
#: ../Doc/library/dis.rst:370
msgid "Implements ``TOS = not TOS``."
msgstr ""
#: ../Doc/library/dis.rst:375
msgid "Implements ``TOS = ~TOS``."
msgstr ""
#: ../Doc/library/dis.rst:380
msgid "Implements ``TOS = iter(TOS)``."
msgstr ""
#: ../Doc/library/dis.rst:385
msgid ""
"If ``TOS`` is a :term:`generator iterator` or :term:`coroutine` object it is "
"left as is. Otherwise, implements ``TOS = iter(TOS)``."
msgstr ""
#: ../Doc/library/dis.rst:391
msgid "**Binary operations**"
msgstr ""
#: ../Doc/library/dis.rst:393
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 ""
#: ../Doc/library/dis.rst:399
msgid "Implements ``TOS = TOS1 ** TOS``."
msgstr ""
#: ../Doc/library/dis.rst:404
msgid "Implements ``TOS = TOS1 * TOS``."
msgstr ""
#: ../Doc/library/dis.rst:409
msgid "Implements ``TOS = TOS1 @ TOS``."
msgstr ""
#: ../Doc/library/dis.rst:416
msgid "Implements ``TOS = TOS1 // TOS``."
msgstr ""
#: ../Doc/library/dis.rst:421
msgid "Implements ``TOS = TOS1 / TOS``."
msgstr ""
#: ../Doc/library/dis.rst:426
msgid "Implements ``TOS = TOS1 % TOS``."
msgstr ""
#: ../Doc/library/dis.rst:431
msgid "Implements ``TOS = TOS1 + TOS``."
msgstr ""
#: ../Doc/library/dis.rst:436
msgid "Implements ``TOS = TOS1 - TOS``."
msgstr ""
#: ../Doc/library/dis.rst:441
msgid "Implements ``TOS = TOS1[TOS]``."
msgstr ""
#: ../Doc/library/dis.rst:446
msgid "Implements ``TOS = TOS1 << TOS``."
msgstr ""
#: ../Doc/library/dis.rst:451
msgid "Implements ``TOS = TOS1 >> TOS``."
msgstr ""
#: ../Doc/library/dis.rst:456
msgid "Implements ``TOS = TOS1 & TOS``."
msgstr ""
#: ../Doc/library/dis.rst:461
msgid "Implements ``TOS = TOS1 ^ TOS``."
msgstr ""
#: ../Doc/library/dis.rst:466
msgid "Implements ``TOS = TOS1 | TOS``."
msgstr ""
#: ../Doc/library/dis.rst:469
msgid "**In-place operations**"
msgstr ""
#: ../Doc/library/dis.rst:471
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 ""
#: ../Doc/library/dis.rst:478
msgid "Implements in-place ``TOS = TOS1 ** TOS``."
msgstr ""
#: ../Doc/library/dis.rst:483
msgid "Implements in-place ``TOS = TOS1 * TOS``."
msgstr ""
#: ../Doc/library/dis.rst:488
msgid "Implements in-place ``TOS = TOS1 @ TOS``."
msgstr ""
#: ../Doc/library/dis.rst:495
msgid "Implements in-place ``TOS = TOS1 // TOS``."
msgstr ""
#: ../Doc/library/dis.rst:500
msgid "Implements in-place ``TOS = TOS1 / TOS``."
msgstr ""
#: ../Doc/library/dis.rst:505
msgid "Implements in-place ``TOS = TOS1 % TOS``."
msgstr ""
#: ../Doc/library/dis.rst:510
msgid "Implements in-place ``TOS = TOS1 + TOS``."
msgstr ""
#: ../Doc/library/dis.rst:515
msgid "Implements in-place ``TOS = TOS1 - TOS``."
msgstr ""
#: ../Doc/library/dis.rst:520
msgid "Implements in-place ``TOS = TOS1 << TOS``."
msgstr ""
#: ../Doc/library/dis.rst:525
msgid "Implements in-place ``TOS = TOS1 >> TOS``."
msgstr ""
#: ../Doc/library/dis.rst:530
msgid "Implements in-place ``TOS = TOS1 & TOS``."
msgstr ""
#: ../Doc/library/dis.rst:535
msgid "Implements in-place ``TOS = TOS1 ^ TOS``."
msgstr ""
#: ../Doc/library/dis.rst:540
msgid "Implements in-place ``TOS = TOS1 | TOS``."
msgstr ""
#: ../Doc/library/dis.rst:545
msgid "Implements ``TOS1[TOS] = TOS2``."
msgstr ""
#: ../Doc/library/dis.rst:550
msgid "Implements ``del TOS1[TOS]``."
msgstr ""
#: ../Doc/library/dis.rst:553
msgid "**Coroutine opcodes**"
msgstr ""
#: ../Doc/library/dis.rst:557
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 ""
#: ../Doc/library/dis.rst:567
msgid "Implements ``TOS = TOS.__aiter__()``."
msgstr ""
#: ../Doc/library/dis.rst:570
msgid "Returning awaitable objects from ``__aiter__`` is no longer supported."
msgstr ""
#: ../Doc/library/dis.rst:577
msgid ""
"Implements ``PUSH(get_awaitable(TOS.__anext__()))``. See ``GET_AWAITABLE`` "
"for details about ``get_awaitable``"
msgstr ""
#: ../Doc/library/dis.rst:585
msgid ""
"Resolves ``__aenter__`` and ``__aexit__`` from the object on top of the "
"stack. Pushes ``__aexit__`` and result of ``__aenter__()`` to the stack."
msgstr ""
#: ../Doc/library/dis.rst:593
msgid "Creates a new frame object."
msgstr ""
#: ../Doc/library/dis.rst:599
msgid "**Miscellaneous opcodes**"
msgstr ""
#: ../Doc/library/dis.rst:603
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 ""
#: ../Doc/library/dis.rst:610
msgid "Terminates a loop due to a :keyword:`break` statement."
msgstr ""
#: ../Doc/library/dis.rst:615
msgid ""
"Continues a loop due to a :keyword:`continue` statement. *target* is the "
"address to jump to (which should be a :opcode:`FOR_ITER` instruction)."
msgstr ""
#: ../Doc/library/dis.rst:621
msgid ""
"Calls ``set.add(TOS1[-i], TOS)``. Used to implement set comprehensions."
msgstr ""
#: ../Doc/library/dis.rst:626
msgid ""
"Calls ``list.append(TOS[-i], TOS)``. Used to implement list comprehensions."
msgstr ""
#: ../Doc/library/dis.rst:631
msgid ""
"Calls ``dict.setitem(TOS1[-i], TOS, TOS1)``. Used to implement dict "
"comprehensions."
msgstr ""
#: ../Doc/library/dis.rst:636
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 ""
#: ../Doc/library/dis.rst:644
msgid "Returns with TOS to the caller of the function."
msgstr ""
#: ../Doc/library/dis.rst:649
msgid "Pops TOS and yields it from a :term:`generator`."
msgstr ""
#: ../Doc/library/dis.rst:654
msgid "Pops TOS and delegates to it as a subiterator from a :term:`generator`."
msgstr ""
#: ../Doc/library/dis.rst:661
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 ""
#: ../Doc/library/dis.rst:671
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 ""
#: ../Doc/library/dis.rst:678
msgid ""
"Removes one block from the block stack. Per frame, there is a stack of "
"blocks, denoting nested loops, try statements, and such."
msgstr ""
#: ../Doc/library/dis.rst:684
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 ""
#: ../Doc/library/dis.rst:692
msgid ""
"Terminates a :keyword:`finally` clause. The interpreter recalls whether the "
"exception has to be re-raised, or whether the function returns, and "
"continues with the outer-next block."
msgstr ""
#: ../Doc/library/dis.rst:699
msgid ""
"Pushes :func:`builtins.__build_class__` onto the stack. It is later called "
"by :opcode:`CALL_FUNCTION` to construct a class."
msgstr ""
#: ../Doc/library/dis.rst:705
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`. 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 ""
#: ../Doc/library/dis.rst:719
msgid ""
"Cleans up the stack when a :keyword:`with` statement block exits. TOS is "
"the context manager's :meth:`__exit__` bound method. Below TOS are 1--3 "
"values indicating how/why the finally clause was entered:"
msgstr ""
#: ../Doc/library/dis.rst:723
msgid "SECOND = ``None``"
msgstr ""
#: ../Doc/library/dis.rst:724
msgid "(SECOND, THIRD) = (``WHY_{RETURN,CONTINUE}``), retval"
msgstr ""
#: ../Doc/library/dis.rst:725
msgid "SECOND = ``WHY_*``; no retval below it"
msgstr ""
#: ../Doc/library/dis.rst:726
msgid "(SECOND, THIRD, FOURTH) = exc_info()"
msgstr ""
#: ../Doc/library/dis.rst:728
msgid ""
"In the last case, ``TOS(SECOND, THIRD, FOURTH)`` is called, otherwise "
"``TOS(None, None, None)``. Pushes SECOND and result of the call to the "
"stack."
msgstr ""
#: ../Doc/library/dis.rst:735
msgid "Pops exception type and result of 'exit' function call from the stack."
msgstr ""
#: ../Doc/library/dis.rst:737
msgid ""
"If the stack represents an exception, *and* the function call returns a "
"'true' value, this information is \"zapped\" and replaced with a single "
"``WHY_SILENCED`` to prevent :opcode:`END_FINALLY` from re-raising the "
"exception. (But non-local gotos will still be resumed.)"
msgstr ""
#: ../Doc/library/dis.rst:745
msgid "All of the following opcodes use their arguments."
msgstr ""
#: ../Doc/library/dis.rst:749
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 ""
#: ../Doc/library/dis.rst:756
msgid ""
"Implements ``del name``, where *namei* is the index into :attr:`co_names` "
"attribute of the code object."
msgstr ""
#: ../Doc/library/dis.rst:762
msgid ""
"Unpacks TOS into *count* individual values, which are put onto the stack "
"right-to-left."
msgstr ""
#: ../Doc/library/dis.rst:768
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 ""
#: ../Doc/library/dis.rst:773
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 ""
#: ../Doc/library/dis.rst:780
msgid ""
"Implements ``TOS.name = TOS1``, where *namei* is the index of name in :attr:"
"`co_names`."
msgstr ""
#: ../Doc/library/dis.rst:786
msgid ""
"Implements ``del TOS.name``, using *namei* as index into :attr:`co_names`."
msgstr ""
#: ../Doc/library/dis.rst:791
msgid "Works as :opcode:`STORE_NAME`, but stores the name as a global."
msgstr ""
#: ../Doc/library/dis.rst:796
msgid "Works as :opcode:`DELETE_NAME`, but deletes a global name."
msgstr ""
#: ../Doc/library/dis.rst:801
msgid "Pushes ``co_consts[consti]`` onto the stack."
msgstr ""
#: ../Doc/library/dis.rst:806
msgid "Pushes the value associated with ``co_names[namei]`` onto the stack."
msgstr ""
#: ../Doc/library/dis.rst:811
msgid ""
"Creates a tuple consuming *count* items from the stack, and pushes the "
"resulting tuple onto the stack."
msgstr ""
#: ../Doc/library/dis.rst:817
msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list."
msgstr ""
#: ../Doc/library/dis.rst:822
msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set."
msgstr ""
#: ../Doc/library/dis.rst:827
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 ""
#: ../Doc/library/dis.rst:831
msgid ""
"The dictionary is created from stack items instead of creating an empty "
"dictionary pre-sized to hold *count* items."
msgstr ""
#: ../Doc/library/dis.rst:838
msgid ""
"The version of :opcode:`BUILD_MAP` specialized for constant keys. *count* "
"values are consumed from the stack. The top element on the stack contains a "
"tuple of keys."
msgstr ""
#: ../Doc/library/dis.rst:847
msgid ""
"Concatenates *count* strings from the stack and pushes the resulting string "
"onto the stack."
msgstr ""
#: ../Doc/library/dis.rst:855
msgid ""
"Pops *count* iterables from the stack, joins them in a single tuple, and "
"pushes the result. Implements iterable unpacking in tuple displays ``(*x, "
"*y, *z)``."
msgstr ""
#: ../Doc/library/dis.rst:864
msgid ""
"This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but is used for ``f(*x, *y, "
"*z)`` call syntax. The stack item at position ``count + 1`` should be the "
"corresponding callable ``f``."
msgstr ""
#: ../Doc/library/dis.rst:873
msgid ""
"This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but pushes a list instead "
"of tuple. Implements iterable unpacking in list displays ``[*x, *y, *z]``."
msgstr ""
#: ../Doc/library/dis.rst:882
msgid ""
"This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but pushes a set instead of "
"tuple. Implements iterable unpacking in set displays ``{*x, *y, *z}``."
msgstr ""
#: ../Doc/library/dis.rst:891
msgid ""
"Pops *count* mappings from the stack, merges them into a single dictionary, "
"and pushes the result. Implements dictionary unpacking in dictionary "
"displays ``{**x, **y, **z}``."
msgstr ""
#: ../Doc/library/dis.rst:900
msgid ""
"This is similar to :opcode:`BUILD_MAP_UNPACK`, but is used for ``f(**x, **y, "
"**z)`` call syntax. The stack item at position ``count + 2`` should be the "
"corresponding callable ``f``."
msgstr ""
#: ../Doc/library/dis.rst:905
msgid ""
"The position of the callable is determined by adding 2 to the opcode "
"argument instead of encoding it in the second byte of the argument."
msgstr ""
#: ../Doc/library/dis.rst:912
msgid "Replaces TOS with ``getattr(TOS, co_names[namei])``."
msgstr ""
#: ../Doc/library/dis.rst:917
msgid ""
"Performs a Boolean operation. The operation name can be found in "
"``cmp_op[opname]``."
msgstr ""
#: ../Doc/library/dis.rst:923
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 ""
#: ../Doc/library/dis.rst:932
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 ""
#: ../Doc/library/dis.rst:939
msgid "Increments bytecode counter by *delta*."
msgstr ""
#: ../Doc/library/dis.rst:944
msgid "If TOS is true, sets the bytecode counter to *target*. TOS is popped."
msgstr ""
#: ../Doc/library/dis.rst:951
msgid "If TOS is false, sets the bytecode counter to *target*. TOS is popped."
msgstr ""
#: ../Doc/library/dis.rst:958
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 ""
#: ../Doc/library/dis.rst:966
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 ""
#: ../Doc/library/dis.rst:974
msgid "Set bytecode counter to *target*."
msgstr ""
#: ../Doc/library/dis.rst:979
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 ""
#: ../Doc/library/dis.rst:987
msgid "Loads the global named ``co_names[namei]`` onto the stack."
msgstr ""
#: ../Doc/library/dis.rst:992
msgid ""
"Pushes a block for a loop onto the block stack. The block spans from the "
"current instruction with a size of *delta* bytes."
msgstr ""
#: ../Doc/library/dis.rst:998
msgid ""
"Pushes a try block from a try-except clause onto the block stack. *delta* "
"points to the first except block."
msgstr ""
#: ../Doc/library/dis.rst:1004
msgid ""
"Pushes a try block from a try-except clause onto the block stack. *delta* "
"points to the finally block."
msgstr ""
#: ../Doc/library/dis.rst:1010
msgid ""
"Pushes a reference to the local ``co_varnames[var_num]`` onto the stack."
msgstr ""
#: ../Doc/library/dis.rst:1015
msgid "Stores TOS into the local ``co_varnames[var_num]``."
msgstr ""
#: ../Doc/library/dis.rst:1020
msgid "Deletes local ``co_varnames[var_num]``."
msgstr ""
#: ../Doc/library/dis.rst:1025
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 ""
#: ../Doc/library/dis.rst:1033
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 ""
#: ../Doc/library/dis.rst:1039
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 ""
#: ../Doc/library/dis.rst:1048
msgid ""
"Stores TOS into the cell contained in slot *i* of the cell and free variable "
"storage."
msgstr ""
#: ../Doc/library/dis.rst:1054
msgid ""
"Empties the cell contained in slot *i* of the cell and free variable "
"storage. Used by the :keyword:`del` statement."
msgstr ""
#: ../Doc/library/dis.rst:1062
msgid ""
"Raises an exception using one of the 3 forms of the ``raise`` statement, "
"depending on the value of *argc*:"
msgstr ""
#: ../Doc/library/dis.rst:1065
msgid "0: ``raise`` (re-raise previous exception)"
msgstr ""
#: ../Doc/library/dis.rst:1066
msgid "1: ``raise TOS`` (raise exception instance or type at ``TOS``)"
msgstr ""
#: ../Doc/library/dis.rst:1067
msgid ""
"2: ``raise TOS1 from TOS`` (raise exception instance or type at ``TOS1`` "
"with ``__cause__`` set to ``TOS``)"
msgstr ""
#: ../Doc/library/dis.rst:1073
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 ""
#: ../Doc/library/dis.rst:1081
msgid "This opcode is used only for calls with positional arguments."
msgstr ""
#: ../Doc/library/dis.rst:1087
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 of keyword argument names. Below "
"that are 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 ""
#: ../Doc/library/dis.rst:1097
msgid ""
"Keyword arguments are packed in a tuple instead of a dictionary, *argc* "
"indicates the total number of arguments."
msgstr ""
#: ../Doc/library/dis.rst:1104
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. Below "
"that is an iterable object containing positional arguments and a callable "
"object to call. :opcode:`BUILD_MAP_UNPACK_WITH_CALL` and :opcode:"
"`BUILD_TUPLE_UNPACK_WITH_CALL` can be used for merging multiple mapping "
"objects and iterables containing 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 ""
#: ../Doc/library/dis.rst:1123
msgid ""
"Loads a method named ``co_names[namei]`` from TOS object. TOS is popped and "
"method and TOS are pushed when interpreter can call unbound method directly. "
"TOS will be used as the first argument (``self``) by :opcode:`CALL_METHOD`. "
"Otherwise, ``NULL`` and method is pushed (method is bound method or "
"something else)."
msgstr ""
#: ../Doc/library/dis.rst:1134
msgid ""
"Calls a method. *argc* is 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, "
"two items described in :opcode:`LOAD_METHOD` on the stack. All of them are "
"popped and return value is pushed."
msgstr ""
#: ../Doc/library/dis.rst:1145
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 ""
#: ../Doc/library/dis.rst:1148
msgid ""
"``0x01`` a tuple of default values for positional-only and positional-or-"
"keyword parameters in positional order"
msgstr ""
#: ../Doc/library/dis.rst:1150
msgid "``0x02`` a dictionary of keyword-only parameters' default values"
msgstr ""
#: ../Doc/library/dis.rst:1151
msgid "``0x04`` an annotation dictionary"
msgstr ""
#: ../Doc/library/dis.rst:1152
msgid "``0x08`` a tuple containing cells for free variables, making a closure"
msgstr ""
#: ../Doc/library/dis.rst:1153
msgid "the code associated with the function (at TOS1)"
msgstr ""
#: ../Doc/library/dis.rst:1154
msgid "the :term:`qualified name` of the function (at TOS)"
msgstr ""
#: ../Doc/library/dis.rst:1161
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 ""
#: ../Doc/library/dis.rst:1168
msgid ""
"Prefixes any opcode which has an argument too big to fit into the default "
"two bytes. *ext* holds two additional bytes which, taken together with the "
"subsequent opcode's argument, comprise a four-byte argument, *ext* being the "
"two most-significant bytes."
msgstr ""
#: ../Doc/library/dis.rst:1176
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 ""
#: ../Doc/library/dis.rst:1180
msgid "``(flags & 0x03) == 0x00``: *value* is formatted as-is."
msgstr ""
#: ../Doc/library/dis.rst:1181
msgid ""
"``(flags & 0x03) == 0x01``: call :func:`str` on *value* before formatting it."
msgstr ""
#: ../Doc/library/dis.rst:1183
msgid ""
"``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before formatting "
"it."
msgstr ""
#: ../Doc/library/dis.rst:1185
msgid ""
"``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before formatting "
"it."
msgstr ""
#: ../Doc/library/dis.rst:1187
msgid ""
"``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use it, else "
"use an empty *fmt_spec*."
msgstr ""
#: ../Doc/library/dis.rst:1190
msgid ""
"Formatting is performed using :c:func:`PyObject_Format`. The result is "
"pushed on the stack."
msgstr ""
#: ../Doc/library/dis.rst:1198
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 ""
#: ../Doc/library/dis.rst:1202
msgid ""
"Now every instruction has an argument, but opcodes ``< HAVE_ARGUMENT`` "
"ignore it. Before, only opcodes ``>= HAVE_ARGUMENT`` had an argument."
msgstr ""
#: ../Doc/library/dis.rst:1210
msgid "Opcode collections"
msgstr ""
#: ../Doc/library/dis.rst:1212
msgid ""
"These collections are provided for automatic introspection of bytecode "
"instructions:"
msgstr ""
#: ../Doc/library/dis.rst:1217
msgid "Sequence of operation names, indexable using the bytecode."
msgstr ""
#: ../Doc/library/dis.rst:1222
msgid "Dictionary mapping operation names to bytecodes."
msgstr ""
#: ../Doc/library/dis.rst:1227
msgid "Sequence of all compare operation names."
msgstr ""
#: ../Doc/library/dis.rst:1232
msgid "Sequence of bytecodes that access a constant."
msgstr ""
#: ../Doc/library/dis.rst:1237
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 ""
#: ../Doc/library/dis.rst:1245
msgid "Sequence of bytecodes that access an attribute by name."
msgstr ""
#: ../Doc/library/dis.rst:1250
msgid "Sequence of bytecodes that have a relative jump target."
msgstr ""
#: ../Doc/library/dis.rst:1255
msgid "Sequence of bytecodes that have an absolute jump target."
msgstr ""
#: ../Doc/library/dis.rst:1260
msgid "Sequence of bytecodes that access a local variable."
msgstr ""
#: ../Doc/library/dis.rst:1265
msgid "Sequence of bytecodes of Boolean operations."
msgstr ""