#ifndef WREN_INTER_H #define WREN_INTER_H #include 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, }; WrenVM *InterpreterPrepareMachine(); char *GetMachineOutput(WrenVM *vm); void InterpreterFreeMachine(WrenVM *vm); // Runs the machine and returns enum PUZZLE_TEST_RESULT wrenInterpretLimited(WrenVM *vm, const char *module, const char *script, int sMax); #endif // WREN_INTER_H