diff options
Diffstat (limited to 'tools/mrit/mrit.c')
| -rw-r--r-- | tools/mrit/mrit.c | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/tools/mrit/mrit.c b/tools/mrit/mrit.c deleted file mode 100644 index 594ab012d..000000000 --- a/tools/mrit/mrit.c +++ /dev/null @@ -1,59 +0,0 @@ -/* -** mrit - Embeddable Ruby ISO Test -** -** This program verifies ISO/IEC 30170:2012 -** against the current mruby implementation. -*/ - -#include <string.h> - -#include <mruby.h> -#include <mruby/proc.h> -#include <mruby/data.h> -#include <compile.h> - -void -mrb_init_mritlib(mrb_state *); - -/* Print a short remark for the user */ -void print_hint(void) -{ - printf("mrit - Embeddable Ruby ISO Test\n"); - printf("\nThis is a very early version, please test and report errors.\n"); - printf("Thanks :)\n\n"); -} - -int -main(void) -{ - struct mrb_parser_state *parser; - mrb_state *mrb_interpreter; - mrb_value mrb_return_value; - int byte_code; - - print_hint(); - - /* new interpreter instance */ - mrb_interpreter = mrb_open(); - mrb_init_mritlib(mrb_interpreter); - parser = mrb_parse_nstring_ext(mrb_interpreter, "report()", strlen("report()")); - - /* generate bytecode */ - byte_code = mrb_generate_code(mrb_interpreter, parser->tree); - - /* evaluate the bytecode */ - mrb_return_value = mrb_run(mrb_interpreter, - /* pass a proc for evaulation */ - mrb_proc_new(mrb_interpreter, mrb_interpreter->irep[byte_code]), - mrb_top_self(mrb_interpreter)); - /* did an exception occur? */ - if (mrb_interpreter->exc) { - mrb_p(mrb_interpreter, mrb_obj_value(mrb_interpreter->exc)); - mrb_interpreter->exc = 0; - } - else { - /* no */ - } - - return 0; -} |
