29 lines
1.2 KiB
C
Raw Normal View History

2025-12-05 12:32:09 +01:00
#ifndef RAVA_REPL_EXECUTOR_H
#define RAVA_REPL_EXECUTOR_H
#include "repl_types.h"
#include "repl_session.h"
typedef struct {
RavaREPLSession_t *session;
int timeout_ms;
volatile bool interrupted;
RavaValue_t last_result;
bool show_timing;
} RavaREPLExecutor_t;
RavaREPLExecutor_t* rava_repl_executor_create(RavaREPLSession_t *session);
void rava_repl_executor_destroy(RavaREPLExecutor_t *executor);
RavaREPLExecResult_e rava_repl_executor_execute(RavaREPLExecutor_t *executor, const char *code);
RavaREPLExecResult_e rava_repl_executor_execute_expression(RavaREPLExecutor_t *executor, const char *code);
RavaREPLExecResult_e rava_repl_executor_execute_statement(RavaREPLExecutor_t *executor, const char *code);
RavaREPLExecResult_e rava_repl_executor_execute_var_decl(RavaREPLExecutor_t *executor, const char *code);
RavaREPLExecResult_e rava_repl_executor_execute_method_decl(RavaREPLExecutor_t *executor, const char *code);
RavaREPLExecResult_e rava_repl_executor_execute_class_decl(RavaREPLExecutor_t *executor, const char *code);
RavaValue_t rava_repl_executor_get_result(RavaREPLExecutor_t *executor);
void rava_repl_executor_interrupt(RavaREPLExecutor_t *executor);
#endif