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, StringLiteral: StrLitKind,
Eof, Eof,
Builtin, Builtin,
Equal,
LParen,
RParen,
Semicolon,
}; };
}; };
@ -130,6 +134,26 @@ const Tokenizer = struct {
state = State.Builtin; state = State.Builtin;
result.id = Token.Id { .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 => { else => {
result.id = Token.Id { .Invalid = {} }; result.id = Token.Id { .Invalid = {} };
self.index += 1; self.index += 1;