summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core/parse.y
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-11-04 12:33:07 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-11-04 12:33:07 +0900
commitd6cb4f9cf2027eb20f67238aa6c051448602e7e6 (patch)
treec025d53534298097aadc3d7699de964bd8a7225f /mrbgems/mruby-compiler/core/parse.y
parent388d26d77027feaa3e107abf7209e2681868bbe6 (diff)
parenta751f7f196e35cf85ac6f5c0d855edeb68b2bf53 (diff)
downloadmruby-d6cb4f9cf2027eb20f67238aa6c051448602e7e6.tar.gz
mruby-d6cb4f9cf2027eb20f67238aa6c051448602e7e6.zip
Merge branch 'pandax381-mrb_without_float'
Diffstat (limited to 'mrbgems/mruby-compiler/core/parse.y')
-rw-r--r--mrbgems/mruby-compiler/core/parse.y8
1 files changed, 8 insertions, 0 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y
index e5017b677..01269d8da 100644
--- a/mrbgems/mruby-compiler/core/parse.y
+++ b/mrbgems/mruby-compiler/core/parse.y
@@ -740,12 +740,14 @@ new_int(parser_state *p, const char *s, int base)
return list3((node*)NODE_INT, (node*)strdup(s), nint(base));
}
+#ifndef MRB_WITHOUT_FLOAT
/* (:float . i) */
static node*
new_float(parser_state *p, const char *s)
{
return cons((node*)NODE_FLOAT, (node*)strdup(s));
}
+#endif
/* (:str . (s . len)) */
static node*
@@ -4962,6 +4964,11 @@ parser_yylex(parser_state *p)
}
tokfix(p);
if (is_float) {
+#ifdef MRB_WITHOUT_FLOAT
+ yywarning_s(p, "floating point numbers are not supported", tok(p));
+ pylval.nd = new_int(p, "0", 10);
+ return tINTEGER;
+#else
double d;
char *endp;
@@ -4976,6 +4983,7 @@ parser_yylex(parser_state *p)
}
pylval.nd = new_float(p, tok(p));
return tFLOAT;
+#endif
}
pylval.nd = new_int(p, tok(p), 10);
return tINTEGER;