diff options
author | Peter Mikkelsen <peter@pmikkelsen.com> | 2021-06-30 14:04:31 +0000 |
---|---|---|
committer | Peter Mikkelsen <peter@pmikkelsen.com> | 2021-06-30 14:04:31 +0000 |
commit | 8fde6e4845eeafe6ffc4179218a3ac9e8049c0e6 (patch) | |
tree | 85e9cecb26f680f8aa49577892f97d610e9cf0d6 /repl.c | |
parent | ee4298a2cfbbd9e015cfc775d9d714a9f5035846 (diff) |
Commit repl.c file
Diffstat (limited to 'repl.c')
-rw-r--r-- | repl.c | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -0,0 +1,29 @@ +#include <u.h> +#include <libc.h> + +#include "dat.h" +#include "fns.h" + +void +repl(Term *database) +{ + int fd = 0; /* Standard input */ + while(1){ + print("?- "); + Term *query = parse(fd, 1); + Binding *bindings = nil; + int success = evalquery(database, query, &bindings); + if(success == 0) + print("false.\n"); + else{ + if(bindings == nil) + print("true.\n"); + else{ + while(bindings){ + print("%S = %S\n", bindings->name, prettyprint(bindings->value)); + bindings = bindings->next; + } + } + } + } +}
\ No newline at end of file |