Esempio n. 1
0
int load_mrb(struct VM *vm)
{
  /* setup mrb program */
  int ret = UNKNOWN_ERROR;
  char *pos = vm->mrb;
  do {
    if( check_str_4(pos, "RITE") ){
      ret = load_header(vm, &pos);
    } else if( check_str_4(pos, "IREP") ){
      ret = load_irep(vm, &pos);
    } else if( check_str_4(pos, "LVAR") ){
      ret = load_lvar(vm, &pos);
    } else if( check_str_4(pos, "END\0") ){
      break;
    } else {
      ret = UNKNOWN_ERROR;
    }
  } while( ret == NO_ERROR );

  return ret;
}
Esempio n. 2
0
MRB_API mrb_value
mrb_load_irep_file_cxt(mrb_state *mrb, FILE* fp, mrbc_context *c)
{
  return load_irep(mrb, mrb_read_irep_file(mrb, fp), c);
}
Esempio n. 3
0
MRB_API mrb_value
mrb_load_irep_cxt(mrb_state *mrb, const uint8_t *bin, mrbc_context *c)
{
  return load_irep(mrb, mrb_read_irep(mrb, bin), c);
}