blob: e81c2f2878d54039a755f5caa1d963ea574d17cb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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;
}
}
}
}
}
|