aboutsummaryrefslogtreecommitdiff
path: root/src/interp.h
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-06-21 12:00:31 +0800
committerMistivia <i@mistivia.com>2025-06-21 12:00:31 +0800
commit1caa0e8862905cc7d4ed0cba4082e4d5ce12e6ed (patch)
tree0452c5b38b99625fd9fdea6fb3beede56e325134 /src/interp.h
parent86742c415b34ae063bf8597d9228e9d37f0d7294 (diff)
load prelude
Diffstat (limited to 'src/interp.h')
-rw-r--r--src/interp.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/interp.h b/src/interp.h
index 4e358eb..4329442 100644
--- a/src/interp.h
+++ b/src/interp.h
@@ -8,6 +8,9 @@
#include "algds/vec.h"
#include "sexp.h"
+struct parser;
+typedef struct parser Parser;
+
struct interp;
typedef struct interp Interp;
@@ -32,6 +35,7 @@ struct interp {
SExpRef top_level;
SExpRef nil;
char *errmsg_buf;
+ Parser *parser;
};
void Interp_init(Interp *self);
@@ -42,8 +46,7 @@ void Interp_add_primitive(Interp *self, const char *name, LispPrimitive fn);
void Interp_add_userfunc(Interp *self, const char *name, LispUserFunc fn);
SExpRef Interp_eval_string(Interp *interp, const char * str);
-void Interp_load_file(Interp *interp, const char *filename);
-void Interp_eval_readline(Interp *interp);
+SExpRef Interp_load_file(Interp *interp, const char *filename);
#define REF(_x) (&(interp->objs.buffer)[(_x).idx])
#define CONS(_x, _y) (lisp_cons(interp, (_x), (_y)))