summaryrefslogtreecommitdiff
path: root/src/compiler/parser.h
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-02-11 00:00:35 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-02-11 00:00:35 +0330
commitdecaf9321cbf119d1efea0c4667f49b0ab2e8c96 (patch)
treea6352e2ef68a83514a15f4f57a87430383e47e04 /src/compiler/parser.h
parent6d127edfa0162219c54b10e3496a3e9530f62792 (diff)
add unary + -
Diffstat (limited to 'src/compiler/parser.h')
-rw-r--r--src/compiler/parser.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/compiler/parser.h b/src/compiler/parser.h
index 0b92fe5..2d57538 100644
--- a/src/compiler/parser.h
+++ b/src/compiler/parser.h
@@ -30,6 +30,8 @@ typedef enum ParserToken {
PARSER_TOKEN_SYMBOL_COMMA,
PARSER_TOKEN_OPERATOR_ASSIGN,
+ PARSER_TOKEN_OPERATOR_PLUS,
+ PARSER_TOKEN_OPERATOR_MINUS,
PARSER_TOKEN_OPERATOR_SUM,
PARSER_TOKEN_OPERATOR_SUB,
PARSER_TOKEN_OPERATOR_MULTIPLY,
@@ -111,7 +113,7 @@ ParserNode *newParserNode(ParserToken token, char *str_begin, char *str_end,
void *metadata, ParserNode *parent);
ParserNode *parseNode(LexerNode *node, LexerNode *begin, LexerNode *end,
- ParserNode *parent);
+ ParserNode *parent, bool *conti);
ParserNode *getUntilCommonParent(ParserNode *node, ParserNode *parent);
@@ -137,8 +139,10 @@ ParserNode *parserVariable(LexerNode *node, LexerNode *begin, LexerNode *end,
ParserNode *parserBinaryOperator(LexerNode *node, LexerNode *begin,
LexerNode *end, ParserNode *parent,
ParserToken token);
-ParserNode *parserBinaryOrLeftOperator(LexerNode *node, LexerNode *begin, LexerNode *end,
- ParserNode *parent,ParserToken token);
+ParserNode *parserBinaryOrLeftOperator(LexerNode *node, LexerNode *begin,
+ LexerNode *end, ParserNode *parent,
+ ParserToken token,
+ LexerToken laterToken);
bool isAllArguments(const ParserNodeArray *nodes);