Commit a7b8a94e authored by Yukihiro Matsumoto's avatar Yukihiro Matsumoto

refactor mirb code

parent daee2e5a
...@@ -133,22 +133,22 @@ main(void) ...@@ -133,22 +133,22 @@ main(void)
char last_char, ruby_code[1024], last_code_line[1024]; char last_char, ruby_code[1024], last_code_line[1024];
int char_index; int char_index;
struct mrb_parser_state *parser; struct mrb_parser_state *parser;
mrb_state *mrb_interpreter; mrb_state *mrb;
mrb_value mrb_return_value; mrb_value result;
int byte_code; int n;
int code_block_open = FALSE; int code_block_open = FALSE;
print_hint(); print_hint();
/* new interpreter instance */ /* new interpreter instance */
mrb_interpreter = mrb_open(); mrb = mrb_open();
if (mrb_interpreter == NULL) { if (mrb == NULL) {
fprintf(stderr, "Invalid mrb_interpreter, exiting mirb"); fprintf(stderr, "Invalid mrb interpreter, exiting mirb");
return EXIT_FAILURE; return EXIT_FAILURE;
} }
/* new parser instance */ /* new parser instance */
parser = mrb_parser_new(mrb_interpreter); parser = mrb_parser_new(mrb);
memset(ruby_code, 0, sizeof(*ruby_code)); memset(ruby_code, 0, sizeof(*ruby_code));
memset(last_code_line, 0, sizeof(*last_code_line)); memset(last_code_line, 0, sizeof(*last_code_line));
...@@ -209,22 +209,22 @@ main(void) ...@@ -209,22 +209,22 @@ main(void)
} }
else { else {
/* generate bytecode */ /* generate bytecode */
byte_code = mrb_generate_code(mrb_interpreter, parser->tree); n = mrb_generate_code(mrb, parser->tree);
/* evaluate the bytecode */ /* evaluate the bytecode */
mrb_return_value = mrb_run(mrb_interpreter, result = mrb_run(mrb,
/* pass a proc for evaulation */ /* pass a proc for evaulation */
mrb_proc_new(mrb_interpreter, mrb_interpreter->irep[byte_code]), mrb_proc_new(mrb, mrb->irep[n]),
mrb_top_self(mrb_interpreter)); mrb_top_self(mrb));
/* did an exception occur? */ /* did an exception occur? */
if (mrb_interpreter->exc) { if (mrb->exc) {
mrb_p(mrb_interpreter, mrb_obj_value(mrb_interpreter->exc)); mrb_p(mrb, mrb_obj_value(mrb->exc));
mrb_interpreter->exc = 0; mrb->exc = 0;
} }
else { else {
/* no */ /* no */
printf(" => "); printf(" => ");
mrb_p(mrb_interpreter, mrb_return_value); mrb_p(mrb, result);
} }
} }
...@@ -233,7 +233,7 @@ main(void) ...@@ -233,7 +233,7 @@ main(void)
} }
} }
} }
mrb_close(mrb_interpreter); mrb_close(mrb);
return 0; return 0;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment