diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-02-12 16:58:21 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-02-12 16:58:21 +0330 |
commit | 188fc08d3b3095a843c24207fe3a73999b2894fb (patch) | |
tree | e3639a118a8cdc57a496e8169e0d34207b8e3de9 /src/compiler/parser.h | |
parent | 5c336962d3d0a885a870708076f154ee422fee12 (diff) |
enhanced if with else
fix if scope bug
Diffstat (limited to 'src/compiler/parser.h')
-rw-r--r-- | src/compiler/parser.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/parser.h b/src/compiler/parser.h index cb90b71..60825a9 100644 --- a/src/compiler/parser.h +++ b/src/compiler/parser.h @@ -106,7 +106,8 @@ typedef bool ParserNodeBoolMetadata; typedef struct ParserNodeIfMetadata { ParserNode *condition; - ParserNode *body; + ParserNode *ifBody; + ParserNode *elseBody; }ParserNodeIfMetadata; void parserNodePrint(const ParserNode *node, int indent); @@ -122,7 +123,9 @@ ParserNode *parseNode(LexerNode *node, LexerNode *begin, LexerNode *end, ParserNode *parent, bool *conti); ParserNode *getUntilCommonParent(ParserNode *node, ParserNode *parent); +ParserNode *getUntilCommonParents(ParserNode *node, ParserNode *parent,ParserNode *parent2); ParserNode *getNextUsingCommonParent(LexerNode *node,LexerNode *end, ParserNode *parent); +LexerNode *getNextLexerNodeUsingCommonParent(LexerNode *node,LexerNode *end, ParserNode *parent); ParserNode *parserIdentifier(LexerNode *node, ParserNode *parent); ParserNode *parserType(LexerNode *node, ParserNode *parent); |