Jump to content

Tree datastructures: Difference between revisions

m
Line 471:
 
 
# forestFromNestLevels :: [(Int, Stringa)] -> [Tree Stringa]
def forestFromNestLevels(tuples):
'''A list of trees derived from a list of linesvalues paired
with integers giving their levels of indentation.
'''
def go(xs):
if xs:
(intIndent, txtv) = xs[0]
(firstTreeLines, rest) = span(
lambda x: intIndent < x[0]
)(xs[1:])
return [Node(txtv)(go(firstTreeLines))] + go(rest)
else:
return []
Line 516:
'Parse tree from outline text:\n',
forestJSON(forestA),
 
'\nNesting level list from tree:\n',
json.dumps(nestLevels, indent=2),
 
'\nTree rebuilt from nesting level list:\n',
forestJSON(forestB),
Line 564 ⟶ 566:
return [node['root'], [go(x) for x in node['nest']]]
return [go(x) for x in xs]
 
 
 
9,659

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.