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.
subroutine move_lines(file_id,n)! Move n lines forwards or backwards (if negative) in formatted sequential fileinteger,intent(in)::file_id,ninteger iif(n>0)then! move forwardsdo i=1,nread(file_id,'()')end do else if(n<0)then! move backwardsdo i=1,-1*nbackspace file_idend do end if end subroutine move_lines