aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorVexu <git@vexu.eu>2020-08-28 15:56:24 +0300
committerVexu <git@vexu.eu>2020-09-03 15:05:47 +0300
commit1174cb15173208ead5f2ce828ade5b7d07ce6abe (patch)
treeebc70cdd6f59c97d100a1302c898564afa9e1d08 /lib
parent6ab0ac161e02c2361b72d124423509556b9332fa (diff)
downloadzig-1174cb15173208ead5f2ce828ade5b7d07ce6abe.tar.gz
zig-1174cb15173208ead5f2ce828ade5b7d07ce6abe.zip
stage2: fix tokenizer float bug
Diffstat (limited to 'lib')
-rw-r--r--lib/std/zig/tokenizer.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/std/zig/tokenizer.zig b/lib/std/zig/tokenizer.zig
index 47c7d23b35..86968c73b2 100644
--- a/lib/std/zig/tokenizer.zig
+++ b/lib/std/zig/tokenizer.zig
@@ -1175,6 +1175,7 @@ pub const Tokenizer = struct {
},
.num_dot_dec => switch (c) {
'.' => {
+ result.id = .IntegerLiteral;
self.index -= 1;
state = .start;
break;
@@ -1183,7 +1184,6 @@ pub const Tokenizer = struct {
state = .float_exponent_unsigned;
},
'0'...'9' => {
- result.id = .FloatLiteral;
state = .float_fraction_dec;
},
else => {
@@ -1769,6 +1769,7 @@ test "tokenizer - number literals decimal" {
testTokenize("7", &[_]Token.Id{.IntegerLiteral});
testTokenize("8", &[_]Token.Id{.IntegerLiteral});
testTokenize("9", &[_]Token.Id{.IntegerLiteral});
+ testTokenize("1..", &[_]Token.Id{ .IntegerLiteral, .Ellipsis2 });
testTokenize("0a", &[_]Token.Id{ .Invalid, .Identifier });
testTokenize("9b", &[_]Token.Id{ .Invalid, .Identifier });
testTokenize("1z", &[_]Token.Id{ .Invalid, .Identifier });