code: def compute_file_metrics(processors, language, key, token_list):
      
      # multiply iterator
      tli = itertools.tee(token_list, len(processors))
      metrics = OrderedDict()
  
      # reset all processors
      for p in processors:
          p.reset()
  
      # process all tokens
      for p, tl in zip(processors, tli):
          p.process_file(language, key, tl)
  
      # collect metrics from all processors
      for p in processors:
          metrics.update(p.metrics)
  
      return metrics
docs: use processors to compute file metrics.