add building the self hosted compiler to the main test suite

This commit is contained in:
Andrew Kelley
2018-01-03 18:25:17 -05:00
parent 5b156031e9
commit a45db7e853
3 changed files with 22 additions and 3 deletions

View File

@@ -626,3 +626,8 @@ fn findZigLibDir(allocator: &mem.Allocator) -> %[]u8 {
return error.FileNotFound;
}
test "import tests" {
_ = @import("tokenizer.zig");
_ = @import("parser.zig");
}

View File

@@ -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' => {},