From a45db7e853c2aa04ff7a91dbda975f181aa467bd Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 3 Jan 2018 18:25:17 -0500 Subject: add building the self hosted compiler to the main test suite --- src-self-hosted/tokenizer.zig | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src-self-hosted/tokenizer.zig') diff --git a/src-self-hosted/tokenizer.zig b/src-self-hosted/tokenizer.zig index de2fbdc1ee..92312a063a 100644 --- a/src-self-hosted/tokenizer.zig +++ b/src-self-hosted/tokenizer.zig @@ -204,6 +204,7 @@ pub const Tokenizer = struct { LineComment, Zero, IntegerLiteral, + IntegerLiteralWithRadix, NumberDot, FloatFraction, FloatExponentUnsigned, @@ -454,7 +455,7 @@ pub const Tokenizer = struct { }, State.Zero => switch (c) { 'b', 'o', 'x' => { - state = State.IntegerLiteral; + state = State.IntegerLiteralWithRadix; }, else => { // reinterpret as a normal number @@ -469,6 +470,16 @@ pub const Tokenizer = struct { 'p', 'P', 'e', 'E' => { state = State.FloatExponentUnsigned; }, + '0'...'9' => {}, + else => break, + }, + State.IntegerLiteralWithRadix => switch (c) { + '.' => { + state = State.NumberDot; + }, + 'p', 'P' => { + state = State.FloatExponentUnsigned; + }, '0'...'9', 'a'...'f', 'A'...'F' => {}, else => break, }, @@ -485,7 +496,7 @@ pub const Tokenizer = struct { }, }, State.FloatFraction => switch (c) { - 'p', 'P', 'e', 'E' => { + 'p', 'P' => { state = State.FloatExponentUnsigned; }, '0'...'9', 'a'...'f', 'A'...'F' => {}, -- cgit v1.2.3