diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-04-23 15:39:11 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-04-23 15:39:11 +0330 |
commit | f91fc3bac670a8c775c7ea7b8ba8789dba9559ad (patch) | |
tree | e227022c0c2fa09fc52f47519f3c1815590651b8 /src/runner/runner.c | |
parent | 157475f0bd929a9b42b6cd9a4ca7f4fc4e64bf71 (diff) |
prepairing more for importing
Diffstat (limited to 'src/runner/runner.c')
-rw-r--r-- | src/runner/runner.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/runner/runner.c b/src/runner/runner.c index 7d1879d..b96f1a8 100644 --- a/src/runner/runner.c +++ b/src/runner/runner.c @@ -40,27 +40,30 @@ void runnerVariableSetValueWihtoutConstCheck(AstTreeVariable *variable, variable->value = value; } -bool runAstTree(AstTreeRoot *root) { +bool runAstTree(AstTreeRoots roots) { static const char MAIN_STR[] = "main"; static const size_t MAIN_STR_SIZE = (sizeof(MAIN_STR) / sizeof(*MAIN_STR)) - sizeof(*MAIN_STR); AstTreeVariable *mainVariable = NULL; - for (size_t i = 0; i < root->variables.size; ++i) { - AstTreeVariable *variable = root->variables.data[i]; - size_t name_size = variable->name_end - variable->name_begin; - if (name_size == MAIN_STR_SIZE && - strncmp(variable->name_begin, MAIN_STR, MAIN_STR_SIZE) == 0 && - variable->type->token == AST_TREE_TOKEN_TYPE_FUNCTION) { - if (mainVariable != NULL) { - printLog("Too many main variables"); - return false; + for (size_t i = 0; i < roots.size; ++i) { + AstTreeRoot *root = roots.data[i]; + for (size_t i = 0; i < root->variables.size; ++i) { + AstTreeVariable *variable = root->variables.data[i]; + size_t name_size = variable->name_end - variable->name_begin; + if (name_size == MAIN_STR_SIZE && + strncmp(variable->name_begin, MAIN_STR, MAIN_STR_SIZE) == 0 && + variable->type->token == AST_TREE_TOKEN_TYPE_FUNCTION) { + if (mainVariable != NULL) { + printLog("Too many main variables"); + return false; + } + mainVariable = variable; + } + if (!variable->isConst) { + runnerVariableSetValueWihtoutConstCheck(variable, variable->initValue); } - mainVariable = variable; - } - if (!variable->isConst) { - runnerVariableSetValueWihtoutConstCheck(variable, variable->initValue); } } |