-
-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathdis.po
1441 lines (1202 loc) · 59.1 KB
/
dis.po
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2020, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# E. Kawashima, 2017
# Inada Naoki <[email protected]>, 2017
# 秘湯 <[email protected]>, 2017
# Arihiro TAKASE, 2017
# 吉田 達矢 <[email protected]>, 2018
# tomo, 2019
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-13 03:04+0000\n"
"PO-Revision-Date: 2017-02-16 23:06+0000\n"
"Last-Translator: tomo, 2019\n"
"Language-Team: Japanese (https://www.transifex.com/python-doc/teams/5390/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../library/dis.rst:2
msgid ":mod:`dis` --- Disassembler for Python bytecode"
msgstr ":mod:`dis` --- Python バイトコードの逆アセンブラ"
#: ../../library/dis.rst:7
msgid "**Source code:** :source:`Lib/dis.py`"
msgstr "**ソースコード:** :source:`Lib/dis.py`"
#: ../../library/dis.rst:11
msgid ""
"The :mod:`dis` module supports the analysis of CPython :term:`bytecode` by "
"disassembling it. The CPython bytecode which this module takes as an input "
"is defined in the file :file:`Include/opcode.h` and used by the compiler and"
" the interpreter."
msgstr ""
":mod:`dis` モジュールは CPython :term:`バイトコード bytecode` "
"を逆アセンブルすることでバイトコードの解析をサポートします。 このモジュールが入力として受け取る CPython バイトコードはファイル "
":file:`Include/opcode.h` に定義されており、 コンパイラとインタプリタが使用しています。"
#: ../../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 ""
"バイトコードは CPython インタプリタの実装詳細です。Python "
"のバージョン間でバイトコードの追加や、削除、変更がないという保証はありません。このモジュールを使用することによって Python の異なる VM "
"または異なるリリースの間で動作すると考えるべきではありません。"
#: ../../library/dis.rst:23
msgid ""
"Use 2 bytes for each instruction. Previously the number of bytes varied by "
"instruction."
msgstr "従来は使用されるバイト数は命令ごとに異なりましたが、このモジュールでは各々一つの命令につき2バイト使用することとなっています。"
#: ../../library/dis.rst:28
msgid "Example: Given the function :func:`myfunc`::"
msgstr "例: 以下の関数 :func:`myfunc` を考えると"
#: ../../library/dis.rst:33
msgid ""
"the following command can be used to display the disassembly of "
":func:`myfunc`::"
msgstr ":func:`myfunc` の逆アセンブル結果を表示するために次のコマンドを使うことができます::"
#: ../../library/dis.rst:42
msgid "(The \"2\" is a line number)."
msgstr "(\"2\" は行番号です)。"
#: ../../library/dis.rst:45
msgid "Bytecode analysis"
msgstr "バイトコード解析"
#: ../../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 ""
"バイトコード解析の API を使うと、 Python のコード片を :class:`Bytecode` "
"オブジェクトでラップでき、コンパイルされたコードの細かいところに簡単にアクセスできます。"
#: ../../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 ""
#: ../../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 ""
"これは、下で並べられている関数の多くのものをまとめた便利なラッパーです。\n"
"とりわけ目立つのは :func:`get_instructions` で、 :class:`Bytecode` インスタンスに対し反復処理をしながら、バイトコード命令を :class:`Instruction` インスタンスとして返します。"
#: ../../library/dis.rst:64 ../../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 ""
"*first_line* が ``None`` でない場合は、それを逆アセンブルしたコードのソースの最初の行に表示する行番号とします。\n"
"そうでない場合は、ソースの行の情報 (もしあれば) を逆アセンブルされたコードオブジェクトから直接取得します。"
#: ../../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 ""
"*current_offset* が ``None`` でない場合は、逆アセンブルされたコードでのあるインストラクションのオフセット位置を示します。\n"
"これを設定すると、 :meth:`.dis` の出力において、指定された命令コード (opcode) に \"現在の命令 (instruction)\" を表す印が表示されます。"
#: ../../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 ""
"与えられたトレースバックから :class:`Bytecode` インスタンスを構築し、 *current_offset* "
"がその例外の原因となった命令となるよう設定します。"
#: ../../library/dis.rst:80
msgid "The compiled code object."
msgstr "コンパイルされたコードオブジェクト。"
#: ../../library/dis.rst:84
msgid "The first source line of the code object (if available)"
msgstr "コードオブジェクトのソースの最初の行 (利用可能であれば)"
#: ../../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 "バイトコード命令の整形された表示を返します (:func:`dis.dis` と同じ出力になりますが、複数行文字列として返されます)。"
#: ../../library/dis.rst:93
msgid ""
"Return a formatted multi-line string with detailed information about the "
"code object, like :func:`code_info`."
msgstr ":func:`code_info` のようなコードオブジェクトの詳細を含んだ整形された複数行文字列を返します。"
#: ../../library/dis.rst:96 ../../library/dis.rst:130
#: ../../library/dis.rst:176
msgid "This can now handle coroutine and asynchronous generator objects."
msgstr ""
#: ../../library/dis.rst:99
msgid "Example::"
msgstr "以下はプログラム例です::"
#: ../../library/dis.rst:112
msgid "Analysis functions"
msgstr "解析関数"
#: ../../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 ""
":mod:`dis` モジュールには、以下に挙げる入力を直接欲しい出力に変換する解析関数も定義してあります。\n"
"1つの命令だけが実行されている場合は、解析オブジェクトをいったん作るよりはこちらの方が便利です:"
#: ../../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 ""
#: ../../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 "この結果は実装に強く依存しており、Python VM や Python のバージョンによって異なることがあります。"
#: ../../library/dis.rst:136
msgid ""
"Print detailed code object information for the supplied function, method, "
"source code string or code object to *file* (or ``sys.stdout`` if *file* is "
"not specified)."
msgstr ""
"渡された関数、メソッド、ソースコード文字列、コードオブジェクトに対する、詳細なコードオブジェクトの情報を、*file* (または *file* "
"が指定されていなければ ``sys.stdout``) に表示します。"
#: ../../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 ""
"これは、インタラクティブシェル上で使うことを想定した、``print(code_info(x), file=file)`` の便利なショートカットです。"
#: ../../library/dis.rst:145 ../../library/dis.rst:170
#: ../../library/dis.rst:189 ../../library/dis.rst:213
msgid "Added *file* parameter."
msgstr "*file* 引数が追加されました。"
#: ../../library/dis.rst:151
msgid ""
"Disassemble the *x* object. *x* can denote either a module, a class, a "
"method, a function, a generator, an asynchronous generator, a coroutine, a "
"code object, a string of source code or a byte sequence of raw bytecode. For"
" a module, it disassembles all functions. For a class, it disassembles all "
"methods (including class and static methods). For a code object or sequence "
"of raw bytecode, it prints one line per bytecode instruction. It also "
"recursively disassembles nested code objects (the code of comprehensions, "
"generator expressions and nested functions, and the code used for building "
"nested classes). Strings are first compiled to code objects with the "
":func:`compile` built-in function before being disassembled. If no object "
"is provided, this function disassembles the last traceback."
msgstr ""
#: ../../library/dis.rst:164 ../../library/dis.rst:186
#: ../../library/dis.rst:210
msgid ""
"The disassembly is written as text to the supplied *file* argument if "
"provided and to ``sys.stdout`` otherwise."
msgstr ""
"*file* 引数が渡された場合は、アセンブリをそこに書き込みます。\n"
"そうでない場合は ``sys.stdout`` に出力します。"
#: ../../library/dis.rst:167
msgid ""
"The maximal depth of recursion is limited by *depth* unless it is ``None``. "
"``depth=0`` means no recursion."
msgstr ""
#: ../../library/dis.rst:173
msgid "Implemented recursive disassembling and added *depth* parameter."
msgstr ""
#: ../../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 ""
"トレースバックのスタックの先頭の関数を逆アセンブルします。Noneが渡された場合は最後のトレースバックを使います。例外を引き起こした命令が表示されます。"
#: ../../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 "コードオブジェクトを逆アセンブルします。*lasti* が与えられた場合は、最後の命令を示します。出力は次のようなカラムに分割されます:"
#: ../../library/dis.rst:199
msgid "the line number, for the first instruction of each line"
msgstr "各行の最初の命令に対する行番号。"
#: ../../library/dis.rst:200
msgid "the current instruction, indicated as ``-->``,"
msgstr "現在の命令。 ``-->`` として示されます。"
#: ../../library/dis.rst:201
msgid "a labelled instruction, indicated with ``>>``,"
msgstr "ラベル付けされた命令。 ``>>`` とともに表示されます。"
#: ../../library/dis.rst:202
msgid "the address of the instruction,"
msgstr "命令のアドレス。"
#: ../../library/dis.rst:203
msgid "the operation code name,"
msgstr "命令コード名。"
#: ../../library/dis.rst:204
msgid "operation parameters, and"
msgstr "命令パラメタ。"
#: ../../library/dis.rst:205
msgid "interpretation of the parameters in parentheses."
msgstr "パラメタの解釈を括弧で囲んだもの。"
#: ../../library/dis.rst:207
msgid ""
"The parameter interpretation recognizes local and global variable names, "
"constant values, branch targets, and compare operators."
msgstr "パラメタの解釈は、ローカル変数とグローバル変数の名前、定数の値、 分岐先、比較命令を認識します。"
#: ../../library/dis.rst:219
msgid ""
"Return an iterator over the instructions in the supplied function, method, "
"source code string or code object."
msgstr "渡された関数、メソッド、ソースコード文字列、コードオブジェクトにある命令のイテレータを返します。"
#: ../../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 ""
"イテレータは、与えられたコードの各命令の詳細情報を保持する名前付きタプル :class:`Instruction` からなる列を生成します。"
#: ../../library/dis.rst:235
msgid ""
"This generator function uses the ``co_firstlineno`` and ``co_lnotab`` "
"attributes of the code object *code* to find the offsets which are starts of"
" lines in the source code. They are generated as ``(offset, lineno)`` "
"pairs. See :source:`Objects/lnotab_notes.txt` for the ``co_lnotab`` format "
"and how to decode it."
msgstr ""
#: ../../library/dis.rst:241
msgid "Line numbers can be decreasing. Before, they were always increasing."
msgstr ""
#: ../../library/dis.rst:247
msgid ""
"Detect all offsets in the raw compiled bytecode string *code* which are jump"
" targets, and return a list of these offsets."
msgstr ""
#: ../../library/dis.rst:253
msgid "Compute the stack effect of *opcode* with argument *oparg*."
msgstr "*opcode* と引数 *oparg* がスタックに与える影響を計算します。"
#: ../../library/dis.rst:255
msgid ""
"If the code has a jump target and *jump* is ``True``, :func:`~stack_effect` "
"will return the stack effect of jumping. If *jump* is ``False``, it will "
"return the stack effect of not jumping. And if *jump* is ``None`` (default),"
" it will return the maximal stack effect of both cases."
msgstr ""
#: ../../library/dis.rst:262
msgid "Added *jump* parameter."
msgstr ""
#: ../../library/dis.rst:269
msgid "Python Bytecode Instructions"
msgstr "Python バイトコード命令"
#: ../../library/dis.rst:271
msgid ""
"The :func:`get_instructions` function and :class:`Bytecode` class provide "
"details of bytecode instructions as :class:`Instruction` instances:"
msgstr ""
":func:`get_instructions` 関数と :class:`Bytecode` クラスはバイトコード命令の詳細を "
":class:`Instruction` インスタンスの形で提供します:"
#: ../../library/dis.rst:276
msgid "Details for a bytecode operation"
msgstr "バイトコード命令の詳細"
#: ../../library/dis.rst:280
msgid ""
"numeric code for operation, corresponding to the opcode values listed below "
"and the bytecode values in the :ref:`opcode_collections`."
msgstr "以下の命令コードの値と :ref:`opcode_collections` のバイトコードの値に対応する、命令の数値コードです。"
#: ../../library/dis.rst:286
msgid "human readable name for operation"
msgstr "人間が読むための命令名"
#: ../../library/dis.rst:291
msgid "numeric argument to operation (if any), otherwise ``None``"
msgstr "(ある場合は) 命令の数値引数、無ければ ``None``"
#: ../../library/dis.rst:296
msgid "resolved arg value (if known), otherwise same as arg"
msgstr "(もし分かっていれば) 解決された引数の値、そうでない場合は arg と同じもの"
#: ../../library/dis.rst:301
msgid "human readable description of operation argument"
msgstr "人間が読むための命令引数の説明"
#: ../../library/dis.rst:306
msgid "start index of operation within bytecode sequence"
msgstr "バイトコード列の中での命令の開始位置"
#: ../../library/dis.rst:311
msgid "line started by this opcode (if any), otherwise ``None``"
msgstr "(ある場合は) この命令コードが始まる行、無ければ ``None``"
#: ../../library/dis.rst:316
msgid "``True`` if other code jumps to here, otherwise ``False``"
msgstr "他のコードからここへジャンプする場合は ``True`` 、そうでない場合は ``False``"
#: ../../library/dis.rst:321
msgid ""
"The Python compiler currently generates the following bytecode instructions."
msgstr "現在 Python コンパイラは次のバイトコード命令を生成します。"
#: ../../library/dis.rst:324
msgid "**General instructions**"
msgstr "**一般的な命令**"
#: ../../library/dis.rst:328
msgid "Do nothing code. Used as a placeholder by the bytecode optimizer."
msgstr "なにもしないコード。バイトコードオプティマイザでプレースホルダとして使われます。"
#: ../../library/dis.rst:333
msgid "Removes the top-of-stack (TOS) item."
msgstr "スタックの先頭 (TOS) の要素を取り除きます。"
#: ../../library/dis.rst:338
msgid "Swaps the two top-most stack items."
msgstr "スタックの先頭の 2 つの要素を入れ替えます。"
#: ../../library/dis.rst:343
msgid ""
"Lifts second and third stack item one position up, moves top down to "
"position three."
msgstr "スタックの二番目と三番目の要素の位置を 1 つ上げ、先頭を三番目へ下げます。"
#: ../../library/dis.rst:349
msgid ""
"Lifts second, third and forth stack items one position up, moves top down to"
" position four."
msgstr ""
#: ../../library/dis.rst:357
msgid "Duplicates the reference on top of the stack."
msgstr "スタックの先頭にある参照の複製を作ります。"
#: ../../library/dis.rst:364
msgid ""
"Duplicates the two references on top of the stack, leaving them in the same "
"order."
msgstr "スタックの先頭の2つの参照を、そのままの順番で複製します。"
#: ../../library/dis.rst:370
msgid "**Unary operations**"
msgstr "**1オペランド命令**"
#: ../../library/dis.rst:372
msgid ""
"Unary operations take the top of the stack, apply the operation, and push "
"the result back on the stack."
msgstr "1オペランド命令はスタックの先頭を取り出して操作を適用し、結果をスタックへプッシュし戻します。"
#: ../../library/dis.rst:377
msgid "Implements ``TOS = +TOS``."
msgstr "``TOS = +TOS`` を実行します。"
#: ../../library/dis.rst:382
msgid "Implements ``TOS = -TOS``."
msgstr "``TOS = -TOS`` を実行します。"
#: ../../library/dis.rst:387
msgid "Implements ``TOS = not TOS``."
msgstr "``TOS = not TOS`` を実行します。"
#: ../../library/dis.rst:392
msgid "Implements ``TOS = ~TOS``."
msgstr "``TOS = ~TOS`` を実行します。"
#: ../../library/dis.rst:397
msgid "Implements ``TOS = iter(TOS)``."
msgstr "``TOS = iter(TOS)`` を実行します。"
#: ../../library/dis.rst:402
msgid ""
"If ``TOS`` is a :term:`generator iterator` or :term:`coroutine` object it is"
" left as is. Otherwise, implements ``TOS = iter(TOS)``."
msgstr ""
"``TOS`` が :term:`generator iterator` もしくは :term:`coroutine` オブジェクトの場合は、そのままにしておきます。\n"
"そうでない場合は ``TOS = iter(TOS)`` を実行します。"
#: ../../library/dis.rst:408
msgid "**Binary operations**"
msgstr "**2オペランド命令**"
#: ../../library/dis.rst:410
msgid ""
"Binary operations remove the top of the stack (TOS) and the second top-most "
"stack item (TOS1) from the stack. They perform the operation, and put the "
"result back on the stack."
msgstr ""
"二項命令はスタックの先頭 (TOS) と先頭から二番目の要素をスタックから取り除きます。 命令を実行し、スタックへ結果をプッシュし戻します。"
#: ../../library/dis.rst:416
msgid "Implements ``TOS = TOS1 ** TOS``."
msgstr "``TOS = TOS1 ** TOS`` を実行します。"
#: ../../library/dis.rst:421
msgid "Implements ``TOS = TOS1 * TOS``."
msgstr "``TOS = TOS1 * TOS`` を実行します。"
#: ../../library/dis.rst:426
msgid "Implements ``TOS = TOS1 @ TOS``."
msgstr "``TOS = TOS1 @ TOS`` を実行します。"
#: ../../library/dis.rst:433
msgid "Implements ``TOS = TOS1 // TOS``."
msgstr "``TOS = TOS1 // TOS`` を実行します。"
#: ../../library/dis.rst:438
msgid "Implements ``TOS = TOS1 / TOS``."
msgstr "``TOS = TOS1 / TOS`` を実行します。"
#: ../../library/dis.rst:443
msgid "Implements ``TOS = TOS1 % TOS``."
msgstr "``TOS = TOS1 % TOS`` を実行します。"
#: ../../library/dis.rst:448
msgid "Implements ``TOS = TOS1 + TOS``."
msgstr "``TOS = TOS1 + TOS`` を実行します。"
#: ../../library/dis.rst:453
msgid "Implements ``TOS = TOS1 - TOS``."
msgstr "``TOS = TOS1 - TOS`` を実行します。"
#: ../../library/dis.rst:458
msgid "Implements ``TOS = TOS1[TOS]``."
msgstr "``TOS = TOS1[TOS]`` を実行します。"
#: ../../library/dis.rst:463
msgid "Implements ``TOS = TOS1 << TOS``."
msgstr "``TOS = TOS1 << TOS`` を実行します。"
#: ../../library/dis.rst:468
msgid "Implements ``TOS = TOS1 >> TOS``."
msgstr "``TOS = TOS1 >> TOS`` を実行します。"
#: ../../library/dis.rst:473
msgid "Implements ``TOS = TOS1 & TOS``."
msgstr "``TOS = TOS1 & TOS`` を実行します。"
#: ../../library/dis.rst:478
msgid "Implements ``TOS = TOS1 ^ TOS``."
msgstr "``TOS = TOS1 ^ TOS`` を実行します。"
#: ../../library/dis.rst:483
msgid "Implements ``TOS = TOS1 | TOS``."
msgstr "``TOS = TOS1 | TOS`` を実行します。"
#: ../../library/dis.rst:486
msgid "**In-place operations**"
msgstr "**インプレース (in-place) 命令**"
#: ../../library/dis.rst:488
msgid ""
"In-place operations are like binary operations, in that they remove TOS and "
"TOS1, and push the result back on the stack, but the operation is done in-"
"place when TOS1 supports it, and the resulting TOS may be (but does not have"
" to be) the original TOS1."
msgstr ""
"インプレース命令は TOS と TOS1 を取り除いて結果をスタックへプッシュするという点で二項命令と似ています。 しかし、TOS1 "
"がインプレース命令をサポートしている場合には操作が直接 TOS1 に行われます。 また、操作結果の TOS は (常に同じというわけではありませんが) "
"元の TOS1 と同じオブジェクトになることが多いです。"
#: ../../library/dis.rst:495
msgid "Implements in-place ``TOS = TOS1 ** TOS``."
msgstr "インプレースの ``TOS = TOS1 ** TOS`` を実行します。"
#: ../../library/dis.rst:500
msgid "Implements in-place ``TOS = TOS1 * TOS``."
msgstr "インプレースの ``TOS = TOS1 * TOS`` を実行します。"
#: ../../library/dis.rst:505
msgid "Implements in-place ``TOS = TOS1 @ TOS``."
msgstr "インプレースの ``TOS = TOS1 @ TOS`` を実行します。"
#: ../../library/dis.rst:512
msgid "Implements in-place ``TOS = TOS1 // TOS``."
msgstr "インプレースの ``TOS = TOS1 // TOS`` を実行します。"
#: ../../library/dis.rst:517
msgid "Implements in-place ``TOS = TOS1 / TOS``."
msgstr "インプレースの ``TOS = TOS1 / TOS`` を実行します。"
#: ../../library/dis.rst:522
msgid "Implements in-place ``TOS = TOS1 % TOS``."
msgstr "インプレースの ``TOS = TOS1 % TOS`` を実行します。"
#: ../../library/dis.rst:527
msgid "Implements in-place ``TOS = TOS1 + TOS``."
msgstr "インプレースの ``TOS = TOS1 + TOS`` を実行します。"
#: ../../library/dis.rst:532
msgid "Implements in-place ``TOS = TOS1 - TOS``."
msgstr "インプレースの ``TOS = TOS1 - TOS`` を実行します。"
#: ../../library/dis.rst:537
msgid "Implements in-place ``TOS = TOS1 << TOS``."
msgstr "インプレースの ``TOS = TOS1 << TOS`` を実行します。"
#: ../../library/dis.rst:542
msgid "Implements in-place ``TOS = TOS1 >> TOS``."
msgstr "インプレースの ``TOS = TOS1 >> TOS`` を実行します。"
#: ../../library/dis.rst:547
msgid "Implements in-place ``TOS = TOS1 & TOS``."
msgstr "インプレースの ``TOS = TOS1 & TOS`` を実行します。"
#: ../../library/dis.rst:552
msgid "Implements in-place ``TOS = TOS1 ^ TOS``."
msgstr "インプレースの ``TOS = TOS1 ^ TOS`` を実行します。"
#: ../../library/dis.rst:557
msgid "Implements in-place ``TOS = TOS1 | TOS``."
msgstr "インプレースの ``TOS = TOS1 | TOS`` を実行します。"
#: ../../library/dis.rst:562
msgid "Implements ``TOS1[TOS] = TOS2``."
msgstr "``TOS1[TOS] = TOS2`` を実行します。"
#: ../../library/dis.rst:567
msgid "Implements ``del TOS1[TOS]``."
msgstr "``del TOS1[TOS]`` を実行します。"
#: ../../library/dis.rst:570
msgid "**Coroutine opcodes**"
msgstr "**コルーチン命令コード**"
#: ../../library/dis.rst:574
msgid ""
"Implements ``TOS = get_awaitable(TOS)``, where ``get_awaitable(o)`` returns "
"``o`` if ``o`` is a coroutine object or a generator object with the "
"CO_ITERABLE_COROUTINE flag, or resolves ``o.__await__``."
msgstr ""
"``TOS = get_awaitable(TOS)`` を実行します。\n"
"``get_awaitable(o)`` は、 ``o`` がコルーチンオブジェクトもしくは CO_ITERABLE_COROUTINE フラグの付いたジェネレータオブジェクトの場合に ``o`` を返し、そうでない場合は ``o.__await__`` を解決します。"
#: ../../library/dis.rst:584
msgid "Implements ``TOS = TOS.__aiter__()``."
msgstr ""
#: ../../library/dis.rst:587
msgid "Returning awaitable objects from ``__aiter__`` is no longer supported."
msgstr ""
#: ../../library/dis.rst:594
msgid ""
"Implements ``PUSH(get_awaitable(TOS.__anext__()))``. See ``GET_AWAITABLE`` "
"for details about ``get_awaitable``"
msgstr ""
"``PUSH(get_awaitable(TOS.__anext__()))`` を実行します。\n"
"``get_awaitable`` の詳細については ``GET_AWAITABLE`` を参照してください。"
#: ../../library/dis.rst:602
msgid ""
"Terminates an :keyword:`async for` loop. Handles an exception raised when "
"awaiting a next item. If TOS is :exc:`StopAsyncIteration` pop 7 values from"
" the stack and restore the exception state using the second three of them. "
"Otherwise re-raise the exception using the three values from the stack. An "
"exception handler block is removed from the block stack."
msgstr ""
#: ../../library/dis.rst:613
msgid ""
"Resolves ``__aenter__`` and ``__aexit__`` from the object on top of the "
"stack. Pushes ``__aexit__`` and result of ``__aenter__()`` to the stack."
msgstr ""
"スタックの先頭にあるオブジェクトの ``__aenter__`` と ``__aexit__`` を解決します。\n"
"``__aexit__`` と ``__aenter__()`` の結果をスタックに積みます。"
#: ../../library/dis.rst:621
msgid "Creates a new frame object."
msgstr "新たなフレームオブジェクトを作成します。"
#: ../../library/dis.rst:627
msgid "**Miscellaneous opcodes**"
msgstr "**その他の命令コード**"
#: ../../library/dis.rst:631
msgid ""
"Implements the expression statement for the interactive mode. TOS is "
"removed from the stack and printed. In non-interactive mode, an expression "
"statement is terminated with :opcode:`POP_TOP`."
msgstr ""
"対話モードのための式文を実行します。TOS はスタックから取り除かれ表示されます。 非対話モードにおいては、式文は :opcode:`POP_TOP` "
"で終了しています。"
#: ../../library/dis.rst:638
msgid ""
"Calls ``set.add(TOS1[-i], TOS)``. Used to implement set comprehensions."
msgstr "``set.add(TOS1[-i], TOS)`` を呼び出します。集合内包表記の実装に使われます。"
#: ../../library/dis.rst:643
msgid ""
"Calls ``list.append(TOS[-i], TOS)``. Used to implement list comprehensions."
msgstr "``list.append(TOS1[-i], TOS)`` を呼び出します。リスト内包表記の実装に使われます。"
#: ../../library/dis.rst:648
msgid ""
"Calls ``dict.__setitem__(TOS1[-i], TOS1, TOS)``. Used to implement dict "
"comprehensions."
msgstr ""
#: ../../library/dis.rst:652
msgid "Map value is TOS and map key is TOS1. Before, those were reversed."
msgstr ""
#: ../../library/dis.rst:655
msgid ""
"For all of the :opcode:`SET_ADD`, :opcode:`LIST_APPEND` and "
":opcode:`MAP_ADD` instructions, while the added value or key/value pair is "
"popped off, the container object remains on the stack so that it is "
"available for further iterations of the loop."
msgstr ""
":opcode:`SET_ADD`, :opcode:`LIST_APPEND`, :opcode:`MAP_ADD` は、追加した値または "
"key/value ペアをスタックから取り除きますが、コンテナオブジェクトはループの次のイテレーションで利用できるようにスタックに残しておきます。"
#: ../../library/dis.rst:663
msgid "Returns with TOS to the caller of the function."
msgstr "関数の呼び出し元へ TOS を返します。"
#: ../../library/dis.rst:668
msgid "Pops TOS and yields it from a :term:`generator`."
msgstr "TOS をポップし、それを :term:`ジェネレータ <generator>` から yield します。"
#: ../../library/dis.rst:673
msgid ""
"Pops TOS and delegates to it as a subiterator from a :term:`generator`."
msgstr "TOS をポップし、それを :term:`generator` から取得したサブイテレーターとして delegate します。"
#: ../../library/dis.rst:680
msgid ""
"Checks whether ``__annotations__`` is defined in ``locals()``, if not it is "
"set up to an empty ``dict``. This opcode is only emitted if a class or "
"module body contains :term:`variable annotations <variable annotation>` "
"statically."
msgstr ""
#: ../../library/dis.rst:690
msgid ""
"Loads all symbols not starting with ``'_'`` directly from the module TOS to "
"the local namespace. The module is popped after loading all names. This "
"opcode implements ``from module import *``."
msgstr ""
"``'_'`` で始まっていないすべてのシンボルをモジュール TOS から直接ローカル名前空間へロードします。\n"
"モジュールはすべての名前をロードした後にポップされます。\n"
"この命令コードは ``from module import *`` を実行します。"
#: ../../library/dis.rst:697
msgid ""
"Removes one block from the block stack. Per frame, there is a stack of "
"blocks, denoting :keyword:`try` statements, and such."
msgstr ""
#: ../../library/dis.rst:703
msgid ""
"Removes one block from the block stack. The popped block must be an "
"exception handler block, as implicitly created when entering an except "
"handler. In addition to popping extraneous values from the frame stack, the"
" last three popped values are used to restore the exception state."
msgstr ""
"ブロックスタックからブロックを1つ取り除きます。\n"
"ポップされたブロックは、例外ハンドラに入ったときに暗黙的に生成された例外ハンドラのブロックでなければなりません。\n"
"フレームスタックから本質的でない値をポップするのに加えて、直前にポップした3つの値が例外状態を回復するのに使われます。"
#: ../../library/dis.rst:711
msgid ""
"Cleans up the value stack and the block stack. If *preserve_tos* is not "
"``0`` TOS first is popped from the stack and pushed on the stack after "
"performing other stack operations:"
msgstr ""
#: ../../library/dis.rst:715
msgid ""
"If TOS is ``NULL`` or an integer (pushed by :opcode:`BEGIN_FINALLY` or "
":opcode:`CALL_FINALLY`) it is popped from the stack."
msgstr ""
#: ../../library/dis.rst:717
msgid ""
"If TOS is an exception type (pushed when an exception has been raised) 6 "
"values are popped from the stack, the last three popped values are used to "
"restore the exception state. An exception handler block is removed from the"
" block stack."
msgstr ""
#: ../../library/dis.rst:722
msgid ""
"It is similar to :opcode:`END_FINALLY`, but doesn't change the bytecode "
"counter nor raise an exception. Used for implementing :keyword:`break`, "
":keyword:`continue` and :keyword:`return` in the :keyword:`finally` block."
msgstr ""
#: ../../library/dis.rst:731
msgid ""
"Pushes ``NULL`` onto the stack for using it in :opcode:`END_FINALLY`, "
":opcode:`POP_FINALLY`, :opcode:`WITH_CLEANUP_START` and "
":opcode:`WITH_CLEANUP_FINISH`. Starts the :keyword:`finally` block."
msgstr ""
#: ../../library/dis.rst:740
msgid ""
"Terminates a :keyword:`finally` clause. The interpreter recalls whether the"
" exception has to be re-raised or execution has to be continued depending on"
" the value of TOS."
msgstr ""
#: ../../library/dis.rst:744
msgid ""
"If TOS is ``NULL`` (pushed by :opcode:`BEGIN_FINALLY`) continue from the "
"next instruction. TOS is popped."
msgstr ""
#: ../../library/dis.rst:746
msgid ""
"If TOS is an integer (pushed by :opcode:`CALL_FINALLY`), sets the bytecode "
"counter to TOS. TOS is popped."
msgstr ""
#: ../../library/dis.rst:748
msgid ""
"If TOS is an exception type (pushed when an exception has been raised) 6 "
"values are popped from the stack, the first three popped values are used to "
"re-raise the exception and the last three popped values are used to restore "
"the exception state. An exception handler block is removed from the block "
"stack."
msgstr ""
#: ../../library/dis.rst:757
msgid ""
"Pushes :func:`builtins.__build_class__` onto the stack. It is later called "
"by :opcode:`CALL_FUNCTION` to construct a class."
msgstr ""
":func:`builtins.__build_class__` をスタックにプッシュします。\n"
"これはクラスを構築するために、後で :opcode:`CALL_FUNCTION` に呼ばれます。"
#: ../../library/dis.rst:763
msgid ""
"This opcode performs several operations before a with block starts. First, "
"it loads :meth:`~object.__exit__` from the context manager and pushes it "
"onto the stack for later use by :opcode:`WITH_CLEANUP_START`. Then, "
":meth:`~object.__enter__` is called, and a finally block pointing to *delta*"
" is pushed. Finally, the result of calling the ``__enter__()`` method is "
"pushed onto the stack. The next opcode will either ignore it "
"(:opcode:`POP_TOP`), or store it in (a) variable(s) (:opcode:`STORE_FAST`, "
":opcode:`STORE_NAME`, or :opcode:`UNPACK_SEQUENCE`)."
msgstr ""
#: ../../library/dis.rst:777
msgid ""
"Starts cleaning up the stack when a :keyword:`with` statement block exits."
msgstr ""
#: ../../library/dis.rst:779
msgid ""
"At the top of the stack are either ``NULL`` (pushed by "
":opcode:`BEGIN_FINALLY`) or 6 values pushed if an exception has been raised "
"in the with block. Below is the context manager's :meth:`~object.__exit__` "
"or :meth:`~object.__aexit__` bound method."
msgstr ""
#: ../../library/dis.rst:784
msgid ""
"If TOS is ``NULL``, calls ``SECOND(None, None, None)``, removes the function"
" from the stack, leaving TOS, and pushes ``None`` to the stack. Otherwise "
"calls ``SEVENTH(TOP, SECOND, THIRD)``, shifts the bottom 3 values of the "
"stack down, replaces the empty spot with ``NULL`` and pushes TOS. Finally "
"pushes the result of the call."
msgstr ""
#: ../../library/dis.rst:793
msgid ""
"Finishes cleaning up the stack when a :keyword:`with` statement block exits."
msgstr ""
#: ../../library/dis.rst:795
msgid ""
"TOS is result of ``__exit__()`` or ``__aexit__()`` function call pushed by "
":opcode:`WITH_CLEANUP_START`. SECOND is ``None`` or an exception type "
"(pushed when an exception has been raised)."
msgstr ""
#: ../../library/dis.rst:799
msgid ""
"Pops two values from the stack. If SECOND is not None and TOS is true "
"unwinds the EXCEPT_HANDLER block which was created when the exception was "
"caught and pushes ``NULL`` to the stack."
msgstr ""
#: ../../library/dis.rst:804
msgid "All of the following opcodes use their arguments."
msgstr ""
#: ../../library/dis.rst:808
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 ""
"``name = TOS`` を実行します。\n"
"*namei* はコードオブジェクトの属性 :attr:`co_names` における *name* のインデックスです。\n"
"コンパイラは可能ならば :opcode:`STORE_FAST` または :opcode:`STORE_GLOBAL` を使おうとします。"
#: ../../library/dis.rst:815
msgid ""
"Implements ``del name``, where *namei* is the index into :attr:`co_names` "
"attribute of the code object."
msgstr ""
"``del name`` を実行します。 *namei* はコードオブジェクトの :attr:`co_names` 属性へのインデックスです。"
#: ../../library/dis.rst:821
msgid ""
"Unpacks TOS into *count* individual values, which are put onto the stack "
"right-to-left."
msgstr "TOS を *count* 個の個別の値にアンパックして、右から左の順にスタックに積みます。"
#: ../../library/dis.rst:827
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 ""
"星付きの対象ありの代入を実行します:\n"
"TOS にあるイテラブルを個別の値にばらしますが、ばらした値の総数はイテラブルの要素数より小さくなることがあります:\n"
"そのときは、値の1つはばらされずに残った要素からなるリストです。"
#: ../../library/dis.rst:832
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 ""
"*counts* の下位バイトはそのリスト値より前にある値の個数で、 *counts* の上位バイトはそれより後ろにある値の個数です。\n"
"そうしてできた値は右から左の順でスタックに積まれます。"
#: ../../library/dis.rst:839
msgid ""
"Implements ``TOS.name = TOS1``, where *namei* is the index of name in "
":attr:`co_names`."
msgstr ""
"``TOS.name = TOS1`` を実行します。\n"
"*namei* は :attr:`co_names` における名前のインデックスです。"
#: ../../library/dis.rst:845
msgid ""
"Implements ``del TOS.name``, using *namei* as index into :attr:`co_names`."
msgstr ""
"``del TOS.name`` を実行します。\n"
":attr:`co_names` へのインデックスとして *namei* を使います。"
#: ../../library/dis.rst:850
msgid "Works as :opcode:`STORE_NAME`, but stores the name as a global."
msgstr ":opcode:`STORE_NAME` と同じように動作しますが、 name をグローバルとして保存します。"
#: ../../library/dis.rst:855
msgid "Works as :opcode:`DELETE_NAME`, but deletes a global name."
msgstr ":opcode:`DELETE_NAME` と同じように動作しますが、グローバルの name を削除します。"
#: ../../library/dis.rst:860
msgid "Pushes ``co_consts[consti]`` onto the stack."
msgstr "``co_consts[consti]`` をスタックにプッシュします。"
#: ../../library/dis.rst:865
msgid "Pushes the value associated with ``co_names[namei]`` onto the stack."
msgstr "``co_names[namei]`` に関連付けられた値をスタックにプッシュします。"
#: ../../library/dis.rst:870
msgid ""
"Creates a tuple consuming *count* items from the stack, and pushes the "
"resulting tuple onto the stack."
msgstr "スタックから *count* 個の要素を消費してタプルを作り出し、できたタプルをスタックにプッシュします。"
#: ../../library/dis.rst:876
msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list."
msgstr ":opcode:`BUILD_TUPLE` と同じように動作しますが、この命令はリストを作り出します。"
#: ../../library/dis.rst:881
msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set."
msgstr ":opcode:`BUILD_TUPLE` と同じように動作しますが、この命令は set を作り出します。"
#: ../../library/dis.rst:886
msgid ""
"Pushes a new dictionary object onto the stack. Pops ``2 * count`` items so "
"that the dictionary holds *count* entries: ``{..., TOS3: TOS2, TOS1: TOS}``."
msgstr ""
#: ../../library/dis.rst:890
msgid ""
"The dictionary is created from stack items instead of creating an empty "
"dictionary pre-sized to hold *count* items."
msgstr ""
#: ../../library/dis.rst:897
msgid ""
"The version of :opcode:`BUILD_MAP` specialized for constant keys. Pops the "
"top element on the stack which contains a tuple of keys, then starting from "
"``TOS1``, pops *count* values to form values in the built dictionary."
msgstr ""
#: ../../library/dis.rst:906
msgid ""
"Concatenates *count* strings from the stack and pushes the resulting string "
"onto the stack."
msgstr ""
#: ../../library/dis.rst:914
msgid ""