Guest User

Untitled

a guest
Apr 24th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. def __init__(self,label):
  2. self.children = []
  3. self.label = label
  4. self.parent = None
  5.  
  6. def add_child(self,node):
  7. self.children.append(node)
  8. node.parent = self
  9.  
  10. def printNode(self):
  11. if self.children == []:
  12. print (' ' + self.label, end ='')
  13. else:
  14. if self.parent != None:
  15. print ('(' + self.label+ '-' + self.parent.label+ ' ', end ='')
  16. else:
  17. print ('(' + self.label + '-Root ', end = '')
  18. for child in self.children:
  19. child.printNode()
  20. print(')', end ='')
  21.  
  22. def printout(self):
  23. self.root.printNode()
  24. print('')
  25.  
  26. def build_parse(self,line):
  27. line = del_blanks(line)
  28. if len(line)> 0 and line[0] == "(":
  29. label,line = scan_name(line[1:])
  30. node = Node(label)
  31. while len(line)> 0 and line [0] != ")":
  32. child,line = self.build_parse(line)
  33. node.add_child(child)
  34. if len(line) == 0:
  35. raise Exception('Ende des Strings')
  36. line = line[1:]
  37. else:
  38. label,line = scan_name(line)
  39. node = Node(label)
  40. del_blanks(line)
  41. return node, line
Add Comment
Please, Sign In to add comment