# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-06-28 15:29+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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 couroutine, 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 ` " "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. *argc* indicates the number of parameters to the raise " "statement, ranging from 0 to 3. The handler will find the traceback as " "TOS2, the parameter as TOS1, and the exception as TOS." msgstr "" #: ../Doc/library/dis.rst:1069 msgid "" "Calls a function. *argc* indicates the number of positional arguments. The " "positional arguments are on the stack, with the right-most argument on top. " "Below the arguments, the function object to call is on the stack. Pops all " "function arguments, and the function itself off the stack, and pushes the " "return value." msgstr "" #: ../Doc/library/dis.rst:1075 msgid "This opcode is used only for calls with positional arguments." msgstr "" #: ../Doc/library/dis.rst:1081 msgid "" "Calls a function. *argc* indicates the number of arguments (positional and " "keyword). The top element on the stack contains a tuple of keyword argument " "names. Below the tuple, keyword arguments are on the stack, in the order " "corresponding to the tuple. Below the keyword arguments, the positional " "arguments are on the stack, with the right-most parameter on top. Below the " "arguments, the function object to call is on the stack. Pops all function " "arguments, and the function itself off the stack, and pushes the return " "value." msgstr "" #: ../Doc/library/dis.rst:1090 msgid "" "Keyword arguments are packed in a tuple instead of a dictionary, *argc* " "indicates the total number of arguments" msgstr "" #: ../Doc/library/dis.rst:1097 msgid "" "Calls a function. The lowest bit of *flags* indicates whether the var-" "keyword argument is placed at the top of the stack. Below the var-keyword " "argument, the var-positional argument is on the stack. Below the arguments, " "the function object to call is placed. Pops all function arguments, and the " "function itself off the stack, and pushes the return value. Note that this " "opcode pops at most three items from the stack. Var-positional and var-" "keyword arguments are packed by :opcode:`BUILD_TUPLE_UNPACK_WITH_CALL` and :" "opcode:`BUILD_MAP_UNPACK_WITH_CALL`." msgstr "" #: ../Doc/library/dis.rst:1112 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:1123 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:1134 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:1137 msgid "``0x01`` a tuple of default argument objects in positional order" msgstr "" #: ../Doc/library/dis.rst:1138 msgid "``0x02`` a dictionary of keyword-only parameters' default values" msgstr "" #: ../Doc/library/dis.rst:1139 msgid "``0x04`` an annotation dictionary" msgstr "" #: ../Doc/library/dis.rst:1140 msgid "``0x08`` a tuple containing cells for free variables, making a closure" msgstr "" #: ../Doc/library/dis.rst:1141 msgid "the code associated with the function (at TOS1)" msgstr "" #: ../Doc/library/dis.rst:1142 msgid "the :term:`qualified name` of the function (at TOS)" msgstr "" #: ../Doc/library/dis.rst:1149 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:1156 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:1164 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:1168 msgid "``(flags & 0x03) == 0x00``: *value* is formatted as-is." msgstr "" #: ../Doc/library/dis.rst:1169 msgid "" "``(flags & 0x03) == 0x01``: call :func:`str` on *value* before formatting it." msgstr "" #: ../Doc/library/dis.rst:1171 msgid "" "``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before formatting " "it." msgstr "" #: ../Doc/library/dis.rst:1173 msgid "" "``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before formatting " "it." msgstr "" #: ../Doc/library/dis.rst:1175 msgid "" "``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use it, else " "use an empty *fmt_spec*." msgstr "" #: ../Doc/library/dis.rst:1178 msgid "" "Formatting is performed using :c:func:`PyObject_Format`. The result is " "pushed on the stack." msgstr "" #: ../Doc/library/dis.rst:1186 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:1190 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:1198 msgid "Opcode collections" msgstr "" #: ../Doc/library/dis.rst:1200 msgid "" "These collections are provided for automatic introspection of bytecode " "instructions:" msgstr "" #: ../Doc/library/dis.rst:1205 msgid "Sequence of operation names, indexable using the bytecode." msgstr "" #: ../Doc/library/dis.rst:1210 msgid "Dictionary mapping operation names to bytecodes." msgstr "" #: ../Doc/library/dis.rst:1215 msgid "Sequence of all compare operation names." msgstr "" #: ../Doc/library/dis.rst:1220 msgid "Sequence of bytecodes that have a constant parameter." msgstr "" #: ../Doc/library/dis.rst:1225 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:1233 msgid "Sequence of bytecodes that access an attribute by name." msgstr "" #: ../Doc/library/dis.rst:1238 msgid "Sequence of bytecodes that have a relative jump target." msgstr "" #: ../Doc/library/dis.rst:1243 msgid "Sequence of bytecodes that have an absolute jump target." msgstr "" #: ../Doc/library/dis.rst:1248 msgid "Sequence of bytecodes that access a local variable." msgstr "" #: ../Doc/library/dis.rst:1253 msgid "Sequence of bytecodes of Boolean operations." msgstr ""