diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2024-09-19 15:53:13 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2024-09-19 15:53:13 +0330 |
commit | d2ab53c625d386a4fbc6a9d5a5eb29faab1b3f0c (patch) | |
tree | 3e81b2dce883abb8b5b5ea2edd0300af24079539 /src/compiler/parser/parser.h | |
parent | 3df524bacbd6ca55177f481f8c98b118131b6527 (diff) |
removing print command and keyword
added function call support
cleaned up keyword and operator checking and speed it up a little bit
cleaning includes
added builtin functions
Diffstat (limited to 'src/compiler/parser/parser.h')
-rw-r--r-- | src/compiler/parser/parser.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/compiler/parser/parser.h b/src/compiler/parser/parser.h index 4a39e17..520c5d1 100644 --- a/src/compiler/parser/parser.h +++ b/src/compiler/parser/parser.h @@ -5,8 +5,8 @@ typedef enum ParsedToken { PARSED_TOKEN_NONE = 0, PARSED_TOKEN_ROOT, - PARSED_TOKEN_PRINT, PARSED_TOKEN_PARENTHESIS, + PARSED_TOKEN_FUNCTION_CALL, PARSED_TOKEN_VALUE_STRING, PARSED_TOKEN_EOL, } ParsedToken; @@ -31,6 +31,11 @@ typedef struct ScopeMetadata { struct ParsedNode **operands; size_t operands_size; } ScopeMetadata; +typedef struct FunctionCallMetadata { + char const *functionNameBegin; + char const *functionNameEnd; + ScopeMetadata *scope; +} FunctionCallMetadata ; typedef ParsedNode PrintMetadata; typedef ParsedNode EOLMetadata; @@ -56,8 +61,6 @@ extern ScopeMetadata *parserScopeParenthesis(Node *nodesBegin, Node *nodesEnd, extern ParsedNode *parseNode(Node *nodesBegin, Node *nodesEnd, Node *node, ParsedNode *parent); -extern ParsedNode *parserPrint(Node *nodesBegin, Node *nodesEnd, Node *node, - ParsedNode *parent); extern ParsedNode *parseParenthesis(Node *nodesBegin, Node *nodesEnd, Node *node, ParsedNode *parent); extern ParsedNode *parseString(Node *node, ParsedNode *parent); |