Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def __init__(self,label):
- self.children = []
- self.label = label
- self.parent = None
- def add_child(self,node):
- self.children.append(node)
- node.parent = self
- def printNode(self):
- if self.children == []:
- print (' ' + self.label, end ='')
- else:
- if self.parent != None:
- print ('(' + self.label+ '-' + self.parent.label+ ' ', end ='')
- else:
- print ('(' + self.label + '-Root ', end = '')
- for child in self.children:
- child.printNode()
- print(')', end ='')
- def printout(self):
- self.root.printNode()
- print('')
- def build_parse(self,line):
- line = del_blanks(line)
- if len(line)> 0 and line[0] == "(":
- label,line = scan_name(line[1:])
- node = Node(label)
- while len(line)> 0 and line [0] != ")":
- child,line = self.build_parse(line)
- node.add_child(child)
- if len(line) == 0:
- raise Exception('Ende des Strings')
- line = line[1:]
- else:
- label,line = scan_name(line)
- node = Node(label)
- del_blanks(line)
- return node, line
Add Comment
Please, Sign In to add comment