authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-12-04 23:29:39-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-12-04 23:29:39-05:00
log7297baa9c6f3f1b894b47fe7b06b5ae2007d0f3c
treef61f583b7821c159a73d8a784b9f6383ce185f80
parent07898cc0dfae880b35bededa726c7e16a3c45f3d

tokenizing basic operators


1 files changed, 24 insertions(+), 0 deletions(-)

src-self-hosted/main.zig+24
...@@ -73,6 +73,10 @@ const Token = struct {...@@ -73,6 +73,10 @@ const Token = struct {
73 StringLiteral: StrLitKind,73 StringLiteral: StrLitKind,
74 Eof,74 Eof,
75 Builtin,75 Builtin,
76 Equal,
77 LParen,
78 RParen,
79 Semicolon,
76 };80 };
77};81};
7882
...@@ -130,6 +134,26 @@ const Tokenizer = struct {...@@ -130,6 +134,26 @@ const Tokenizer = struct {
130 state = State.Builtin;134 state = State.Builtin;
131 result.id = Token.Id { .Builtin = {} };135 result.id = Token.Id { .Builtin = {} };
132 },136 },
137 '=' => {
138 result.id = Token.Id { .Equal = {} };
139 self.index += 1;
140 break;
141 },
142 '(' => {
143 result.id = Token.Id { .LParen = {} };
144 self.index += 1;
145 break;
146 },
147 ')' => {
148 result.id = Token.Id { .RParen = {} };
149 self.index += 1;
150 break;
151 },
152 ';' => {
153 result.id = Token.Id { .Semicolon = {} };
154 self.index += 1;
155 break;
156 },
133 else => {157 else => {
134 result.id = Token.Id { .Invalid = {} };158 result.id = Token.Id { .Invalid = {} };
135 self.index += 1;159 self.index += 1;