예제 #1
0
static Pointer makeToken(const char* start, int length)
{
    Pointer ptr = symbol_alloc(length);
    char* dest = (char*) symbol_get(ptr);
    memcpy(dest, start, length);
    dest[length] = 0;
    return ptr;
}
예제 #2
0
파일: arc.c 프로젝트: wsxiaoys/carc
pointer symbol_add(VM, char *str) {
  pointer obj;
  int ret;
  khiter_t iter;
  obj = symbol_find(vm, str);  
  
  if (!obj) {
    obj = symbol_alloc(vm, str);
    iter = kh_put(STR, vm->symbol_table, AR_STRING(obj).val, &ret);
    kh_val(vm->symbol_table, iter) = obj;
  }
  return obj;
}