summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorPeter Mikkelsen <peter@pmikkelsen.com>2021-06-30 17:48:49 +0000
committerPeter Mikkelsen <peter@pmikkelsen.com>2021-06-30 17:48:49 +0000
commitbaea4aa939861fd4efbc71b96f93ba890f01ac40 (patch)
tree17258014a63d0c0e8de767bcb31914c6d2cb2b1e /main.c
parent50f83a91220940042962fdb55d07bb03991f52be (diff)
Add a standard library with the "builtins" that doesn't really need to be actual builtins
Diffstat (limited to 'main.c')
-rw-r--r--main.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/main.c b/main.c
index 416e832..c30e5f7 100644
--- a/main.c
+++ b/main.c
@@ -25,21 +25,30 @@ main(int argc, char *argv[])
if(argc != 0)
usage();
+ int fd = open("./stdlib.pl", OREAD);
+ if(fd < 0){
+ print("Can't open ./stdlib.pl\n");
+ exits("open");
+ }
+ Term *database = parse(fd, 0);
+ close(fd);
+
if(parsetestfile){
int fd = open(parsetestfile, OREAD);
if(fd < 0)
exits("open");
- Term *database = parse(fd, 0);
-
+ Term *clauses = parse(fd, 0);
+ database = appendterm(database, clauses);
+
Term *goal;
for(goal = initgoals; goal != nil; goal = goal->next){
Binding *bindings = nil;
evalquery(database, goal, &bindings);
}
-
- repl(database);
}
+ repl(database);
+
exits(nil);
}