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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility
Attributes
Name
Initial
character(len=128),
private
::
emsg
integer,
private
::
ios
integer,
private
::
p1
integer,
private
::
p2
character(len=:),
private,
allocatable
::
t
Source Code
pure subroutine parse_date_string(str,y,m,d,ok)!! Parse a "YYYY-MM-DD" calendar date. `ok = .false.` on any!! malformed field (caller decides fail-loud policy).character(len=*),intent(in)::strinteger,intent(out)::y,m,dlogical,intent(out)::okcharacter(len=:),allocatable::tcharacter(len=128)::emsginteger::p1,p2,iosy=0m=0d=0ok=.false.t=trim(adjustl(str))p1=index(t,"-")if(p1<=1)returnp2=index(t(p1+1:),"-")if(p2<=1)returnp2=p1+p2read(t(1:p1-1),*,iostat=ios,iomsg=emsg)yif(ios/=0)return read(t(p1+1:p2-1),*,iostat=ios,iomsg=emsg)mif(ios/=0)return read(t(p2+1:),*,iostat=ios,iomsg=emsg)dif(ios/=0)return if(m<1.or.m>12.or.d<1.or.d>31)returnok=.true.end subroutine parse_date_string