Пример #1
0
# Tree('S', ['copy', Tree('List', [...]), to, Tree('Item', [...])])
t2 = Tree('S', [
    'copy',
    Tree('List', [
        Tree('Item', ['f1']),
        Tree('List',
             [Tree('Item', ['f2']),
              Tree('List', [Tree('Item', ['f3'])])])
    ]), 'to',
    Tree('Item', ['folder'])
])

print(t2)
print(t2.flatten())
print(type(t2.flatten()))
print(t2.collapse_unary())

max_subtree = Tree('', [])
for subtree in t2.subtrees(filter=lambda x: x.label() == 'List'):
    if len(subtree.flatten().pos()) > len(max_subtree.pos()):
        max_subtree = subtree
print(max_subtree)
'''
tmp = t2
i = 
while tmp.label() != 'List':
	i += 1
	tmp = tmp.pos()
	print("the " + str(i) + " time:")
	print(tmp)
	print(type(tmp))
Пример #2
0
# Tree('S', ['copy', Tree('List', [...]), to, Tree('Item', [...])])
t2 = Tree('S', [
	'copy', 
	Tree('List', [
		Tree('Item', ['f1']), 
		Tree('List', [
			Tree('Item', ['f2']),
			Tree('List', [Tree('Item', ['f3'])])])]),
	'to', 
	Tree('Item', ['folder'])])

print(t2)
print(t2.flatten())
print(type(t2.flatten()))
print(t2.collapse_unary())

max_subtree = Tree('', [])
for subtree in t2.subtrees(filter = lambda x: x.label() == 'List'):
	if len(subtree.flatten().pos()) > len(max_subtree.pos()):
		max_subtree = subtree
print(max_subtree)


'''
tmp = t2
i = 
while tmp.label() != 'List':
	i += 1
	tmp = tmp.pos()
	print("the " + str(i) + " time:")