Назад: Custom Dispatch Logic Выше: Содержание Вперед: Парсер

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

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

See How-To - Write Documentation

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

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

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

Compilation process
  1. Парсер
  2. AST
  3. Генератор
  4. Кодировщик
  5. Упаковщик
  6. Запись
  7. Принтеры
  8. Преобразования
  9. Настройка конвейера
Назад: Custom Dispatch Logic Выше: Содержание Вперед: Парсер

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