Commits

Kenji Yano  committed dd1a85a

41% translation completed ref #4

  • Participants
  • Parent commits 46cbc54

Comments (0)

Files changed (1)

File pypy/doc/interpreter.rst

 
 インタプリタの内部動作についての理解するためには `inerpreter-level and application-level`_ のコードの概念について納得することがとても重要です。端的に言えば、インタプリタレベルはバイトコードの関節的な解釈をもたらアプリケーションレベルの関数をマシン上で呼び出して直接実行します。また一方で、例外に関しては得に慎重に扱わなければならりません。なぜならアプリケーションレベルの例外は ``OperationErrors`` にラップされており、それらは素のインタプリタレベルの例外と区別されます。 ``OperationErrors`` についてのさらに詳しい情報については `application level exceptions`_ を参照してください。
 
-# TODO: next
+.. original
+    The interpreter implementation offers mechanisms to allow a
+    caller to be unaware if a particular function invocation leads
+    to bytecode interpretation or is executed directly at
+    interpreter-level.  The two basic kinds of `Gateway classes`_
+    expose either an interpreter-level function to
+    application-level execution (``interp2app``) or allow
+    transparent invocation of application-level helpers
+    (``app2interp``) at interpreter-level. 
 
-The interpreter implementation offers mechanisms to allow a
-caller to be unaware if a particular function invocation leads
-to bytecode interpretation or is executed directly at
-interpreter-level.  The two basic kinds of `Gateway classes`_
-expose either an interpreter-level function to
-application-level execution (``interp2app``) or allow
-transparent invocation of application-level helpers
-(``app2interp``) at interpreter-level. 
+個々の関数の呼び出しがバイトコードに解釈されるか、インタープリタレベルで直接実行されるならば、インタープリタの実装は呼び出し側の不注意を許可するメカニズムを提供します。 2の基本的な `Gateway classes`_ はインタープリタレベルの関数からアプリケーションレベルの実行(``interp2app``)かインタプリタレベルでのアプリケーションレベルヘルパ(``app2interp``)の透過的呼び出し許可をさらします。。
 
-Another task of the bytecode interpreter is to care for exposing its 
-basic code, frame, module and function objects to application-level 
-code.  Such runtime introspection and modification abilities are 
-implemented via `interpreter descriptors`_ (also see Raymond Hettingers 
-`how-to guide for descriptors`_ in Python, PyPy uses this model extensively). 
+.. original
+    Another task of the bytecode interpreter is to care for exposing its 
+    basic code, frame, module and function objects to application-level 
+    code.  Such runtime introspection and modification abilities are 
+    implemented via `interpreter descriptors`_ (also see Raymond Hettingers 
+    `how-to guide for descriptors`_ in Python, PyPy uses this model extensively). 
 
-A significant complexity lies in `function argument parsing`_.  Python as a 
-language offers flexible ways of providing and receiving arguments 
-for a particular function invocation.  Not only does it take special care 
-to get this right, it also presents difficulties for the `annotation
-pass`_ which performs a whole-program analysis on the
-bytecode interpreter, argument parsing and gatewaying code
-in order to infer the types of all values flowing across function
-calls. 
+バイトコードインタプリタの他のタスクは基底コード、フレーム、モジュール、そして関数オブジェクトをアプリケーションレベルのコードへ昇華させることです。このようなランタイムイントロスペクションや修正能力は `interpreter descriptors`_ を使用して実装されます。(PyPyはこのモデルを広く使用しています。また、Raymond HettingersによるPythonの `how-to guide for descriptors`_ でも見れます。)
 
-It is for this reason that PyPy resorts to generate
-specialized frame classes and functions at `initialization
-time`_ in order to let the annotator only see rather static 
-program flows with homogeneous name-value assignments on 
-function invocations. 
+.. original
+    A significant complexity lies in `function argument parsing`_.  Python as a 
+    language offers flexible ways of providing and receiving arguments 
+    for a particular function invocation.  Not only does it take special care 
+    to get this right, it also presents difficulties for the `annotation
+    pass`_ which performs a whole-program analysis on the
+    bytecode interpreter, argument parsing and gatewaying code
+    in order to infer the types of all values flowing across function
+    calls. 
+
+とても重要で複雑な問題は `function argument parsing`_ にあります。Pythonは個々の関数の実行時に柔軟な方法で、引数を渡したり受け取ったりする言語です。それはこの権限を得るために最新の注意を払うだけでなく、バイトコードインタプリタ上のプログラム全体の解析を実行する `annotation pass`_ の難しさも示し、関数呼び出しは交差し、流れ、すべての値の型を推論をするための引数解析とゲートウェイ接続をプログラムします。
+
+.. original
+    It is for this reason that PyPy resorts to generate
+    specialized frame classes and functions at `initialization
+    time`_ in order to let the annotator only see rather static 
+    program flows with homogeneous name-value assignments on 
+    function invocations. 
+
+それはこの理由のためにあり、PyPyはアノテータに関数呼び出し上の一様な名前と値の参照をもった静的プログラムの動きのみ参照させるために `initialization time`_ 時の特殊なフレームクラス群と関数群の生成に頼っています。
 
 .. _`how-to guide for descriptors`: http://users.rcn.com/python/download/Descriptor.htm
 .. _`annotation pass`: translation.html#the-annotation-pass
 .. _`here`: coding-guide.html#modules
 
 
+# TODO:next
+
+
 Bytecode Interpreter Implementation Classes  
 ================================================