diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-05-12 01:32:16 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-05-12 01:32:16 +0330 |
commit | cfd7848462aa50e039d73df041eab93f9a48b49f (patch) | |
tree | e0ab49724ae6c931ec80df1ef03ab3c2e7d90f98 /src/compiler/parser.c | |
parent | 7def336c06c38a9fd9104bb157cb2238bc89585d (diff) |
add type of shape shifter
Diffstat (limited to 'src/compiler/parser.c')
-rw-r--r-- | src/compiler/parser.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/compiler/parser.c b/src/compiler/parser.c index 139a0ff..1fd2e06 100644 --- a/src/compiler/parser.c +++ b/src/compiler/parser.c @@ -57,6 +57,7 @@ const char *PARSER_TOKEN_STRINGS[] = { "PARSER_TOKEN_TYPE_F128", "PARSER_TOKEN_TYPE_CODE", "PARSER_TOKEN_TYPE_NAMESPACE", + "PARSER_TOKEN_TYPE_SHAPE_SHIFTER", "PARSER_TOKEN_KEYWORD_PUTC", "PARSER_TOKEN_KEYWORD_RETURN", @@ -276,6 +277,7 @@ void parserNodePrint(const ParserNode *node, int indent) { case PARSER_TOKEN_TYPE_F128: case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_TYPE_NAMESPACE: + case PARSER_TOKEN_TYPE_SHAPE_SHIFTER: case PARSER_TOKEN_KEYWORD_NULL: case PARSER_TOKEN_KEYWORD_UNDEFINED: goto RETURN_SUCCESS; @@ -578,6 +580,7 @@ void parserNodeDelete(ParserNode *node) { case PARSER_TOKEN_TYPE_F128: case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_TYPE_NAMESPACE: + case PARSER_TOKEN_TYPE_SHAPE_SHIFTER: case PARSER_TOKEN_KEYWORD_NULL: case PARSER_TOKEN_KEYWORD_UNDEFINED: goto RETURN_SUCCESS; @@ -915,6 +918,8 @@ ParserNode *parseNode(LexerNode *node, LexerNode *begin, LexerNode *end, return parserNoMetadata(node, parent, PARSER_TOKEN_TYPE_CODE); case LEXER_TOKEN_KEYWORD_NAMESPACE: return parserNoMetadata(node, parent, PARSER_TOKEN_TYPE_NAMESPACE); + case LEXER_TOKEN_KEYWORD_SHAPE_SHIFTER: + return parserNoMetadata(node, parent, PARSER_TOKEN_TYPE_SHAPE_SHIFTER); case LEXER_TOKEN_KEYWORD_NULL: return parserNoMetadata(node, parent, PARSER_TOKEN_KEYWORD_NULL); case LEXER_TOKEN_KEYWORD_UNDEFINED: @@ -1705,6 +1710,7 @@ ParserNode *parserFunction(LexerNode *node, LexerNode *begin, LexerNode *end, case PARSER_TOKEN_TYPE_F128: case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_TYPE_NAMESPACE: + case PARSER_TOKEN_TYPE_SHAPE_SHIFTER: case PARSER_TOKEN_KEYWORD_NULL: case PARSER_TOKEN_KEYWORD_UNDEFINED: case PARSER_TOKEN_KEYWORD_PUTC: @@ -2241,6 +2247,7 @@ bool isExpression(ParserNode *node) { case PARSER_TOKEN_TYPE_F128: case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_TYPE_NAMESPACE: + case PARSER_TOKEN_TYPE_SHAPE_SHIFTER: case PARSER_TOKEN_KEYWORD_NULL: case PARSER_TOKEN_KEYWORD_UNDEFINED: case PARSER_TOKEN_KEYWORD_STRUCT: @@ -2276,6 +2283,7 @@ bool isType(ParserNode *node) { case PARSER_TOKEN_TYPE_F128: case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_TYPE_NAMESPACE: + case PARSER_TOKEN_TYPE_SHAPE_SHIFTER: case PARSER_TOKEN_TYPE_BOOL: case PARSER_TOKEN_IDENTIFIER: case PARSER_TOKEN_SYMBOL_PARENTHESIS: @@ -2427,6 +2435,7 @@ bool isValue(ParserNode *node) { case PARSER_TOKEN_TYPE_F128: case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_TYPE_NAMESPACE: + case PARSER_TOKEN_TYPE_SHAPE_SHIFTER: case PARSER_TOKEN_KEYWORD_NULL: case PARSER_TOKEN_KEYWORD_UNDEFINED: case PARSER_TOKEN_KEYWORD_IF: |