diff options
| author | Paolo Bosetti <[email protected]> | 2012-05-31 18:52:33 -0700 |
|---|---|---|
| committer | Paolo Bosetti <[email protected]> | 2012-05-31 18:52:33 -0700 |
| commit | 9c0bfd343679fcd84090b7611ed582ae31e0e3b9 (patch) | |
| tree | 75e6ac394862821a0e466ccfee361655c40ae749 /include | |
| parent | 6dbba7b799e0cf1a86ec86f347bbc1b40420d372 (diff) | |
| parent | 8180fee1808c56048b9fa18a8dd16014e694e48e (diff) | |
| download | mruby-9c0bfd343679fcd84090b7611ed582ae31e0e3b9.tar.gz mruby-9c0bfd343679fcd84090b7611ed582ae31e0e3b9.zip | |
Merge branch 'master' of git://github.com/mruby/mruby into XCode
Diffstat (limited to 'include')
| -rw-r--r-- | include/mrbconf.h | 4 | ||||
| -rw-r--r-- | include/mruby.h | 95 | ||||
| -rw-r--r-- | include/mruby/array.h | 2 | ||||
| -rw-r--r-- | include/mruby/class.h | 2 | ||||
| -rw-r--r-- | include/mruby/string.h | 57 |
5 files changed, 15 insertions, 145 deletions
diff --git a/include/mrbconf.h b/include/mrbconf.h index 9155575a9..e90b685bb 100644 --- a/include/mrbconf.h +++ b/include/mrbconf.h @@ -22,10 +22,10 @@ typedef intptr_t mrb_sym; #define readint(p,base) strtol((p),NULL,(base)) #undef INCLUDE_ENCODING /* not use encoding classes (ascii only) */ -#define INCLUDE_ENCODING /* use UTF-8 encoding classes */ +//#define INCLUDE_ENCODING /* use UTF-8 encoding classes */ #undef INCLUDE_REGEXP /* not use regular expression classes */ -#define INCLUDE_REGEXP /* use regular expression classes */ +//#define INCLUDE_REGEXP /* use regular expression classes */ #ifdef INCLUDE_REGEXP # define INCLUDE_ENCODING /* Regexp depends Encoding */ diff --git a/include/mruby.h b/include/mruby.h index c86c3b478..3bbc6e6cc 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -341,8 +341,9 @@ void *mrb_realloc(mrb_state*, void*, size_t); struct RBasic *mrb_obj_alloc(mrb_state*, enum mrb_vtype, struct RClass*); void *mrb_free(mrb_state*, void*); -mrb_value mrb_str_new(mrb_state *mrb, const char *p, size_t len); /* mrb_str_new */ +mrb_value mrb_str_new(mrb_state *mrb, const char *p, int len); /* mrb_str_new */ mrb_value mrb_str_new_cstr(mrb_state*, const char*); +mrb_value mrb_str_new2(mrb_state *mrb, const char *p); mrb_state* mrb_open(void); mrb_state* mrb_open_allocf(mrb_allocf); @@ -415,9 +416,6 @@ mrb_value mrb_check_funcall(mrb_state *mrb, mrb_value recv, mrb_sym mid, int arg #define ISXDIGIT(c) (ISASCII(c) && isxdigit((int)(unsigned char)(c))) #endif -extern mrb_value mrb_rs; -extern mrb_value mrb_default_rs; - int mrb_block_given_p(void); void mrb_raise(mrb_state *mrb, struct RClass *c, const char *fmt, ...); void rb_raise(struct RClass *c, const char *fmt, ...); @@ -447,16 +445,6 @@ void mrb_bug(const char *fmt, ...); #define SYM2ID(x) ((x).value.sym) -#define CONST_ID_CACHE(mrb, result, str) \ - { \ - static mrb_sym mrb_intern_id_cache;\ - if (!mrb_intern_id_cache) \ - mrb_intern_id_cache = mrb_intern(mrb, str); \ - result mrb_intern_id_cache; \ - } -#define CONST_ID(mrb, var, str) \ - do CONST_ID_CACHE(mrb, var =, str) while (0) - #define NUM2CHR_internal(x) (((mrb_type(x) == MRB_TT_STRING)&&(RSTRING_LEN(x)>=1))?\ RSTRING_PTR(x)[0]:(char)(mrb_fixnum_number(x)&0xff)) #ifdef __GNUC__ @@ -471,24 +459,6 @@ NUM2CHR(mrb_value x) */ #define NUM2CHR(x) NUM2CHR_internal(x) #endif -mrb_value mrb_io_gets(mrb_state *mrb, mrb_value); -mrb_value mrb_io_getbyte(mrb_state *mrb, mrb_value); -mrb_value mrb_io_ungetc(mrb_state *, mrb_value, mrb_value); -mrb_value mrb_io_ungetbyte(mrb_state *mrb, mrb_value, mrb_value); -mrb_value mrb_io_close(mrb_state *mrb, mrb_value); -mrb_value mrb_io_flush(mrb_state *mrb, mrb_value); -mrb_value mrb_io_eof(mrb_value); -mrb_value mrb_io_binmode(mrb_state *mrb, mrb_value); -mrb_value mrb_io_ascii8bit_binmode(mrb_value); -mrb_value mrb_io_addstr(mrb_state *mrb, mrb_value, mrb_value); -mrb_value mrb_io_printf(mrb_state *mrb, int, mrb_value*, mrb_value); -mrb_value mrb_io_print(mrb_state *mrb, int, mrb_value*, mrb_value); -mrb_value mrb_io_puts(mrb_state *mrb, /*int argc, mrb_value *argv,*/ mrb_value); -mrb_value mrb_io_fdopen(int, int, const char*); -mrb_value mrb_io_get_io(mrb_state *mrb, mrb_value); -mrb_value mrb_file_open(mrb_state *mrb, const char*, const char*); -mrb_value mrb_file_open_str(mrb_value, const char*); -mrb_value mrb_gets(mrb_state *mrb); mrb_value mrb_yield(mrb_state *mrb, mrb_value v, mrb_value blk); mrb_value mrb_yield_argv(mrb_state *mrb, mrb_value b, int argc, mrb_value *argv); @@ -505,61 +475,11 @@ mrb_value mrb_exec_recursive(mrb_state *mrb, mrb_value(*)(mrb_state *, mrb_value #define xfree free #endif -void mrb_gc(void); -#define thread_debug if(0)printf - -#define RUBY_VM 1 /* YARV */ -#define HAVE_NATIVETHREAD -int ruby_native_thread_p(void); - -#define RUBY_EVENT_NONE 0x0000 -#define RUBY_EVENT_LINE 0x0001 -#define RUBY_EVENT_CLASS 0x0002 -#define RUBY_EVENT_END 0x0004 -#define RUBY_EVENT_CALL 0x0008 -#define RUBY_EVENT_RETURN 0x0010 -#define RUBY_EVENT_C_CALL 0x0020 -#define RUBY_EVENT_C_RETURN 0x0040 -#define RUBY_EVENT_RAISE 0x0080 -#define RUBY_EVENT_ALL 0xffff -#define RUBY_EVENT_VM 0x10000 -#define RUBY_EVENT_SWITCH 0x20000 -#define RUBY_EVENT_COVERAGE 0x40000 - -typedef unsigned int mrb_event_flag_t; -typedef void (*mrb_event_hook_func_t)(mrb_state *mrb, mrb_event_flag_t, mrb_value data, mrb_value, mrb_sym, mrb_value klass); - -typedef struct mrb_event_hook_struct { - mrb_event_flag_t flag; - mrb_event_hook_func_t func; - mrb_value data; - struct mrb_event_hook_struct *next; -} mrb_event_hook_t; - -#define RB_EVENT_HOOKS_HAVE_CALLBACK_DATA 1 -void mrb_add_event_hook(mrb_state *mrb, mrb_event_hook_func_t func, mrb_event_flag_t events, - mrb_value data); -int mrb_remove_event_hook(mrb_event_hook_func_t func); +void mrb_garbage_collect(mrb_state *mrb); +void mrb_gc_protect(mrb_state *mrb, mrb_value obj); mrb_value mrb_to_int(mrb_state *mrb, mrb_value val); void mrb_check_type(mrb_state *mrb, mrb_value x, enum mrb_vtype t); -//#define RUBY_SETJMP(env) ${setjmp_prefix}setjmp(env${setjmp_sigmask+,0}) -//#define RUBY_LONGJMP(env,val) ${setjmp_prefix}longjmp(env,val) -//#define RUBY_JMP_BUF ${setjmp_sigmask+${setjmp_prefix}}jmp_buf -#define RUBY_SETJMP(env) __builtin_setjmp(env) -#define RUBY_LONGJMP(env,val) __builtin_longjmp(env,1)//(env,val) -//#define RUBY_JMP_BUF ${setjmp_sigmask+${setjmp_prefix}}jmp_buf -#define select(n, r, w, e, t) select_large_fdset(n, r, w, e, t) - -//int RUBY_SETJMP(mrb_jmpbuf_t env); /* add kusuda */ -#define ruby_setjmp(env) RUBY_SETJMP(env) -#define ruby_longjmp(env,val) RUBY_LONGJMP(env,val) - -#define KHASH 0 -#define STHASH 1 -#define BASICHASH 2 -#define HASH_CLASS_METHOD BASICHASH - typedef enum call_type { CALL_PUBLIC, CALL_FCALL, @@ -571,8 +491,6 @@ typedef enum call_type { void mrb_cmperr(mrb_state *mrb, mrb_value x, mrb_value y); int mrb_cmpint(mrb_state *mrb, mrb_value val, mrb_value a, mrb_value b); -#define REALLOC_N(mrb,var,type,n) (var)=(type*)mrb_realloc(mrb, (char*)(var), sizeof(type)*(n)) - #ifndef ANYARGS # ifdef __cplusplus # define ANYARGS ... @@ -585,10 +503,11 @@ const char *mrb_class_name(mrb_state *mrb, struct RClass* klass); void mrb_define_global_const(mrb_state *mrb, const char *name, mrb_value val); mrb_value mrb_block_proc(void); -int mrb_sourceline(void); -void ruby_default_signal(int sig); mrb_value mrb_attr_get(mrb_state *mrb, mrb_value obj, mrb_sym id); +int mrb_respond_to(mrb_state *mrb, mrb_value obj, mrb_sym mid); +int mrb_obj_is_instance_of(mrb_state *mrb, mrb_value obj, struct RClass* c); + /* memory pool implementation */ typedef struct mrb_pool mrb_pool; struct mrb_pool* mrb_pool_open(mrb_state*); diff --git a/include/mruby/array.h b/include/mruby/array.h index 5c3098ebe..e2acee535 100644 --- a/include/mruby/array.h +++ b/include/mruby/array.h @@ -32,7 +32,7 @@ void mrb_ary_concat(mrb_state*, mrb_value, mrb_value); mrb_value mrb_ary_splat(mrb_state*, mrb_value); void mrb_ary_push(mrb_state*, mrb_value, mrb_value); mrb_value mrb_ary_pop(mrb_state *mrb, mrb_value ary); -mrb_value mrb_ary_new_from_values(mrb_state *mrb, mrb_value *vals, size_t size); +mrb_value mrb_ary_new_from_values(mrb_state *mrb, size_t size, mrb_value *vals); mrb_value mrb_ary_aget(mrb_state *mrb, mrb_value self); mrb_value mrb_ary_ref(mrb_state *mrb, mrb_value ary, mrb_int n); void mrb_ary_set(mrb_state *mrb, mrb_value ary, mrb_int n, mrb_value val); diff --git a/include/mruby/class.h b/include/mruby/class.h index 1d316c980..0afd331b0 100644 --- a/include/mruby/class.h +++ b/include/mruby/class.h @@ -74,8 +74,6 @@ struct RClass *mrb_class_outer_module(mrb_state*, struct RClass *); struct RProc *mrb_method_search_vm(mrb_state*, struct RClass**, mrb_sym); struct RProc *mrb_method_search(mrb_state*, struct RClass*, mrb_sym); -int mrb_respond_to(mrb_state *mrb, mrb_value obj, mrb_sym mid); -int mrb_obj_is_instance_of(mrb_state *mrb, mrb_value obj, struct RClass* c); struct RClass* mrb_class_real(struct RClass* cl); void mrb_obj_call_init(mrb_state *mrb, mrb_value obj, int argc, mrb_value *argv); diff --git a/include/mruby/string.h b/include/mruby/string.h index 08dd306e8..39f119ae8 100644 --- a/include/mruby/string.h +++ b/include/mruby/string.h @@ -21,8 +21,6 @@ extern "C" { #define IS_EVSTR(p,e) ((p) < (e) && (*(p) == '$' || *(p) == '@' || *(p) == '{')) -#define mrb_str_new4 mrb_str_new_frozen - #define STR_BUF_MIN_SIZE 128 extern const char mrb_digitmap[]; @@ -37,27 +35,11 @@ struct RString { char *buf; }; -extern struct SCOPE { - struct RBasic super; - mrb_sym *local_tbl; - mrb_value *local_vars; - int flags; -} *ruby_scope; - -struct RVarmap { - struct RBasic super; - mrb_sym id; - mrb_value val; - struct RVarmap *next; -}; -extern struct RVarmap *ruby_dyna_vars; - #define mrb_str_ptr(s) ((struct RString*)((s).value.p)) #define RSTRING(s) ((struct RString*)((s).value.p)) #define RSTRING_PTR(s) (RSTRING(s)->buf) #define RSTRING_LEN(s) (RSTRING(s)->len) #define RSTRING_CAPA(s) (RSTRING(s)->aux.capa) -#define RSTRING_SHARED(s) (RSTRING(s)->aux.shared) #define RSTRING_END(s) (RSTRING(s)->buf + RSTRING(s)->len) #define MRB_STR_SHARED 256 @@ -73,64 +55,35 @@ void mrb_str_concat(mrb_state*, mrb_value, mrb_value); mrb_value mrb_obj_to_str(mrb_state*, mrb_value); mrb_value mrb_str_plus(mrb_state*, mrb_value, mrb_value); mrb_value mrb_obj_as_string(mrb_state *mrb, mrb_value obj); -mrb_value mrb_str_resize(mrb_state *mrb, mrb_value str, size_t len); /* mrb_str_resize */ +mrb_value mrb_str_resize(mrb_state *mrb, mrb_value str, int len); /* mrb_str_resize */ mrb_value mrb_string_value(mrb_state *mrb, mrb_value *ptr); /* StringValue */ mrb_value mrb_str_substr(mrb_state *mrb, mrb_value str, mrb_int beg, int len); mrb_value mrb_check_string_type(mrb_state *mrb, mrb_value str); -mrb_value mrb_str_buf_new(mrb_state *mrb, size_t capa); -mrb_value mrb_str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, size_t len); -mrb_value str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, size_t len); +mrb_value mrb_str_buf_new(mrb_state *mrb, int capa); +mrb_value mrb_str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, int len); char *mrb_string_value_cstr(mrb_state *mrb, mrb_value *ptr); char *mrb_string_value_ptr(mrb_state *mrb, mrb_value ptr); -mrb_value mrb_str_subseq(mrb_state *mrb, mrb_value str, long beg, long len); -size_t mrb_str_sublen(mrb_state *mrb, mrb_value str, long pos); -mrb_value mrb_str_size(mrb_state *mrb, mrb_value self); -long mrb_str_offset(mrb_state *mrb, mrb_value str, long pos); -mrb_value mrb_str_new2(mrb_state *mrb, const char *p); +int mrb_str_sublen(mrb_state *mrb, mrb_value str, int pos); +int mrb_str_offset(mrb_state *mrb, mrb_value str, int pos); mrb_value mrb_str_dup(mrb_state *mrb, mrb_value str); /* mrb_str_dup */ -mrb_value mrb_str_new_frozen(mrb_state *mrb, mrb_value orig); -mrb_value mrb_lastline_get(mrb_state *mrb); -mrb_value mrb_usascii_str_new(mrb_state *mrb, const char *ptr, long len); -void mrb_lastline_set(mrb_value val); -mrb_value mrb_str_buf_cat_ascii(mrb_state *mrb, mrb_value str, const char *ptr); -void mrb_str_modify(mrb_state *mrb, mrb_value str); -void mrb_str_set_len(mrb_state *mrb, mrb_value str, long len); mrb_value mrb_str_intern(mrb_state *mrb, mrb_value self); -void mrb_str_shared_replace(mrb_state *mrb, mrb_value str, mrb_value str2); mrb_value mrb_str_cat2(mrb_state *mrb, mrb_value str, const char *ptr); mrb_value mrb_str_catf(mrb_state *mrb, mrb_value str, const char *format, ...); mrb_value mrb_str_to_inum(mrb_state *mrb, mrb_value str, int base, int badcheck); double mrb_str_to_dbl(mrb_state *mrb, mrb_value str, int badcheck); mrb_value mrb_str_to_str(mrb_state *mrb, mrb_value str); -mrb_value mrb_locale_str_new(mrb_state *mrb, const char *ptr, long len); -mrb_value mrb_filesystem_str_new_cstr(mrb_state *mrb, const char *ptr); mrb_int mrb_str_hash(mrb_state *mrb, mrb_value str); int mrb_str_hash_cmp(mrb_state *mrb, mrb_value str1, mrb_value str2); -mrb_value str_new3(mrb_state *mrb, struct RClass* klass, mrb_value str); mrb_value mrb_str_buf_append(mrb_state *mrb, mrb_value str, mrb_value str2); -void mrb_str_setter(mrb_state *mrb, mrb_value val, mrb_sym id, mrb_value *var); -int mrb_str_is_ascii_only_p(mrb_state *mrb, mrb_value str); mrb_value mrb_str_inspect(mrb_state *mrb, mrb_value str); int mrb_str_equal(mrb_state *mrb, mrb_value str1, mrb_value str2); -mrb_value str_new4(mrb_state *mrb, mrb_value str); mrb_value * mrb_svar(mrb_int cnt); mrb_value mrb_str_drop_bytes(mrb_state *mrb, mrb_value str, long len); mrb_value mrb_str_dump(mrb_state *mrb, mrb_value str); mrb_value mrb_str_cat(mrb_state *mrb, mrb_value str, const char *ptr, long len); mrb_value mrb_str_append(mrb_state *mrb, mrb_value str, mrb_value str2); -size_t mrb_str_capacity(mrb_value str); - -#ifdef INCLUDE_ENCODING -int sym_printable(mrb_state *mrb, const char *s, const char *send, mrb_encoding *enc); -mrb_value mrb_str_conv_enc(mrb_state *mrb, mrb_value str, mrb_encoding *from, mrb_encoding *to); -mrb_value mrb_str_conv_enc_opts(mrb_state *mrb, mrb_value str, mrb_encoding *from, mrb_encoding *to, int ecflags, mrb_value ecopts); -mrb_value mrb_enc_str_new(mrb_state *mrb, const char *ptr, long len, mrb_encoding *enc); -#else -int mrb_symname_p(const char *name); -#endif -mrb_value mrb_tainted_str_new(mrb_state *mrb, const char *ptr, long len); int mrb_str_cmp(mrb_state *mrb, mrb_value str1, mrb_value str2); #if defined(__cplusplus) |
