code: def read_files(
              self,
              files,
              compilation_mode=COMPILATION_MODE.FILE_BY_FILE):
          
  
          if compilation_mode == COMPILATION_MODE.ALL_AT_ONCE \
             and len(files) == len(self.get_os_file_names(files)):
              return self.__parse_all_at_once(files)
          else:
              if compilation_mode == COMPILATION_MODE.ALL_AT_ONCE:
                  msg = ''.join([
                      "Unable to parse files using ALL_AT_ONCE mode. ",
                      "There is some file configuration that is not file. ",
                      "pygccxml.parser.project_reader_t switches to ",
                      "FILE_BY_FILE mode."])
                  self.logger.warning(msg)
              return self.__parse_file_by_file(files)
docs: parses a set of files
  
          :param files: list of strings and\\or :class:`file_configuration_t`
                        instances.
          :type files: list
  
          :param compilation_mode: determines whether the files are parsed
                                   individually or as one single chunk
          :type compilation_mode: :class:`COMPILATION_MODE`
          :rtype: [:class:`declaration_t`]