示例#1
0
 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)'
示例#2
0
 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)'
示例#3
0
 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))
示例#4
0
 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, ',') + ')'
示例#5
0
 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))
示例#6
0
 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, ',') + ')'
示例#7
0
 def __repr__(self):
     return '(' + str(self.op) + ' ' + util.join(self.sents) + ')'
示例#8
0
 def __repr__(self):
     if self.arity() == 0:
         return self.name
     else:
         return '(' + self.name + ' ' + util.join(self.terms) + ')'
示例#9
0
 def __repr__(self):
     return '(' + str(self.op) + ' ' + util.join(self.sents) + ')'
示例#10
0
 def __repr__(self):
     if self.arity() == 0:
         return self.name
     else:
         return '(' + self.name + ' ' + util.join(self.terms) + ')'