From 7297baa9c6f3f1b894b47fe7b06b5ae2007d0f3c Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 4 Dec 2017 23:29:39 -0500 Subject: [PATCH] tokenizing basic operators --- src-self-hosted/main.zig | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src-self-hosted/main.zig b/src-self-hosted/main.zig index 969b2a0bb4..263a4c9f7d 100644 --- a/src-self-hosted/main.zig +++ b/src-self-hosted/main.zig @@ -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;