ام‌روبی

اِم‌روبی یک مفسر برای زبان برنامه‌نویسی روبی است که با هدف سبک‌وزن بودن طراحی شده و به راحتی قابل پیاده‌سازی است.   ریاست این پروژه را یوکیهیرو ماتسوموتو بر عهده دارد و بیش از ۱۰۰ مشارکت‌کننده در حال حاضر در این پروژه فعالیت می‌کنند.

ویژگی ها 
ام‌روبی ۱.۰ از هسته روبی ۲.۱ پشتیبانی می‌کند، اما هیچ یک از کتابخانه های استاندارد نیست. ام‌روبی علاوه بر اینکه قادر به اجرای اساسی ترین کد های روبی است، از یک کامپایلر بایت‌کد و ماشین مجازی و همچنین قابلیت تعبیه و تلفیق آسان در کد سی یا C ++ ، به روشی مشابه لوآ یا تی‌سی‌ال برخوردار است.

ام‌روبی ۲.۰.۰  پشتیبانی از چندین روش روبی 2.x فراتر از روبی ۲.۱ را اضافه می کند. نسخه ۲.۰.۰ نیز به فرمت دستورالعمل های بایت‌کد با طول متغیر تغییر یافت.

کد بایت ام‌روبی می‌تواند در کد C تعبیه بشود، بنابراین می تواند در یک اجرایی مستقل کامپایل شود. 

ام‌روبی همچنین قصد دارد  با استاندارد ISO / IEC 30170: 2012 سازگار باشد.

مثال ها

فراخوانی 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;
}با فرض اینکه شما ام‌روبی را نصب کرده اید و در مسیر خود هستید، برنامه زیر را می‌توان با اجرای دستور زیر از ترمینال خود کامپایل و اجرا کرد: $ cc example.c -lmruby -lm -o example
$ ./example

بایت‌کد از پیش کامپایل شده 
ام‌روبی شامل یک ماشین مجازی مینیمالیستی است که برای اجرای بایت‌کد ام‌روبی با نام مستعار ritevm استفاده می شود:$ mrbc test.rb
$ mruby -b test.mrbاولین دستور، کد روبی را به بایت‌کد ام‌روبی کامپایل می کند و فایلی به نام "test.mrb" ایجاد می کند، که پس از آن می توان با اضافه کردن پرچم "-b" به آرگومان‌های مفسر معمولی، آن را اجرا کرد.

منابع 

روبی (زبان برنامه‌نویسی)
مفسرها (رایانش)
نرم‌افزارهای دارای اجازه‌نامه ام‌آی‌تی