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/parser.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/compiler/parser.h') diff --git a/src/compiler/parser.h b/src/compiler/parser.h index 1b202c3..45804f7 100644 --- a/src/compiler/parser.h +++ b/src/compiler/parser.h @@ -31,6 +31,10 @@ typedef enum ParserToken { PARSER_TOKEN_BUILTIN_PUTC, PARSER_TOKEN_BUILTIN_C_LIBRARY, PARSER_TOKEN_BUILTIN_C_FUNCTION, + PARSER_TOKEN_BUILTIN_BITWISE_NOT, + PARSER_TOKEN_BUILTIN_BITWISE_AND, + PARSER_TOKEN_BUILTIN_BITWISE_XOR, + PARSER_TOKEN_BUILTIN_BITWISE_OR, PARSER_TOKEN_VALUE_INT, PARSER_TOKEN_VALUE_FLOAT, @@ -108,6 +112,10 @@ typedef enum ParserToken { PARSER_TOKEN_OPERATOR_LOGICAL_NOT, PARSER_TOKEN_OPERATOR_LOGICAL_AND, PARSER_TOKEN_OPERATOR_LOGICAL_OR, + PARSER_TOKEN_OPERATOR_BITWISE_NOT, + PARSER_TOKEN_OPERATOR_BITWISE_AND, + PARSER_TOKEN_OPERATOR_BITWISE_XOR, + PARSER_TOKEN_OPERATOR_BITWISE_OR, PARSER_TOKEN_FUNCTION_DEFINITION, @@ -262,6 +270,9 @@ ParserNode *parserBinaryOrLeftOperator(LexerNode *node, LexerNode *begin, LexerToken laterToken); ParserNode *parserLeftOperator(LexerNode *node, LexerNode *end, ParserNode *parent, ParserToken token); +ParserNode *parserLeftOperatorWithConti(LexerNode *node, LexerNode *begin, + LexerNode *end, ParserNode *parent, + ParserToken token, bool *conti); ParserNode *parserRightOperator(LexerNode *node, LexerNode *begin, ParserNode *parent, ParserToken token); ParserNode *parserIf(LexerNode *node, LexerNode *end, ParserNode *parent); -- cgit v1.2.3