From e55d45bac0bbd3039118bffa7e6aaf01c04b991a Mon Sep 17 00:00:00 2001 From: A404M Date: Sun, 25 May 2025 01:38:01 +0330 Subject: add bitwise not and xor or --- src/compiler/lexer.h | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'src/compiler/lexer.h') diff --git a/src/compiler/lexer.h b/src/compiler/lexer.h index e56617f..045bf6e 100644 --- a/src/compiler/lexer.h +++ b/src/compiler/lexer.h @@ -35,6 +35,10 @@ typedef enum LexerToken { LEXER_TOKEN_BUILTIN_PUTC, LEXER_TOKEN_BUILTIN_C_LIBRARY, LEXER_TOKEN_BUILTIN_C_FUNCTION, + LEXER_TOKEN_BUILTIN_BITWISE_NOT, + LEXER_TOKEN_BUILTIN_BITWISE_AND, + LEXER_TOKEN_BUILTIN_BITWISE_XOR, + LEXER_TOKEN_BUILTIN_BITWISE_OR, LEXER_TOKEN_KEYWORD_TYPE, LEXER_TOKEN_KEYWORD_VOID, LEXER_TOKEN_KEYWORD_I8, @@ -81,6 +85,7 @@ typedef enum LexerToken { LEXER_TOKEN_SYMBOL_MINUS, LEXER_TOKEN_SYMBOL_ADDRESS, LEXER_TOKEN_SYMBOL_LOGICAL_NOT, + LEXER_TOKEN_SYMBOL_BITWISE_NOT, LEXER_TOKEN_SYMBOL_MULTIPLY, LEXER_TOKEN_ORDER5 = LEXER_TOKEN_SYMBOL_MULTIPLY, @@ -99,15 +104,20 @@ typedef enum LexerToken { LEXER_TOKEN_SYMBOL_GREATER_OR_EQUAL, LEXER_TOKEN_SYMBOL_SMALLER_OR_EQUAL, + LEXER_TOKEN_SYMBOL_BITWISE_AND, + LEXER_TOKEN_ORDER8 = LEXER_TOKEN_SYMBOL_BITWISE_AND, + LEXER_TOKEN_SYMBOL_BITWISE_XOR, + LEXER_TOKEN_SYMBOL_BITWISE_OR, + LEXER_TOKEN_SYMBOL_LOGICAL_AND, - LEXER_TOKEN_ORDER8 = LEXER_TOKEN_SYMBOL_LOGICAL_AND, + LEXER_TOKEN_ORDER9 = LEXER_TOKEN_SYMBOL_LOGICAL_AND, LEXER_TOKEN_SYMBOL_LOGICAL_OR, LEXER_TOKEN_SYMBOL_COLON, - LEXER_TOKEN_ORDER9 = LEXER_TOKEN_SYMBOL_COLON, + LEXER_TOKEN_ORDER10 = LEXER_TOKEN_SYMBOL_COLON, LEXER_TOKEN_SYMBOL_ASSIGN, - LEXER_TOKEN_ORDER10 = LEXER_TOKEN_SYMBOL_ASSIGN, + LEXER_TOKEN_ORDER11 = LEXER_TOKEN_SYMBOL_ASSIGN, LEXER_TOKEN_SYMBOL_SUM_ASSIGN, LEXER_TOKEN_SYMBOL_SUB_ASSIGN, LEXER_TOKEN_SYMBOL_MULTIPLY_ASSIGN, @@ -115,17 +125,17 @@ typedef enum LexerToken { LEXER_TOKEN_SYMBOL_MODULO_ASSIGN, LEXER_TOKEN_KEYWORD_RETURN, - LEXER_TOKEN_ORDER11 = LEXER_TOKEN_KEYWORD_RETURN, + LEXER_TOKEN_ORDER12 = LEXER_TOKEN_KEYWORD_RETURN, LEXER_TOKEN_KEYWORD_BREAK, LEXER_TOKEN_KEYWORD_CONTINUE, LEXER_TOKEN_KEYWORD_COMPTIME, LEXER_TOKEN_SYMBOL_EOL, - LEXER_TOKEN_ORDER12 = LEXER_TOKEN_SYMBOL_EOL, + LEXER_TOKEN_ORDER13 = LEXER_TOKEN_SYMBOL_EOL, LEXER_TOKEN_SYMBOL_COMMA, LEXER_TOKEN_KEYWORD_IF, - LEXER_TOKEN_ORDER13 = LEXER_TOKEN_KEYWORD_IF, + LEXER_TOKEN_ORDER14 = LEXER_TOKEN_KEYWORD_IF, LEXER_TOKEN_KEYWORD_WHILE, LEXER_TOKEN_KEYWORD_ELSE, -- cgit v1.2.3