diff --git a/relational/parser.py b/relational/parser.py index 1015dbf..89862d0 100644 --- a/relational/parser.py +++ b/relational/parser.py @@ -121,14 +121,11 @@ class Node: def printtree(self, level: int = 0) -> str: '''returns a representation of the tree using indentation''' - r = '' - for i in range(level): - r += ' ' - r += self.name - if self.name in b_operators: + r = ' ' * level + self.name + if self.name in b_operators and isinstance(self, Binary): r += self.left.printtree(level + 1) r += self.right.printtree(level + 1) - elif self.name in u_operators: + elif self.name in u_operators and isinstance(self, Unary): r += '\t%s\n' % self.prop r += self.child.printtree(level + 1) return '\n' + r