summaryrefslogtreecommitdiff
path: root/src/core/interpret.h
blob: 8bdc92f8919ece663a5331e0f5d8f8bbc750255e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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