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) {
|
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) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue