diff options
Diffstat (limited to 'src/wren_inter')
| -rw-r--r-- | src/wren_inter/wren_inter.c | 5 | ||||
| -rw-r--r-- | src/wren_inter/wren_inter.h | 13 |
2 files changed, 7 insertions, 11 deletions
diff --git a/src/wren_inter/wren_inter.c b/src/wren_inter/wren_inter.c index 4b72633..103451e 100644 --- a/src/wren_inter/wren_inter.c +++ b/src/wren_inter/wren_inter.c @@ -46,6 +46,7 @@ char *EvaluateScript(char *script) { WrenInterpretResult result = wrenInterpret(vm, "main", script); switch (result) { case WREN_RESULT_SUCCESS: break; + case WREN_RESULT_RUNTIME_LIMIT: break; case WREN_RESULT_COMPILE_ERROR: break; case WREN_RESULT_RUNTIME_ERROR: break; } @@ -78,3 +79,7 @@ void InterpreterFreeMachine(WrenVM *vm) { if (sb != NULL && sb->val != NULL) free(sb); wrenFreeVM(vm); } + +StringBuilder *GetOutputSb(WrenVM *vm) { + return (StringBuilder*)wrenGetUserData(vm); +} diff --git a/src/wren_inter/wren_inter.h b/src/wren_inter/wren_inter.h index 358dc1d..bd3ec48 100644 --- a/src/wren_inter/wren_inter.h +++ b/src/wren_inter/wren_inter.h @@ -2,20 +2,11 @@ #define WREN_INTER_H #include <wren.h> - -enum PUZZLE_TEST_RESULT { - RESULT_OK = 0, - RESULT_WRONG_ANSWER, - RESULT_COMPTIME_NO_ENTRY, - RESULT_COMPTIME_ERR, - RESULT_RUNTIME_ERR, - // TODO: add async evaluation to prevent `while (true)` situation - RESULT_TIMEOUT, - RESULT_INIT_ERROR, -}; +#include "../utils/stringBuilder.h" WrenVM *InterpreterPrepareMachine(); char *GetMachineOutput(WrenVM *vm); void InterpreterFreeMachine(WrenVM *vm); +StringBuilder *GetOutputSb(WrenVM *vm); #endif // WREN_INTER_H |
