15#ifndef MRBC_SRC_SYMBOL_H_
16#define MRBC_SRC_SYMBOL_H_
22#include "_autogen_builtin_symbol.h"
28#define MRBC_NESTED_SYMBOL_BUF_LEN (sizeof(mrbc_sym)*4+2)
34#define MRBC_SYM(sym) MRBC_SYMID_##sym
36#define MRB_SYM(sym) MRBC_SYMID_##sym
51void mrbc_debug_dump_symbol(
void);
52void mrbc_symbol_statistics(
int *total_used);
78 return (s[0] == 0x01);
84static inline mrbc_sym str_to_symid(
const char *str) {
88static inline const char *symid_to_str(
mrbc_sym sym_id) {
struct RObject mrbc_value
Value object. Default version.
mrbc_sym mrbc_search_symid(const char *str)
mrbc_value mrbc_symbol_new(struct VM *vm, const char *str)
mrbc_sym mrbc_str_to_symid(const char *str)
void mrbc_make_nested_symbol_s(char *buf, mrbc_sym id1, mrbc_sym id2)
void mrbc_separate_nested_symid(mrbc_sym sym_id, mrbc_sym *id1, mrbc_sym *id2)
void mrbc_cleanup_symbol(void)
const char * mrbc_symid_to_str(mrbc_sym sym_id)
static const char * mrbc_symbol_cstr(const mrbc_value *v)
static int mrbc_is_nested_symid(mrbc_sym sym_id)
mruby/c value definitions
int16_t mrbc_sym
mruby/c symbol ID