implemented eval

This commit is contained in:
Kyler Olsen 2025-11-30 21:01:10 -07:00
parent 4ef109bcec
commit 721384d400
1 changed files with 14 additions and 2 deletions

View File

@ -1506,8 +1506,20 @@ Boolean builtin_dup(InterpreterState *interpreter_state) {
} }
Boolean builtin_eval(InterpreterState *interpreter_state) { Boolean builtin_eval(InterpreterState *interpreter_state) {
(void)interpreter_state; if (interpreter_state->stack == NULL) return FALSE;
return FALSE; StackItem *code_target = interpreter_state->stack;
interpreter_state->stack = code_target->next;
code_target->next = NULL;
Boolean return_value = FALSE;
if (code_target->type == STACK_TOKEN_STRING || code_target->type == STACK_CODE_BLOCK)
return_value = execute_token_string(interpreter_state, code_target->token_string);
else if (code_target->type == STACK_IDENTIFIER)
return_value = execute_func(interpreter_state, code_target->identifier.name);
clean_stack(code_target);
return return_value;
} }
Boolean builtin_floor(InterpreterState *interpreter_state) { Boolean builtin_floor(InterpreterState *interpreter_state) {