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;