From 44ab8a339c78bcc3460d44b2f435116f21faa60a Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Mon, 5 Jul 2021 16:27:38 +0000 Subject: First step on modules. Still very very rough. --- parser.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'parser.c') diff --git a/parser.c b/parser.c index 2e64d20..0e4a175 100644 --- a/parser.c +++ b/parser.c @@ -91,7 +91,6 @@ parse(int fd, Biobuf *bio, int querymode) }else parsein = bio; - initgoals = nil; initoperators(); nexttoken(); @@ -125,12 +124,10 @@ prologtext(int querymode) if(t->tag == CompoundTerm && runestrcmp(t->text, L":-") == 0 && t->arity == 1){ Term *body = t->children; print("Got directive: %S\n", prettyprint(body, 0, 0, 0)); - if(body->tag == CompoundTerm && body->arity == 1 && runestrcmp(body->text, L"initialization") == 0){ - Term *tmp = initgoals; - initgoals = body->children; - initgoals->next = tmp; - } - t = prologtext(querymode); + if(runestrcmp(body->text, L"module") == 0 && body->arity == 2) + t->next = prologtext(querymode); + else + t = prologtext(querymode); }else if(t->tag == CompoundTerm && runestrcmp(t->text, L":-") == 0 && t->arity == 2){ t->next = prologtext(querymode); }else if(t->tag == AtomTerm || t->tag == CompoundTerm){ @@ -391,6 +388,7 @@ initoperators(void) addoperator(700, Xfx, L">"); addoperator(700, Xfx, L">="); addoperator(700, Xfx, L"=.."); + addoperator(600, Xfy, L":"); addoperator(500, Yfx, L"+"); addoperator(400, Yfx, L"*"); addoperator(400, Yfx, L"/"); -- cgit v1.2.3