From aba7302e7e98fd7bca2056d8ad622d9ca81c495f Mon Sep 17 00:00:00 2001 From: Carlos Maniero Date: Mon, 8 May 2023 23:53:41 -0300 Subject: parser: Add the bool type This commit introduces a new type for booleans. There is no code generation for this type yet. The intention of this commit is to enable flow control in the near future. Signed-off-by: Carlos Maniero Reviewed-by: Johnny Richard --- src/lexer.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/lexer.c') diff --git a/src/lexer.c b/src/lexer.c index 72c27cd..f84163d 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -111,6 +111,14 @@ lexer_token_process_keyword(token_t *token) token->kind = TOKEN_KEYWORD_FN; return; } + if (string_view_eq(string_view_from_str("true"), token->value)) { + token->kind = TOKEN_TRUE; + return; + } + if (string_view_eq(string_view_from_str("false"), token->value)) { + token->kind = TOKEN_FALSE; + return; + } } void @@ -454,6 +462,10 @@ token_kind_to_str(token_kind_t kind) return "fn"; case TOKEN_KEYWORD_LET: return "let"; + case TOKEN_TRUE: + return "true"; + case TOKEN_FALSE: + return "false"; case TOKEN_EOF: return "TOKEN_EOF"; case TOKEN_UNKNOWN: -- cgit v1.2.3