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.
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 parse_from_string(self,source_string)!< Parse xml data from string.class(xml_file),intent(inout)::self!< XML file.character(*),intent(in)::source_string!< String containing xml data.type(xml_tag)::tag!< Dummy xml tag.integer(I4P)::tstart!< Counter for tracking string parsing.integer(I4P)::tend!< Counter for tracking string parsing.tstart=1tend=0do while(tstart<len(source_string))call tag%freecall tag%parse(source=source_string(tstart:),tend=tend)if(tend==0)exit if(tag%is_parsed())call self%add_tag(tag)tstart=tstart+tendenddo endsubroutine parse_from_string