aboutsummaryrefslogtreecommitdiff
path: root/repl.c
diff options
context:
space:
mode:
Diffstat (limited to 'repl.c')
-rw-r--r--repl.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/repl.c b/repl.c
new file mode 100644
index 0000000..c9ddb6a
--- /dev/null
+++ b/repl.c
@@ -0,0 +1,27 @@
+#include <stdlib.h>
+#include <stdio.h>
+
+#include "parse.h"
+#include "eval.h"
+#include "list.h"
+#include "linenoise.h"
+
+int main(int argc, char **argv)
+{
+ char *line;
+
+ linenoiseSetMultiLine(0);
+
+ while ((line = linenoise("> ")) != NULL)
+ {
+ linenoiseHistoryAdd(line);
+
+ struct list *result = eval_str(line);
+
+ print_list(result, 0);
+
+ free(line);
+ }
+
+ return 0;
+}