From ff418c798b580204f6fea5512adc36835f8b7efa Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 30 Jun 2021 20:51:02 +0000 Subject: Add comparison predicates --- parser.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'parser.c') diff --git a/parser.c b/parser.c index 577c338..d7f750a 100644 --- a/parser.c +++ b/parser.c @@ -264,7 +264,7 @@ parseoperators(Term *list) for(i = 0, t = list; i < length; i++){ Operator *op = getoperator(t->text); - if(op && t->tag == AtomTok){ + if(op && t->tag == AtomTerm){ infos[i].type = op->type; infos[i].level = op->level; }else{ @@ -292,7 +292,10 @@ parseoperators(Term *list) } if(index == -1){ - print("Can't parse, list contains no operators"); + print("Can't parse, list of length %d contains no operators: ", length); + for(i = 0; i < length; i++) + print("%S(%d) ", prettyprint(terms[i]), infos[i].level); + print("\n"); syntaxerror("parseoperators"); } @@ -439,6 +442,7 @@ nexttoken(void) replaypeek = -1; } +SkipWhite: /* Skip whitespace */ while(isspacerune(peek)) peek = Bgetrune(parsein); @@ -447,7 +451,7 @@ nexttoken(void) if(peek == L'%'){ while(peek != L'\n') peek = Bgetrune(parsein); - peek = Bgetrune(parsein); + goto SkipWhite; } /* Variables */ -- cgit v1.2.3