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 array_conv(list,name,conv)character(len=*),intent(in)::list,nameinteger,intent(out)::conv(:)integer::name_pos,colon_pos,end_pos,i,idx,position,num,next_commacharacter(:),allocatable::value_strname_pos=index(list,trim(name))colon_pos=index(list(name_pos:),':')+name_pos-1end_pos=index(list(colon_pos+1:),' ')if(end_pos==0)thenend_pos=len(list)+1elseend_pos=colon_pos+end_posend ifvalue_str=list(colon_pos+1:end_pos-1)conv=0idx=1position=1do read(value_str(position:),'(I5)',iostat=i)numif(i/=0)exit if(num<=size(conv))conv(num)=idxidx=idx+1next_comma=index(value_str(position:),',')if(next_comma==0)exitposition=next_comma+positionif(position==1)exit end doend subroutine array_conv