Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine delete_from_linked_list(level,tree)use mod_forestimplicit noneinteger,intent(in)::leveltype(tree_node_ptr)::treetype(tree_node_ptr)::next,prevprev%node=>tree%node%prev%nodenext%node=>tree%node%next%nodeif(associated(next%node).and.associated(prev%node))thenprev%node%next%node=>next%nodenext%node%prev%node=>prev%nodeelse if(associated(prev%node))thenlevel_tail(level)%node=>prev%nodenullify(prev%node%next%node)else if(associated(next%node))thenlevel_head(level)%node=>next%nodenullify(next%node%prev%node)else nullify(level_head(level)%node)nullify(level_tail(level)%node)end if end subroutine delete_from_linked_list