This package draws a tree onto an ASCII-ART picture The tree drawn is a list whose car is the node displayed, and whose cdr is the list of children. License: AGPL3 Copyright Pascal J. Bourguignon 2002 - 2012 This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>
(tree-decorate tree make-decoration) |
function |
DO: Converts the list based tree to a decorated tree. The building of the decoration is done by the make-decoration function. RETURN: The decorated tree.
(tree-to-ascii tlee &key boxed format-fun background to-length from-length base) |
function |
tlee: is a list-based tree, whose car is a "node", and whose cdr is the list of children. boxed: t if boxes should be drawn around the nodes. format-fun: a function taking a node (one of the car's) and returning a string to be displayed as the node. Defaults merely use (format nil "~S" node). background: is a character used as background. Default: space. DO: Draw the tree onto an ASCII-art picture. RETURNS: The string containing the ASCII-ART tree. EXAMPLE: (tree-to-ascii '(if (= a b) (decf b a) (decf a b))) --> " +--a +--=--+ | +--b | | +--b if--+--decf--+ | +--a | | +--a +--decf--+ +--b "
(tree-to-ascii-draw-to-pict tree pict left bottom &key boxed to-length from-length) |
function |
DO: Draw the decorated TREE into the PICT.