def __str__(self): o = '*' if self.op == TIMES else \ 'div' if self.op == DIV else \ 'mod' if self.op == MOD else \ 'and' if self.op == AND else \ '+' if self.op == PLUS else \ '-' if self.op == MINUS else \ 'or' if self.op == OR else \ '=' if self.op == EQ else \ '<>' if self.op == NE else \ '<' if self.op == LT else \ '>' if self.op == GT else \ '<=' if self.op == LE else \ '>=' if self.op == GE else 'op?' return o + '\n' + indent(self.left) + '\n' + indent(self.right)
def __str__(self): return str(self.arr) + '[]\n ' + indent(self.ind)
def __str__(self): return 'while\n' + indent(self.cond) + '\n' + indent(self.bd)
def __str__(self): return 'ifelse\n' + indent(self.cond) + '\n' + indent( self.th) + '\n' + indent(self.el)
def __str__(self): return 'ifthen\n' + indent(self.cond) + '\n' + indent(self.th)
def __str__(self): return 'seq\n' + indent(self.first) + '\n' + indent(self.second)
def __str__(self): return 'call ' + (str(self.res) if self.res else '') + ' ' + str( self.ident) + ('\n' if len(self.param) > 0 else '') + indent( '\n'.join([str(x) for x in self.param]))
def __str__(self): return ':=\n' + indent(self.left) + '\n' + indent(self.right)
def __str__(self): o = '×' if self.op == TIMES else 'div' if self.op == DIV else 'mod' if self.op == MOD else 'and' if self.op == AND else '+' if self.op == PLUS else '-' if self.op == MINUS else 'or' if self.op == OR else '=' if self.op == EQ else '≠' if self.op == NE else '<' if self.op == LT else '>' if self.op == GT else '≤' if self.op == LE else '≥' if self.op == GE else '∪' if self.op == UNION else '∩' if self.op == INTERSECTION else '∖' if self.op == DIFFERENCE else '∈' if self.op == ELEMENT else '∉' if self.op == NOTELEMENT else '⊆' if self.op == SUBSET else '⊇' if self.op == SUPERSET else 'op?' return o + '\n' + indent(self.left) + '\n' + indent(self.right)
def __str__(self): o = '+' if self.op == PLUS else '-' if self.op == MINUS else '¬' if self.op == NOT else '#' if self.op == CARD else '∁' if self.op == COMPLEMENT else 'op?' return o + '\n' + indent(self.arg)
def __str__(self): return 'call ' + str(self.ident) + '\n' + \ indent('\n'.join([str(x) for x in self.param]))
def __str__(self): return 'op' + str(self.op) + '\n' + indent(self.arg)