Extracts modules *and* programs from a fortran code file.

        :arg string: the contents of the fortran code file.
        :arg parent: the instance of CodeParser that will own the return Module.
        :arg module: when true, the code file will be searched for modules; otherwise
          it will be searched for programs.

def parse(self, string, parent, module=True, filepath=None):
        """Extracts modules *and* programs from a fortran code file.

        :arg string: the contents of the fortran code file.
        :arg parent: the instance of CodeParser that will own the return Module.
        :arg module: when true, the code file will be searched for modules; otherwise
          it will be searched for programs.
        """
        if module:
            result = self._parse_modules(string, parent, filepath)
        else:
            result = self._parse_programs(string, parent, filepath)
        return result