diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-04-24 15:19:06 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-04-24 15:19:06 +0330 |
commit | 79babd7e6c97ead76c7cd6295f01e049d1b28524 (patch) | |
tree | fe03d2c6907211ee2cbed86c31ff4319f09a26f1 /src/compiler/parser.c | |
parent | e89f5c93893e5dd969fe39e1aca00ad5bd8b5b7b (diff) |
add code type
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 f0d3e9b..956b834 100644 --- a/src/compiler/parser.c +++ b/src/compiler/parser.c @@ -40,6 +40,7 @@ const char *PARSER_TOKEN_STRINGS[] = { "PARSER_TOKEN_TYPE_F32", "PARSER_TOKEN_TYPE_F64", "PARSER_TOKEN_TYPE_F128", + "PARSER_TOKEN_TYPE_CODE", "PARSER_TOKEN_KEYWORD_PUTC", "PARSER_TOKEN_KEYWORD_RETURN", @@ -239,6 +240,7 @@ void parserNodePrint(const ParserNode *node, int indent) { case PARSER_TOKEN_TYPE_F32: case PARSER_TOKEN_TYPE_F64: case PARSER_TOKEN_TYPE_F128: + case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_KEYWORD_NULL: case PARSER_TOKEN_KEYWORD_UNDEFINED: goto RETURN_SUCCESS; @@ -521,6 +523,7 @@ void parserNodeDelete(ParserNode *node) { case PARSER_TOKEN_TYPE_F32: case PARSER_TOKEN_TYPE_F64: case PARSER_TOKEN_TYPE_F128: + case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_KEYWORD_NULL: case PARSER_TOKEN_KEYWORD_UNDEFINED: goto RETURN_SUCCESS; @@ -799,6 +802,8 @@ ParserNode *parseNode(LexerNode *node, LexerNode *begin, LexerNode *end, return parserNoMetadata(node, parent, PARSER_TOKEN_TYPE_F64); case LEXER_TOKEN_KEYWORD_F128: return parserNoMetadata(node, parent, PARSER_TOKEN_TYPE_F128); + case LEXER_TOKEN_KEYWORD_CODE: + return parserNoMetadata(node, parent, PARSER_TOKEN_TYPE_CODE); case LEXER_TOKEN_KEYWORD_NULL: return parserNoMetadata(node, parent, PARSER_TOKEN_KEYWORD_NULL); case LEXER_TOKEN_KEYWORD_UNDEFINED: @@ -1520,6 +1525,7 @@ ParserNode *parserFunction(LexerNode *node, LexerNode *begin, LexerNode *end, case PARSER_TOKEN_TYPE_F32: case PARSER_TOKEN_TYPE_F64: case PARSER_TOKEN_TYPE_F128: + case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_KEYWORD_NULL: case PARSER_TOKEN_KEYWORD_UNDEFINED: case PARSER_TOKEN_KEYWORD_PUTC: @@ -2018,6 +2024,7 @@ bool isExpression(ParserNode *node) { case PARSER_TOKEN_TYPE_F32: case PARSER_TOKEN_TYPE_F64: case PARSER_TOKEN_TYPE_F128: + case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_KEYWORD_NULL: case PARSER_TOKEN_KEYWORD_UNDEFINED: case PARSER_TOKEN_KEYWORD_STRUCT: @@ -2051,6 +2058,7 @@ bool isType(ParserNode *node) { case PARSER_TOKEN_TYPE_F32: case PARSER_TOKEN_TYPE_F64: case PARSER_TOKEN_TYPE_F128: + case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_TYPE_BOOL: case PARSER_TOKEN_IDENTIFIER: case PARSER_TOKEN_BUILTIN: @@ -2166,6 +2174,7 @@ bool isValue(ParserNode *node) { case PARSER_TOKEN_TYPE_F32: case PARSER_TOKEN_TYPE_F64: case PARSER_TOKEN_TYPE_F128: + case PARSER_TOKEN_TYPE_CODE: case PARSER_TOKEN_KEYWORD_NULL: case PARSER_TOKEN_KEYWORD_UNDEFINED: case PARSER_TOKEN_KEYWORD_IF: |