summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Doxyfile2
-rw-r--r--README.md2
-rw-r--r--doc/guides/debugger.md2
-rw-r--r--doc/limitations.md20
-rw-r--r--include/mrbconf.h3
-rw-r--r--include/mruby/version.h8
-rw-r--r--mrbgems/mruby-compiler/core/parse.y64
7 files changed, 28 insertions, 73 deletions
diff --git a/Doxyfile b/Doxyfile
index 8724fe1ac..8e465afad 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -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"
diff --git a/README.md b/README.md
index ec3492530..18ac2a491 100644
--- a/README.md
+++ b/README.md
@@ -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;
}