about summary refs log tree commit diff
path: root/src/tokenizer.zig
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2025-06-06 00:21:08 +0200
committerBaitinq <[email protected]>2025-06-06 00:21:08 +0200
commit5409e79d4e2917e8daa4d7d218b0cf25686ffe98 (patch)
tree192945d3ebc8d75a586c381851012a3ca9f5bf46 /src/tokenizer.zig
parentBootstrap: Codegen: Continue implementation (diff)
downloadinterpreter-5409e79d4e2917e8daa4d7d218b0cf25686ffe98.tar.gz
interpreter-5409e79d4e2917e8daa4d7d218b0cf25686ffe98.tar.bz2
interpreter-5409e79d4e2917e8daa4d7d218b0cf25686ffe98.zip
Feature: Support declaring type aliases
Diffstat (limited to '')
-rw-r--r--src/tokenizer.zig2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/tokenizer.zig b/src/tokenizer.zig
index f6fbf11..5dacc75 100644
--- a/src/tokenizer.zig
+++ b/src/tokenizer.zig
@@ -16,6 +16,7 @@ pub const TokenType = union(enum) {
     CONTINUE: void,
     ARROW: void,
     STRUCT: void,
+    TYPE: void,
 
     // Identifiers
     IDENTIFIER: []u8,
@@ -101,6 +102,7 @@ pub const Tokenizer = struct {
         if (self.accept_string("false")) return self.create_token(.{ .BOOLEAN = false });
         if (self.accept_string("null")) return self.create_token(.{ .NULL = void{} });
         if (self.accept_string("struct")) return self.create_token(.{ .STRUCT = void{} });
+        if (self.accept_string("newtype")) return self.create_token(.{ .TYPE = void{} });
 
         if (self.accept_string("=>")) return self.create_token(.{ .ARROW = void{} });
         if (self.accept_string(";")) return self.create_token(.{ .SEMICOLON = void{} });