_astavl_ = ACCEPT_ROOTED_TREES;
ACCEPT_ROOTED_TREES = 1;
Topology _ast_ = _TREE_STRING_FOR_PROCESSING_;
ACCEPT_ROOTED_TREES = _astavl_;

/* obtain an AVL data structure of the tree, post-order layout */

_astavl_  = _ast_^1;
_tree_size_ = Abs (_astavl_);


for (_a_node = 2; _a_node < _tree_size_; _a_node = _a_node + 1)
{
	_node_info = _astavl_[_a_node];
	myDegree = Abs(_node_info["Children"]);
	myDepth  = _node_info["Depth"];
	
	if (myDegree)
	{
		nodeName = _node_info["Name"];
		fprintf (stdout, "\n", nodeName, ":");
		for (_b_node = _a_node + 1; _b_node < _tree_size_; _b_node = _b_node + 1)
		{
			_bnode_info = _astavl_[_b_node];
			if (_bnode_info["Depth"] <= myDepth)
			{
				break;
			}
			if (Abs(_bnode_info["Children"])==0)
			{
				_bnode_info = _bnode_info["Name"];
				fprintf (stdout, "\t", _bnode_info);
			}
		}
	}
}

fprintf (stdout, "\n");
