tokenizing basic operators

This commit is contained in:
Andrew Kelley 2017-12-04 23:29:39 -05:00
parent 07898cc0df
commit 7297baa9c6

View File

@ -73,6 +73,10 @@ const Token = struct {
StringLiteral: StrLitKind,
Eof,
Builtin,
Equal,
LParen,
RParen,
Semicolon,
};
};
@ -130,6 +134,26 @@ const Tokenizer = struct {
state = State.Builtin;
result.id = Token.Id { .Builtin = {} };
},
'=' => {
result.id = Token.Id { .Equal = {} };
self.index += 1;
break;
},
'(' => {
result.id = Token.Id { .LParen = {} };
self.index += 1;
break;
},
')' => {
result.id = Token.Id { .RParen = {} };
self.index += 1;
break;
},
';' => {
result.id = Token.Id { .Semicolon = {} };
self.index += 1;
break;
},
else => {
result.id = Token.Id { .Invalid = {} };
self.index += 1;