From bdc4806f5ddc90aea8840225fd8993e305b7ad10 Mon Sep 17 00:00:00 2001 From: iamcheeseman Date: Fri, 17 Apr 2026 20:05:38 -0400 Subject: microscript: add and and or --- uscript/lex.c | 54 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 24 deletions(-) (limited to 'uscript/lex.c') diff --git a/uscript/lex.c b/uscript/lex.c index a25bb86..c8218fa 100644 --- a/uscript/lex.c +++ b/uscript/lex.c @@ -165,40 +165,46 @@ struct token ident_token(struct lexer *lex) u16 kind = TOKEN_IDENT; - if (match_kw(lex, "if")) - kind = TOKEN_IF; - else if (match_kw(lex, "elseif")) - kind = TOKEN_ELSEIF; + if (match_kw(lex, "and")) + kind = TOKEN_AND; + else if (match_kw(lex, "break")) + kind = TOKEN_BREAK; + else if (match_kw(lex, "do")) + kind = TOKEN_DO; else if (match_kw(lex, "else")) kind = TOKEN_ELSE; - else if (match_kw(lex, "loop")) - kind = TOKEN_LOOP; - else if (match_kw(lex, "true")) - kind = TOKEN_TRUE; + else if (match_kw(lex, "elseif")) + kind = TOKEN_ELSEIF; + else if (match_kw(lex, "end")) + kind = TOKEN_END; else if (match_kw(lex, "false")) kind = TOKEN_FALSE; - else if (match_kw(lex, "zilch")) - kind = TOKEN_ZILCH; + else if (match_kw(lex, "fun")) + kind = TOKEN_FUN; + else if (match_kw(lex, "global")) + kind = TOKEN_GLOBAL; + else if (match_kw(lex, "if")) + kind = TOKEN_IF; + else if (match_kw(lex, "in")) + kind = TOKEN_IN; + else if (match_kw(lex, "let")) + kind = TOKEN_LET; + else if (match_kw(lex, "loop")) + kind = TOKEN_LOOP; else if (match_kw(lex, "nada")) kind = TOKEN_ZILCH; - else if (match_kw(lex, "do")) - kind = TOKEN_DO; - else if (match_kw(lex, "break")) - kind = TOKEN_BREAK; else if (match_kw(lex, "next")) kind = TOKEN_NEXT; - else if (match_kw(lex, "in")) - kind = TOKEN_IN; - else if (match_kw(lex, "fun")) - kind = TOKEN_FUN; + else if (match_kw(lex, "not")) + kind = TOKEN_NOT; + else if (match_kw(lex, "or")) + kind = TOKEN_OR; else if (match_kw(lex, "ret")) kind = TOKEN_RET; - else if (match_kw(lex, "let")) - kind = TOKEN_LET; - else if (match_kw(lex, "end")) - kind = TOKEN_END; - else if (match_kw(lex, "global")) - kind = TOKEN_GLOBAL; + else if (match_kw(lex, "true")) + kind = TOKEN_TRUE; + else if (match_kw(lex, "zilch")) + kind = TOKEN_ZILCH; return create_token(lex, kind); } -- cgit v1.3-2-g0d8e