# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2016, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-10-30 10:42+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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:24 msgid "Example: Given the function :func:`myfunc`::" msgstr "" #: ../Doc/library/dis.rst:29 msgid "" "the following command can be used to display the disassembly of :func:" "`myfunc`::" msgstr "" #: ../Doc/library/dis.rst:38 msgid "(The \"2\" is a line number)." msgstr "" #: ../Doc/library/dis.rst:41 msgid "Bytecode analysis" msgstr "" #: ../Doc/library/dis.rst:45 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:52 msgid "" "Analyse the bytecode corresponding to a function, generator, method, string " "of source code, or a code object (as returned by :func:`compile`)." msgstr "" #: ../Doc/library/dis.rst:55 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:59 ../Doc/library/dis.rst:200 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:64 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:70 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:75 msgid "The compiled code object." msgstr "" #: ../Doc/library/dis.rst:79 msgid "The first source line of the code object (if available)" msgstr "" #: ../Doc/library/dis.rst:83 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:88 msgid "" "Return a formatted multi-line string with detailed information about the " "code object, like :func:`code_info`." msgstr "" #: ../Doc/library/dis.rst:91 msgid "Example::" msgstr "Exemple ::" #: ../Doc/library/dis.rst:104 msgid "Analysis functions" msgstr "" #: ../Doc/library/dis.rst:106 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:112 msgid "" "Return a formatted multi-line string with detailed code object information " "for the supplied function, generator, method, source code string or code " "object." msgstr "" #: ../Doc/library/dis.rst:115 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:124 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:128 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:133 ../Doc/library/dis.rst:151 #: ../Doc/library/dis.rst:164 ../Doc/library/dis.rst:188 msgid "Added *file* parameter." msgstr "" #: ../Doc/library/dis.rst:139 msgid "" "Disassemble the *x* object. *x* can denote either a module, a class, a " "method, a function, a generator, 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. 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:148 ../Doc/library/dis.rst:161 #: ../Doc/library/dis.rst:185 msgid "" "The disassembly is written as text to the supplied *file* argument if " "provided and to ``sys.stdout`` otherwise." msgstr "" #: ../Doc/library/dis.rst:157 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:171 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:174 msgid "the line number, for the first instruction of each line" msgstr "" #: ../Doc/library/dis.rst:175 msgid "the current instruction, indicated as ``-->``," msgstr "" #: ../Doc/library/dis.rst:176 msgid "a labelled instruction, indicated with ``>>``," msgstr "" #: ../Doc/library/dis.rst:177 msgid "the address of the instruction," msgstr "" #: ../Doc/library/dis.rst:178 msgid "the operation code name," msgstr "" #: ../Doc/library/dis.rst:179 msgid "operation parameters, and" msgstr "" #: ../Doc/library/dis.rst:180 msgid "interpretation of the parameters in parentheses." msgstr "" #: ../Doc/library/dis.rst:182 msgid "" "The parameter interpretation recognizes local and global variable names, " "constant values, branch targets, and compare operators." msgstr "" #: ../Doc/library/dis.rst:194 msgid "" "Return an iterator over the instructions in the supplied function, method, " "source code string or code object." msgstr "" #: ../Doc/library/dis.rst:197 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:210 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." msgstr "" #: ../Doc/library/dis.rst:217 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:223 msgid "Compute the stack effect of *opcode* with argument *oparg*." msgstr "" #: ../Doc/library/dis.rst:230 msgid "Python Bytecode Instructions" msgstr "" #: ../Doc/library/dis.rst:232 msgid "" "The :func:`get_instructions` function and :class:`Bytecode` class provide " "details of bytecode instructions as :class:`Instruction` instances:" msgstr "" #: ../Doc/library/dis.rst:237 msgid "Details for a bytecode operation" msgstr "" #: ../Doc/library/dis.rst:241 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:247 msgid "human readable name for operation" msgstr "" #: ../Doc/library/dis.rst:252 msgid "numeric argument to operation (if any), otherwise ``None``" msgstr "" #: ../Doc/library/dis.rst:257 msgid "resolved arg value (if known), otherwise same as arg" msgstr "" #: ../Doc/library/dis.rst:262 msgid "human readable description of operation argument" msgstr "" #: ../Doc/library/dis.rst:267 msgid "start index of operation within bytecode sequence" msgstr "" #: ../Doc/library/dis.rst:272 msgid "line started by this opcode (if any), otherwise ``None``" msgstr "" #: ../Doc/library/dis.rst:277 msgid "``True`` if other code jumps to here, otherwise ``False``" msgstr "" #: ../Doc/library/dis.rst:282 msgid "" "The Python compiler currently generates the following bytecode instructions." msgstr "" #: ../Doc/library/dis.rst:285 msgid "**General instructions**" msgstr "" #: ../Doc/library/dis.rst:289 msgid "Do nothing code. Used as a placeholder by the bytecode optimizer." msgstr "" #: ../Doc/library/dis.rst:294 msgid "Removes the top-of-stack (TOS) item." msgstr "" #: ../Doc/library/dis.rst:299 msgid "Swaps the two top-most stack items." msgstr "" #: ../Doc/library/dis.rst:304 msgid "" "Lifts second and third stack item one position up, moves top down to " "position three." msgstr "" #: ../Doc/library/dis.rst:310 msgid "Duplicates the reference on top of the stack." msgstr "" #: ../Doc/library/dis.rst:315 msgid "" "Duplicates the two references on top of the stack, leaving them in the same " "order." msgstr "" #: ../Doc/library/dis.rst:319 msgid "**Unary operations**" msgstr "" #: ../Doc/library/dis.rst:321 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:326 msgid "Implements ``TOS = +TOS``." msgstr "" #: ../Doc/library/dis.rst:331 msgid "Implements ``TOS = -TOS``." msgstr "" #: ../Doc/library/dis.rst:336 msgid "Implements ``TOS = not TOS``." msgstr "" #: ../Doc/library/dis.rst:341 msgid "Implements ``TOS = ~TOS``." msgstr "" #: ../Doc/library/dis.rst:346 msgid "Implements ``TOS = iter(TOS)``." msgstr "" #: ../Doc/library/dis.rst:351 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:357 msgid "**Binary operations**" msgstr "" #: ../Doc/library/dis.rst:359 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:365 msgid "Implements ``TOS = TOS1 ** TOS``." msgstr "" #: ../Doc/library/dis.rst:370 msgid "Implements ``TOS = TOS1 * TOS``." msgstr "" #: ../Doc/library/dis.rst:375 msgid "Implements ``TOS = TOS1 @ TOS``." msgstr "" #: ../Doc/library/dis.rst:382 msgid "Implements ``TOS = TOS1 // TOS``." msgstr "" #: ../Doc/library/dis.rst:387 msgid "Implements ``TOS = TOS1 / TOS``." msgstr "" #: ../Doc/library/dis.rst:392 msgid "Implements ``TOS = TOS1 % TOS``." msgstr "" #: ../Doc/library/dis.rst:397 msgid "Implements ``TOS = TOS1 + TOS``." msgstr "" #: ../Doc/library/dis.rst:402 msgid "Implements ``TOS = TOS1 - TOS``." msgstr "" #: ../Doc/library/dis.rst:407 msgid "Implements ``TOS = TOS1[TOS]``." msgstr "" #: ../Doc/library/dis.rst:412 msgid "Implements ``TOS = TOS1 << TOS``." msgstr "" #: ../Doc/library/dis.rst:417 msgid "Implements ``TOS = TOS1 >> TOS``." msgstr "" #: ../Doc/library/dis.rst:422 msgid "Implements ``TOS = TOS1 & TOS``." msgstr "" #: ../Doc/library/dis.rst:427 msgid "Implements ``TOS = TOS1 ^ TOS``." msgstr "" #: ../Doc/library/dis.rst:432 msgid "Implements ``TOS = TOS1 | TOS``." msgstr "" #: ../Doc/library/dis.rst:435 msgid "**In-place operations**" msgstr "" #: ../Doc/library/dis.rst:437 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:444 msgid "Implements in-place ``TOS = TOS1 ** TOS``." msgstr "" #: ../Doc/library/dis.rst:449 msgid "Implements in-place ``TOS = TOS1 * TOS``." msgstr "" #: ../Doc/library/dis.rst:454 msgid "Implements in-place ``TOS = TOS1 @ TOS``." msgstr "" #: ../Doc/library/dis.rst:461 msgid "Implements in-place ``TOS = TOS1 // TOS``." msgstr "" #: ../Doc/library/dis.rst:466 msgid "Implements in-place ``TOS = TOS1 / TOS``." msgstr "" #: ../Doc/library/dis.rst:471 msgid "Implements in-place ``TOS = TOS1 % TOS``." msgstr "" #: ../Doc/library/dis.rst:476 msgid "Implements in-place ``TOS = TOS1 + TOS``." msgstr "" #: ../Doc/library/dis.rst:481 msgid "Implements in-place ``TOS = TOS1 - TOS``." msgstr "" #: ../Doc/library/dis.rst:486 msgid "Implements in-place ``TOS = TOS1 << TOS``." msgstr "" #: ../Doc/library/dis.rst:491 msgid "Implements in-place ``TOS = TOS1 >> TOS``." msgstr "" #: ../Doc/library/dis.rst:496 msgid "Implements in-place ``TOS = TOS1 & TOS``." msgstr "" #: ../Doc/library/dis.rst:501 msgid "Implements in-place ``TOS = TOS1 ^ TOS``." msgstr "" #: ../Doc/library/dis.rst:506 msgid "Implements in-place ``TOS = TOS1 | TOS``." msgstr "" #: ../Doc/library/dis.rst:511 msgid "Implements ``TOS1[TOS] = TOS2``." msgstr "" #: ../Doc/library/dis.rst:516 msgid "Implements ``del TOS1[TOS]``." msgstr "" #: ../Doc/library/dis.rst:519 msgid "**Coroutine opcodes**" msgstr "" #: ../Doc/library/dis.rst:523 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:531 msgid "" "Implements ``TOS = get_awaitable(TOS.__aiter__())``. See ``GET_AWAITABLE`` " "for details about ``get_awaitable``" msgstr "" #: ../Doc/library/dis.rst:537 msgid "" "Implements ``PUSH(get_awaitable(TOS.__anext__()))``. See ``GET_AWAITABLE`` " "for details about ``get_awaitable``" msgstr "" #: ../Doc/library/dis.rst:543 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:549 msgid "Creates a new frame object." msgstr "" #: ../Doc/library/dis.rst:553 msgid "**Miscellaneous opcodes**" msgstr "" #: ../Doc/library/dis.rst:557 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:564 msgid "Terminates a loop due to a :keyword:`break` statement." msgstr "" #: ../Doc/library/dis.rst:569 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:575 msgid "" "Calls ``set.add(TOS1[-i], TOS)``. Used to implement set comprehensions." msgstr "" #: ../Doc/library/dis.rst:580 msgid "" "Calls ``list.append(TOS[-i], TOS)``. Used to implement list comprehensions." msgstr "" #: ../Doc/library/dis.rst:585 msgid "" "Calls ``dict.setitem(TOS1[-i], TOS, TOS1)``. Used to implement dict " "comprehensions." msgstr "" #: ../Doc/library/dis.rst:588 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:596 msgid "Returns with TOS to the caller of the function." msgstr "" #: ../Doc/library/dis.rst:601 msgid "Pops TOS and yields it from a :term:`generator`." msgstr "" #: ../Doc/library/dis.rst:606 msgid "Pops TOS and delegates to it as a subiterator from a :term:`generator`." msgstr "" #: ../Doc/library/dis.rst:613 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:620 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:626 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:634 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:641 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:647 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:659 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:663 msgid "SECOND = ``None``" msgstr "" #: ../Doc/library/dis.rst:664 msgid "(SECOND, THIRD) = (``WHY_{RETURN,CONTINUE}``), retval" msgstr "" #: ../Doc/library/dis.rst:665 msgid "SECOND = ``WHY_*``; no retval below it" msgstr "" #: ../Doc/library/dis.rst:666 msgid "(SECOND, THIRD, FOURTH) = exc_info()" msgstr "" #: ../Doc/library/dis.rst:668 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:675 msgid "Pops exception type and result of 'exit' function call from the stack." msgstr "" #: ../Doc/library/dis.rst:677 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:685 msgid "" "All of the following opcodes expect arguments. An argument is two bytes, " "with the more significant byte last." msgstr "" #: ../Doc/library/dis.rst:690 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:697 msgid "" "Implements ``del name``, where *namei* is the index into :attr:`co_names` " "attribute of the code object." msgstr "" #: ../Doc/library/dis.rst:703 msgid "" "Unpacks TOS into *count* individual values, which are put onto the stack " "right-to-left." msgstr "" #: ../Doc/library/dis.rst:709 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:714 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:721 msgid "" "Implements ``TOS.name = TOS1``, where *namei* is the index of name in :attr:" "`co_names`." msgstr "" #: ../Doc/library/dis.rst:727 msgid "" "Implements ``del TOS.name``, using *namei* as index into :attr:`co_names`." msgstr "" #: ../Doc/library/dis.rst:732 msgid "Works as :opcode:`STORE_NAME`, but stores the name as a global." msgstr "" #: ../Doc/library/dis.rst:737 msgid "Works as :opcode:`DELETE_NAME`, but deletes a global name." msgstr "" #: ../Doc/library/dis.rst:742 msgid "Pushes ``co_consts[consti]`` onto the stack." msgstr "" #: ../Doc/library/dis.rst:747 msgid "Pushes the value associated with ``co_names[namei]`` onto the stack." msgstr "" #: ../Doc/library/dis.rst:752 msgid "" "Creates a tuple consuming *count* items from the stack, and pushes the " "resulting tuple onto the stack." msgstr "" #: ../Doc/library/dis.rst:758 msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list." msgstr "" #: ../Doc/library/dis.rst:763 msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set." msgstr "" #: ../Doc/library/dis.rst:768 msgid "" "Pushes a new dictionary object onto the stack. The dictionary is pre-sized " "to hold *count* entries." msgstr "" #: ../Doc/library/dis.rst:774 msgid "Replaces TOS with ``getattr(TOS, co_names[namei])``." msgstr "" #: ../Doc/library/dis.rst:779 msgid "" "Performs a Boolean operation. The operation name can be found in " "``cmp_op[opname]``." msgstr "" #: ../Doc/library/dis.rst:785 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:794 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:801 msgid "Increments bytecode counter by *delta*." msgstr "" #: ../Doc/library/dis.rst:806 msgid "If TOS is true, sets the bytecode counter to *target*. TOS is popped." msgstr "" #: ../Doc/library/dis.rst:811 msgid "If TOS is false, sets the bytecode counter to *target*. TOS is popped." msgstr "" #: ../Doc/library/dis.rst:816 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:822 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:828 msgid "Set bytecode counter to *target*." msgstr "" #: ../Doc/library/dis.rst:833 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:841 msgid "Loads the global named ``co_names[namei]`` onto the stack." msgstr "" #: ../Doc/library/dis.rst:846 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:852 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:858 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:864 msgid "" "Pushes a reference to the local ``co_varnames[var_num]`` onto the stack." msgstr "" #: ../Doc/library/dis.rst:869 msgid "Stores TOS into the local ``co_varnames[var_num]``." msgstr "" #: ../Doc/library/dis.rst:874 msgid "Deletes local ``co_varnames[var_num]``." msgstr "" #: ../Doc/library/dis.rst:879 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:887 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:893 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:900 msgid "" "Stores TOS into the cell contained in slot *i* of the cell and free variable " "storage." msgstr "" #: ../Doc/library/dis.rst:906 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:912 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:919 msgid "" "Calls a function. The low byte of *argc* indicates the number of positional " "parameters, the high byte the number of keyword parameters. On the stack, " "the opcode finds the keyword parameters first. For each keyword argument, " "the value is on top of the key. Below the keyword parameters, the " "positional parameters are on the stack, with the right-most parameter on " "top. Below the parameters, 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:931 msgid "" "Pushes a new function object on the stack. From bottom to top, the consumed " "stack must consist of" msgstr "" #: ../Doc/library/dis.rst:934 msgid "``argc & 0xFF`` default argument objects in positional order" msgstr "" #: ../Doc/library/dis.rst:935 msgid "" "``(argc >> 8) & 0xFF`` pairs of name and default argument, with the name " "just below the object on the stack, for keyword-only parameters" msgstr "" #: ../Doc/library/dis.rst:937 msgid "``(argc >> 16) & 0x7FFF`` parameter annotation objects" msgstr "" #: ../Doc/library/dis.rst:938 msgid "" "a tuple listing the parameter names for the annotations (only if there are " "ony annotation objects)" msgstr "" #: ../Doc/library/dis.rst:940 msgid "the code associated with the function (at TOS1)" msgstr "" #: ../Doc/library/dis.rst:941 msgid "the :term:`qualified name` of the function (at TOS)" msgstr "" #: ../Doc/library/dis.rst:946 msgid "" "Creates a new function object, sets its *__closure__* slot, and pushes it on " "the stack. TOS is the :term:`qualified name` of the function, TOS1 is the " "code associated with the function, and TOS2 is the tuple containing cells " "for the closure's free variables. *argc* is interpreted as in " "``MAKE_FUNCTION``; the annotations and defaults are also in the same order " "below TOS2." msgstr "" #: ../Doc/library/dis.rst:957 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:964 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:972 msgid "" "Calls a function. *argc* is interpreted as in :opcode:`CALL_FUNCTION`. The " "top element on the stack contains the variable argument list, followed by " "keyword and positional arguments." msgstr "" #: ../Doc/library/dis.rst:979 msgid "" "Calls a function. *argc* is interpreted as in :opcode:`CALL_FUNCTION`. The " "top element on the stack contains the keyword arguments dictionary, followed " "by explicit keyword and positional arguments." msgstr "" #: ../Doc/library/dis.rst:986 msgid "" "Calls a function. *argc* is interpreted as in :opcode:`CALL_FUNCTION`. The " "top element on the stack contains the keyword arguments dictionary, followed " "by the variable-arguments tuple, followed by explicit keyword and positional " "arguments." msgstr "" #: ../Doc/library/dis.rst:994 msgid "" "This is not really an opcode. It identifies the dividing line between " "opcodes which don't take arguments ``< HAVE_ARGUMENT`` and those which do " "``>= HAVE_ARGUMENT``." msgstr "" #: ../Doc/library/dis.rst:1001 msgid "Opcode collections" msgstr "" #: ../Doc/library/dis.rst:1003 msgid "" "These collections are provided for automatic introspection of bytecode " "instructions:" msgstr "" #: ../Doc/library/dis.rst:1008 msgid "Sequence of operation names, indexable using the bytecode." msgstr "" #: ../Doc/library/dis.rst:1013 msgid "Dictionary mapping operation names to bytecodes." msgstr "" #: ../Doc/library/dis.rst:1018 msgid "Sequence of all compare operation names." msgstr "" #: ../Doc/library/dis.rst:1023 msgid "Sequence of bytecodes that have a constant parameter." msgstr "" #: ../Doc/library/dis.rst:1028 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:1036 msgid "Sequence of bytecodes that access an attribute by name." msgstr "" #: ../Doc/library/dis.rst:1041 msgid "Sequence of bytecodes that have a relative jump target." msgstr "" #: ../Doc/library/dis.rst:1046 msgid "Sequence of bytecodes that have an absolute jump target." msgstr "" #: ../Doc/library/dis.rst:1051 msgid "Sequence of bytecodes that access a local variable." msgstr "" #: ../Doc/library/dis.rst:1056 msgid "Sequence of bytecodes of Boolean operations." msgstr ""