def __str__(self): if self.msgType == 'start': return '(start ' + self.matchID + ' ' + \ str(self.role) + ' (' + util.join(self.sents) + ') ' + \ str(self.startClock) + ' ' + str(self.playClock) + ')' else: # play, replay or stop s = '(' + self.msgType + ' ' + self.matchID + ' ' if self.lastMoves: return s + '(' + util.join(self.lastMoves) + '))' else: return s + 'nil)'
def prolog(self): head = self.sents[0].prolog() if self.op == '<=': if len(self.sents) == 1: return head else: cdr = LogicalSentence('and', self.sents[1:]) return head + " :- " + cdr.prolog() elif self.op == 'not': return '\\+ ' + head elif self.op == 'or': clauses = [s.prolog() for s in self.sents] return '(' + util.join(clauses, ' ; ') + ')' elif self.op == 'and': clauses = [s.prolog() for s in self.sents] return '(' + util.join(clauses, ',') + ')' else: raise Exception('Unsupported op: ' + str(self.op))
def prolog(self): if self.arity() == 0: return self.prologName() elif self.name == 'distinct': return self.terms[0].prolog() + ' \\== ' + \ self.terms[1].prolog() else: terms = [x.prolog() for x in self.terms] return self.prologName() + '(' + util.join(terms, ',') + ')'
def __repr__(self): return '(' + str(self.op) + ' ' + util.join(self.sents) + ')'
def __repr__(self): if self.arity() == 0: return self.name else: return '(' + self.name + ' ' + util.join(self.terms) + ')'