/* ***************************************************************************** * * * Copyright (c) 1978, 1979, 1980 * * by DIGITAL Equipment Corporation, Maynard, Mass. * * * * This software is furnished under a license and may be used and copied * * only in accordance with the terms of such license and with the * * inclusion of the above copyright notice. This software or any other * * copies thereof may not be provided or otherwise made available to any * * other person. No title to and ownership of the software is hereby * * transferred. * * * * The information in this software is subject to change without notice * * and should not be construed as a commitment by DIGITAL Equipment * * Corporation. * * * * DIGITAL assumes no responsibility for the use or reliability of its * * software on equipment which is not supplied by DIGITAL. * * * ***************************************************************************** facility: SDL (Structure Definition Language) author: Paul A. Calato */ /* C H A N G E L O G Date ! Name ! Description ________________!_______!______________________________________________________ ! ! 23-Nov-1985 | pc | Adding copyright header and change log. ________________!_______!______________________________________________________ */ /****************************************************************/ /* */ /* DO_CHILDREN processes the children on a node. */ /* */ /****************************************************************/ %include 'sdl$library:sdlnodef.in'; do_children: proc(cur_node,level) ; /********************/ /* */ /* DO_CHILDREN */ /* */ /********************/ /* decalre parameters and variables */ declare cur_node pointer, /* pointer to the current node */ level fixed binary(31), /* level within aggregate */ global_db fixed binary(7) external, /* for debugging */ local_db fixed binary(7) initial(1); /* for decugging */ /* declare external routines */ DCL OUTPUTNODE ENTRY ( pointer, pointer, fixed binary(31) ); if( global_db = 1 ) then if ( local_db = 1 ) then put skip list ('in do_children at level ',level); /* * Travel down the child node */ if cur_node->nod$a_child^=null() then call outputnode(cur_node->nod$a_child->nod$a_flink, cur_node->nod$a_child,level+1); if( global_db = 1 ) then if ( local_db = 1 ) then put skip list ('end of do_children at level ',level); end do_children;