# Байткод-компилятор - Rubinius
Rubinius is an implementation of the Ruby programming language. The Rubinius bytecode virtual machine is written in C++. The bytecode compiler is written in pure Ruby. The vast majority of the core library is also written in Ruby, with some supporting primitives that interact with the VM directly.
Author: Less Than Three. <3. http://less.thanthree.com

1.2.3

## Байткод-компилятор

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

See How-To - Write Documentation

Байткод-компилятор Rubinius превращает исходный код на Ruby в байткод, исполняемый в виртуальной машине. В процессе трансформации входного языка в код, понятный виртуальной машине, байткод-компилятор выполняет серию последовательных операций.

Каждая из этих операций-стадий выполняется независимо от всего остального процесса, ожидая определенного материала на входе и передавая свой вывод следующей стадии. В результате этого весь процесс компиляции получается довольно конфигурабельным, а каждую отдельную стадию можно достаточно просто перенастроить.

Итак, каждая стадия получает ввод, выполняется и передает вывод следующей стадии. Ниже проиллюстрированы стандартные стадии вместе со своими исходными и выведенными данными.

1. Парсер
2. AST
3. Генератор
4. Кодировщик
5. Упаковщик
6. Запись
7. Принтеры
8. Преобразования
9. Настройка конвейера