aboutsummaryrefslogtreecommitdiff
path: root/src/compiler/parser.c
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-05-12 01:32:16 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-05-12 01:32:16 +0330
commitcfd7848462aa50e039d73df041eab93f9a48b49f (patch)
treee0ab49724ae6c931ec80df1ef03ab3c2e7d90f98 /src/compiler/parser.c
parent7def336c06c38a9fd9104bb157cb2238bc89585d (diff)
add type of shape shifter
Diffstat (limited to 'src/compiler/parser.c')
-rw-r--r--src/compiler/parser.c9
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: