about summary refs log tree commit diff
path: root/src/tokenizer.zig
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2025-02-15 23:09:35 +0100
committerBaitinq <[email protected]>2025-02-15 23:12:27 +0100
commitadfde11dd5495cbe28e7faba6dd14b48897b8b7b (patch)
tree7c818a6892938a840dd35f7e631ba6bbb532075d /src/tokenizer.zig
parentCodegen: depend on libc for entrypoint (diff)
downloadinterpreter-adfde11dd5495cbe28e7faba6dd14b48897b8b7b.tar.gz
interpreter-adfde11dd5495cbe28e7faba6dd14b48897b8b7b.tar.bz2
interpreter-adfde11dd5495cbe28e7faba6dd14b48897b8b7b.zip
Codegen: start supporting types for function params
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 a955c65..908c016 100644
--- a/src/tokenizer.zig
+++ b/src/tokenizer.zig
@@ -30,6 +30,7 @@ pub const TokenType = union(enum) {
     // Punctuation
     SEMICOLON: void,
     COMMA: void,
+    COLON: void,
     LPAREN: void,
     RPAREN: void,
     LBRACE: void,
@@ -72,6 +73,7 @@ pub const Tokenizer = struct {
         if (self.accept_string("=>")) return self.create_token(.{ .ARROW = void{} });
         if (self.accept_string(";")) return self.create_token(.{ .SEMICOLON = void{} });
         if (self.accept_string(",")) return self.create_token(.{ .COMMA = void{} });
+        if (self.accept_string(":")) return self.create_token(.{ .COLON = void{} });
         if (self.accept_string("(")) return self.create_token(.{ .LPAREN = void{} });
         if (self.accept_string(")")) return self.create_token(.{ .RPAREN = void{} });
         if (self.accept_string("{")) return self.create_token(.{ .LBRACE = void{} });