summaryrefslogtreecommitdiff
path: root/src/core/interpret.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/interpret.h')
-rw-r--r--src/core/interpret.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/core/interpret.h b/src/core/interpret.h
new file mode 100644
index 0000000..8bdc92f
--- /dev/null
+++ b/src/core/interpret.h
@@ -0,0 +1,20 @@
+#ifndef SAND_INTERPRET_H
+#define SAND_INTERPRET_H
+
+// This module defines a single function which composes all the stuff the
+// interpreter does. It should be bascially the only function that an embedder
+// needs to know.
+
+#include "state.h"
+
+#include <stddef.h>
+
+typedef enum {
+ SAND_INTERPRET_OK,
+ SAND_INTERPRET_COMPILE_ERROR,
+ SAND_INTERPRET_RUNTIME_ERROR,
+} SandInterpretResult;
+
+SandInterpretResult sand_interpret(SandState *, const char *filename, const char *source, size_t source_length);
+
+#endif