Previous: Virtual Machine - Custom Dispatch Logic Up: 目次 Next: Parser

Bytecode Compiler

This topic has missing or partial documentation. Please help us improve it.

See How-To - Write Documentation

RubiniusのバイトコードコンパイラはRubyのソースコードをバーチャルマシンによって 実行されるバイトコードに変換します。 コンパイル処理は一続きの複数のステージで構成されていて、 入力値をバーチャルマシンが理解できる形式に変換していきます。

各ステージは自身の以降の処理からは切り離されていて、 特定の形式の入力のみを期待し、次のステージに結果を渡します。 このため、コンパイル処理を柔軟に設定できますし(configurable)、 各ステージを簡単にカスタマイズすることができます。

各ステージは入力を受け取り、担当する処理を行い、結果を次のステージに渡します。 下の図は、デフォルトで用意されているステージとその各ステージの入力と結果です。

Compilation process
  1. Parser Stage
  2. AST
  3. Generator Stage
  4. Encoder Stage
  5. Packager Stage
  6. Writer Stage
  7. Printers
  8. Transformations
  9. パイプラインのカスタマイズ
Previous: Virtual Machine - Custom Dispatch Logic Up: 目次 Next: Parser

Tweet at @rubinius on Twitter or email community@rubini.us. Please report Rubinius issues to our issue tracker.