summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorPeter Mikkelsen <peter@pmikkelsen.com>2021-07-16 15:25:01 +0000
committerPeter Mikkelsen <peter@pmikkelsen.com>2021-07-16 15:25:01 +0000
commit480de114963ecee700ece5b8793916726c04b9ab (patch)
tree9c1543307aef92c1c88289a4d07ad4dcbae6b38c /main.c
parentee65a81ee5b0112ba4480619ca672c569fb28b45 (diff)
Replace the C repl with one written in prolog :)
Diffstat (limited to 'main.c')
-rw-r--r--main.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/main.c b/main.c
index f97a466..463e881 100644
--- a/main.c
+++ b/main.c
@@ -6,6 +6,7 @@
#include "fns.h"
void usage(void);
+void repl(int, char **);
void
main(int argc, char *argv[])
@@ -22,14 +23,8 @@ main(int argc, char *argv[])
initflags();
initstreams();
initmodules();
+ repl(argc, argv);
- while(argc != 0){
- parsemodule(argv[0]);
- argc--;
- argv++;
- }
-
- repl();
exits(nil);
}
@@ -38,4 +33,16 @@ usage(void)
{
fprint(2, "Usage: pprolog [-d] modulefiles\n");
exits("Usage");
+}
+
+void
+repl(int argc, char *argv[])
+{
+ USED(argc);
+ USED(argv);
+ Term *mod = mkatom(L"repl");
+ Term *pred = mkatom(L"repl");
+ mod->next = pred;
+ Term *goal = mkcompound(L":", 2, mod);
+ evalquery(goal);
} \ No newline at end of file