about summary refs log tree commit diff
path: root/src/tokenizer.zig
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2025-03-23 01:21:49 +0100
committerBaitinq <[email protected]>2025-03-23 01:21:49 +0100
commitfe47528e65e4690a5600154978515cc29133e5da (patch)
treefa25e6a8601d2c0ebf950e80a98c8dccc67857fb /src/tokenizer.zig
parentMisc: Fix building on linux (diff)
downloadpry-lang-fe47528e65e4690a5600154978515cc29133e5da.tar.gz
pry-lang-fe47528e65e4690a5600154978515cc29133e5da.tar.bz2
pry-lang-fe47528e65e4690a5600154978515cc29133e5da.zip
Parser: Fix ambiguity with symbol declaration
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 f0dcd26..138ad69 100644
--- a/src/tokenizer.zig
+++ b/src/tokenizer.zig
@@ -7,6 +7,7 @@ const TokenizerError = error{
 pub const TokenType = union(enum) {
     // Keywords
     LET: void,
+    EXTERN: void,
     IF: void,
     WHILE: void,
     RETURN: void,
@@ -67,6 +68,7 @@ pub const Tokenizer = struct {
         if (self.offset >= self.buf.len) return null;
 
         if (self.accept_string("let")) return self.create_token(.{ .LET = void{} });
+        if (self.accept_string("extern")) return self.create_token(.{ .EXTERN = void{} });
         if (self.accept_string("if")) return self.create_token(.{ .IF = void{} });
         if (self.accept_string("while")) return self.create_token(.{ .WHILE = void{} });
         if (self.accept_string("return")) return self.create_token(.{ .RETURN = void{} });