mruby — вбудовуваний інтерпретатор динамічної об'єктно-орієнтованої мови програмування Ruby. Mruby забезпечує сумісність синтаксису на рівні Ruby 1.9, але також підтримує окремі можливості з новіших версій. Інтерпретатор відрізняється низьким споживанням пам'яті і можливістю вбудовування в інші застосунки. Крім того, підтримується компіляція Ruby-програм в байт-код за допомогою компілятора mrbc, що розвивається проектом.

Код mruby поширюється під ліцензією MIT.

Приклади використання

Виклик mruby з C

#include <stdio.h> #include <mruby.h> #include <mruby/compile.h>

int main(void) { mrb_state *mrb = mrb_open(); char code[] = "5.times { puts 'mruby is awesome!' }";

printf("Executing Ruby code with mruby:\n"); mrb_load_string(mrb, code);

mrb_close(mrb); return 0; }

Мається на увазі, що ви вже встановленим mruby у доступну путь, тоді ця програма може бути відкомпільована і виконана такими командами з вашого термінала:

$ cc example.c -lmruby -lm -o example $ ./example

Компіляція у байт-код

mruby включає мінімалістичну віртуальну машину ritevm, що використовується для виконання байт-коду mruby:

$ mrbc test.rb $ mruby -b test.mrb

Перша команда компілює початковий код Ruby у байт-код mruby, створюючи файл з назвою "test.mrb", який може потім бути виконаний додаванням опції "-b" до звичайних параметрів інтерпретатора.

Виноски

Посилання