From 9e522b2a68247f54c49dca5177a8ee3fc407009c Mon Sep 17 00:00:00 2001 From: "Gu://em_" Date: Fri, 30 Jan 2026 22:55:07 +0100 Subject: [PATCH] feat: lexer support for loops keywords --- src/lexer/lexer_utils.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lexer/lexer_utils.c b/src/lexer/lexer_utils.c index 3c6c361..babf9da 100644 --- a/src/lexer/lexer_utils.c +++ b/src/lexer/lexer_utils.c @@ -72,6 +72,16 @@ static void set_token_keyword(struct token *tok, char *begin, ssize_t size) tok->type = TOKEN_ELSE; else if (strncmp(begin, "elif", size) == 0 && size == 4) tok->type = TOKEN_ELIF; + else if (strncmp(begin, "for", size) == 0 && size == 3) + tok->type = TOKEN_FOR; + else if (strncmp(begin, "while", size) == 0 && size == 5) + tok->type = TOKEN_WHILE; + else if (strncmp(begin, "until", size) == 0 && size == 4) + tok->type = TOKEN_UNTIL; + else if (strncmp(begin, "do", size) == 0 && size == 2) + tok->type = TOKEN_DO; + else if (strncmp(begin, "done", size) == 0 && size == 4) + tok->type = TOKEN_DONE; else if (strncmp(begin, "export", size) == 0 && size == 6) tok->type = TOKEN_EXPORT;