From 9f2b1bdcfbbc084876c3ab7cc2cb8c15ffb88184 Mon Sep 17 00:00:00 2001 From: A404M Date: Thu, 30 Jan 2025 08:54:18 +0330 Subject: added assign operator --- src/compiler/parser.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/compiler/parser.h') diff --git a/src/compiler/parser.h b/src/compiler/parser.h index c20fc12..ea53042 100644 --- a/src/compiler/parser.h +++ b/src/compiler/parser.h @@ -26,6 +26,8 @@ typedef enum ParserToken { PARSER_TOKEN_SYMBOL_PARENTHESIS, PARSER_TOKEN_SYMBOL_COMMA, + PARSER_TOKEN_OPERATOR_ASSIGN, + PARSER_TOKEN_FUNCTION_DEFINITION, PARSER_TOKEN_FUNCTION_CALL, @@ -80,6 +82,11 @@ typedef ParserNode ParserNodeSingleChildMetadata; typedef uint64_t ParserNodeU64Metadata; +typedef struct ParserNodeInfixMetadata { + ParserNode *left; + ParserNode *right; +} ParserNodeInfixMetadata; + void parserNodePrint(const ParserNode *node, int indent); void parserNodeDelete(ParserNode *node); @@ -110,6 +117,8 @@ ParserNode *parserFunction(LexerNode *node, LexerNode *begin, LexerNode *end, ParserNode *parent); ParserNode *parserVariable(LexerNode *node, LexerNode *begin, LexerNode *end, ParserNode *parent); +ParserNode *parserAssign(LexerNode *node, LexerNode *begin, LexerNode *end, + ParserNode *parent); bool isAllArguments(const ParserNodeArray *nodes); -- cgit v1.2.3