diff options
| -rw-r--r-- | Doxyfile | 2 | ||||
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | doc/guides/debugger.md | 2 | ||||
| -rw-r--r-- | doc/limitations.md | 20 | ||||
| -rw-r--r-- | include/mrbconf.h | 3 | ||||
| -rw-r--r-- | include/mruby/version.h | 8 | ||||
| -rw-r--r-- | mrbgems/mruby-compiler/core/parse.y | 64 |
7 files changed, 28 insertions, 73 deletions
@@ -6,7 +6,7 @@ DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = "mruby" -PROJECT_NUMBER = 2.0.1 +PROJECT_NUMBER = 2.1.0 PROJECT_BRIEF = "mruby is the lightweight implementation of the Ruby language" @@ -17,7 +17,7 @@ of the Ministry of Economy, Trade and Industry of Japan. ## How to get mruby -The stable version 2.0.1 of mruby can be downloaded via the following URL: [https://github.com/mruby/mruby/archive/2.0.1.zip](https://github.com/mruby/mruby/archive/2.0.1.zip) +The stable version 2.1.0 of mruby can be downloaded via the following URL: [https://github.com/mruby/mruby/archive/2.1.0.zip](https://github.com/mruby/mruby/archive/2.1.0.zip) The latest development version of mruby can be downloaded via the following URL: [https://github.com/mruby/mruby/zipball/master](https://github.com/mruby/mruby/zipball/master) diff --git a/doc/guides/debugger.md b/doc/guides/debugger.md index 81c0e9d63..a94ef1802 100644 --- a/doc/guides/debugger.md +++ b/doc/guides/debugger.md @@ -38,7 +38,7 @@ To confirm mrdb was installed properly, run mrdb with the `--version` option: ```bash $ mrdb --version -mruby 2.0.1 (2019-4-4) +mruby 2.1.0 (2019-11-19) ``` ## 2.2 Basic Operation diff --git a/doc/limitations.md b/doc/limitations.md index 6958d396f..9ad2019f7 100644 --- a/doc/limitations.md +++ b/doc/limitations.md @@ -38,7 +38,7 @@ puts [1,2,3] 3 ``` -#### mruby [2.0.1 (2019-4-4)] +#### mruby [2.1.0 (2019-11-19)] ``` [1, 2, 3] @@ -61,7 +61,7 @@ end `ZeroDivisionError` is raised. -#### mruby [2.0.1 (2019-4-4)] +#### mruby [2.1.0 (2019-11-19)] No exception is raised. @@ -89,7 +89,7 @@ p Liste.new "foobar" ` [] ` -#### mruby [2.0.1 (2019-4-4)] +#### mruby [2.1.0 (2019-11-19)] `ArgumentError` is raised. @@ -119,7 +119,7 @@ false true ``` -#### mruby [2.0.1 (2019-4-4)] +#### mruby [2.1.0 (2019-11-19)] ``` true @@ -156,7 +156,7 @@ p 'ok' ok ``` -#### mruby [2.0.1 (2019-4-4)] +#### mruby [2.1.0 (2019-11-19)] ``` test.rb:8: undefined method 'test_func' (NoMethodError) @@ -178,7 +178,7 @@ defined?(Foo) nil ``` -#### mruby [2.0.1 (2019-4-4)] +#### mruby [2.1.0 (2019-11-19)] `NameError` is raised. @@ -195,7 +195,7 @@ alias $a $__a__ ` nil ` -#### mruby [2.0.1 (2019-4-4)] +#### mruby [2.1.0 (2019-11-19)] Syntax error @@ -217,7 +217,7 @@ end `ArgumentError` is raised. The re-defined `+` operator does not accept any arguments. -#### mruby [2.0.1 (2019-4-4)] +#### mruby [2.1.0 (2019-11-19)] ` 'ab' ` Behavior of the operator wasn't changed. @@ -233,7 +233,7 @@ $ ruby -e 'puts Proc.new {}.binding' #<Binding:0x00000e9deabb9950> ``` -#### mruby [2.0.1 (2019-4-4)] +#### mruby [2.1.0 (2019-11-19)] ``` $ ./bin/mruby -e 'puts Proc.new {}.binding' @@ -255,7 +255,7 @@ $ ruby -e 'def m(*r,**k) p [r,k] end; m("a"=>1,:b=>2)' [[{"a"=>1}], {:b=>2}] ``` -#### mruby [mruby 2.0.1] +#### mruby [mruby 2.1.0] ``` $ ./bin/mruby -e 'def m(*r,**k) p [r,k] end; m("a"=>1,:b=>2)' diff --git a/include/mrbconf.h b/include/mrbconf.h index b86ce82e8..0509f4ff9 100644 --- a/include/mrbconf.h +++ b/include/mrbconf.h @@ -62,9 +62,6 @@ # endif #endif -#define MRB_COMPLEX_NUMBERS -#define MRB_RATIONAL_NUMBERS - /* define on big endian machines; used by MRB_NAN_BOXING, etc. */ #ifndef MRB_ENDIAN_BIG # if (defined(BYTE_ORDER) && defined(BIG_ENDIAN) && BYTE_ORDER == BIG_ENDIAN) || \ diff --git a/include/mruby/version.h b/include/mruby/version.h index 1c7655a47..f4ef21021 100644 --- a/include/mruby/version.h +++ b/include/mruby/version.h @@ -42,12 +42,12 @@ MRB_BEGIN_DECL /* * Minor release version number. */ -#define MRUBY_RELEASE_MINOR 0 +#define MRUBY_RELEASE_MINOR 1 /* * Tiny release version number. */ -#define MRUBY_RELEASE_TEENY 1 +#define MRUBY_RELEASE_TEENY 0 /* * The mruby version. @@ -67,12 +67,12 @@ MRB_BEGIN_DECL /* * Release month. */ -#define MRUBY_RELEASE_MONTH 4 +#define MRUBY_RELEASE_MONTH 11 /* * Release day. */ -#define MRUBY_RELEASE_DAY 4 +#define MRUBY_RELEASE_DAY 19 /* * Release date as a string. diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 5a405b8cb..911812706 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -71,23 +71,8 @@ typedef unsigned int stack_type; #define nint(x) ((node*)(intptr_t)(x)) #define intn(x) ((int)(intptr_t)(x)) -#if defined(MRB_COMPLEX_NUMBERS) || defined(MRB_RATIONAL_NUMBERS) - #define MRB_SUFFIX_SUPPORT - - #ifdef MRB_RATIONAL_NUMBERS - #define NUM_SUFFIX_R (1<<0) - #else - #define NUM_SUFFIX_R 0 - #endif - - #ifdef MRB_COMPLEX_NUMBERS - #define NUM_SUFFIX_I (1<<1) - #else - #define NUM_SUFFIX_I 0 - #endif - - #define NUM_SUFFIX_ALL (NUM_SUFFIX_R | NUM_SUFFIX_I) -#endif +#define NUM_SUFFIX_R (1<<0) +#define NUM_SUFFIX_I (1<<1) static inline mrb_sym intern_cstr_gen(parser_state *p, const char *s) @@ -866,37 +851,29 @@ new_op_asgn(parser_state *p, node *a, mrb_sym op, node *b) return list4((node*)NODE_OP_ASGN, a, nsym(op), b); } -#ifdef MRB_COMPLEX_NUMBERS static node* new_imaginary(parser_state *p, node *imaginary) { return new_call(p, new_const(p, intern_lit("Kernel")), intern_lit("Complex"), list1(list2(list3((node*)NODE_INT, (node*)strdup("0"), nint(10)), imaginary)), 1); } -#endif -#ifdef MRB_RATIONAL_NUMBERS static node* new_rational(parser_state *p, node *rational) { return new_call(p, new_const(p, intern_lit("Kernel")), intern_lit("Rational"), list1(list1(rational)), 1); } -#endif /* (:int . i) */ static node* new_int(parser_state *p, const char *s, int base, int suffix) { node* result = list3((node*)NODE_INT, (node*)strdup(s), nint(base)); -#ifdef MRB_RATIONAL_NUMBERS if (suffix & NUM_SUFFIX_R) { result = new_rational(p, result); } -#endif -#ifdef MRB_COMPLEX_NUMBERS if (suffix & NUM_SUFFIX_I) { result = new_imaginary(p, result); } -#endif return result; } @@ -906,16 +883,12 @@ static node* new_float(parser_state *p, const char *s, int suffix) { node* result = cons((node*)NODE_FLOAT, (node*)strdup(s)); -#ifdef MRB_RATIONAL_NUMBERS if (suffix & NUM_SUFFIX_R) { result = new_rational(p, result); } -#endif -#ifdef MRB_COMPLEX_NUMBERS if (suffix & NUM_SUFFIX_I) { result = new_imaginary(p, result); } -#endif return result; } #endif @@ -4585,13 +4558,13 @@ parse_string(parser_state *p) return tSTRING; } -#ifdef MRB_SUFFIX_SUPPORT static int -number_literal_suffix(parser_state *p, int mask) +number_literal_suffix(parser_state *p) { int c, result = 0; node *list = 0; int column = p->column; + int mask = NUM_SUFFIX_R|NUM_SUFFIX_I; while ((c = nextc(p)) != -1) { list = push(list, (node*)(intptr_t)c); @@ -4623,7 +4596,6 @@ number_literal_suffix(parser_state *p, int mask) } return result; } -#endif static int heredoc_identifier(parser_state *p) @@ -5246,9 +5218,7 @@ parser_yylex(parser_state *p) no_digits(); } else if (nondigit) goto trailing_uc; - #ifdef MRB_SUFFIX_SUPPORT - suffix = number_literal_suffix(p, NUM_SUFFIX_ALL); - #endif + suffix = number_literal_suffix(p); pylval.nd = new_int(p, tok(p), 16, suffix); return tINTEGER; } @@ -5273,9 +5243,7 @@ parser_yylex(parser_state *p) no_digits(); } else if (nondigit) goto trailing_uc; - #ifdef MRB_SUFFIX_SUPPORT - suffix = number_literal_suffix(p, NUM_SUFFIX_ALL); - #endif + suffix = number_literal_suffix(p); pylval.nd = new_int(p, tok(p), 2, suffix); return tINTEGER; } @@ -5300,9 +5268,7 @@ parser_yylex(parser_state *p) no_digits(); } else if (nondigit) goto trailing_uc; - #ifdef MRB_SUFFIX_SUPPORT - suffix = number_literal_suffix(p, NUM_SUFFIX_ALL); - #endif + suffix = number_literal_suffix(p); pylval.nd = new_int(p, tok(p), 10, suffix); return tINTEGER; } @@ -5336,9 +5302,7 @@ parser_yylex(parser_state *p) pushback(p, c); tokfix(p); if (nondigit) goto trailing_uc; - #ifdef MRB_SUFFIX_SUPPORT - suffix = number_literal_suffix(p, NUM_SUFFIX_ALL); - #endif + suffix = number_literal_suffix(p); pylval.nd = new_int(p, tok(p), 8, suffix); return tINTEGER; } @@ -5356,9 +5320,7 @@ parser_yylex(parser_state *p) } else { pushback(p, c); - #ifdef MRB_SUFFIX_SUPPORT - suffix = number_literal_suffix(p, NUM_SUFFIX_ALL); - #endif + suffix = number_literal_suffix(p); pylval.nd = new_int(p, "0", 10, suffix); return tINTEGER; } @@ -5448,16 +5410,12 @@ parser_yylex(parser_state *p) yywarning_s(p, "float out of range", tok(p)); errno = 0; } - #ifdef MRB_SUFFIX_SUPPORT - suffix = number_literal_suffix(p, NUM_SUFFIX_ALL); - #endif + suffix = number_literal_suffix(p); pylval.nd = new_float(p, tok(p), suffix); return tFLOAT; #endif } - #ifdef MRB_SUFFIX_SUPPORT - suffix = number_literal_suffix(p, NUM_SUFFIX_ALL); - #endif + suffix = number_literal_suffix(p); pylval.nd = new_int(p, tok(p), 10, suffix); return tINTEGER; } |
