aboutsummaryrefslogtreecommitdiff
path: root/src/compiler/parser/parser.h
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2024-09-19 15:53:13 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2024-09-19 15:53:13 +0330
commitd2ab53c625d386a4fbc6a9d5a5eb29faab1b3f0c (patch)
tree3e81b2dce883abb8b5b5ea2edd0300af24079539 /src/compiler/parser/parser.h
parent3df524bacbd6ca55177f481f8c98b118131b6527 (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.h9
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);