1234567891011121314151617181920212223242526272829303132333435(**************************************************************************)(* *)(* Copyright 2020 OCamlPro & Origin Labs *)(* *)(* All rights reserved. This file is distributed under the terms of the *)(* GNU Lesser General Public License version 2.1, with the special *)(* exception on linking described in the file LICENSE. *)(* *)(**************************************************************************)typetree=Branchofstring*treelistletup_down="│ "letup_right_down="├──"letup_right="└──"letprint_treeindenttree=letreciterindent~last=function|Branch(s,branches)->Printf.printf"%s%s %s\n"indent(iflastthenup_rightelseup_right_down)s;iter_branches(indent^iflastthen" "elseup_down)branchesanditer_branchesindent=function|[]->()|[branch]->iter(indent^" ")~last:truebranch|branch::branches->iter(indent^" ")~last:falsebranch;iter_branchesindentbranchesiniterindent~last:truetree