implemented eval
This commit is contained in:
parent
4ef109bcec
commit
721384d400
|
|
@ -1506,8 +1506,20 @@ Boolean builtin_dup(InterpreterState *interpreter_state) {
|
|||
}
|
||||
|
||||
Boolean builtin_eval(InterpreterState *interpreter_state) {
|
||||
(void)interpreter_state;
|
||||
return FALSE;
|
||||
if (interpreter_state->stack == NULL) 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) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue