count-headers 991 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #! /usr/bin/python2
  2. import os.path
  3. import sys
  4. import shlex
  5. import re
  6. from headerutils import *
  7. usage = False
  8. src = list ()
  9. flist = { }
  10. process_h = True
  11. process_c = True
  12. verbose = False
  13. all_inc = True
  14. level = 0
  15. only_use_list = list ()
  16. for x in sys.argv[1:]:
  17. if x[0:2] == "-h":
  18. usage = True
  19. else:
  20. src.append (x)
  21. if not usage and len (src) > 0:
  22. incl = { }
  23. for fn in src:
  24. src = readwholefile (fn)
  25. dup = { }
  26. for line in src:
  27. d = find_pound_include (line, True, True)
  28. if d != "" and d[-2:] ==".h":
  29. if dup.get (d) == None:
  30. if incl.get (d) == None:
  31. incl[d] = 1
  32. else:
  33. incl[d] = incl[d]+ 1
  34. dup[d] = 1
  35. l = list ()
  36. for i in incl:
  37. l.append ((incl[i], i))
  38. l.sort (key=lambda tup:tup[0], reverse=True)
  39. for f in l:
  40. print str (f[0]) + " : " + f[1]
  41. else:
  42. print "count-headers file1 [filen]"
  43. print "Count the number of occurrences of all includes across all listed files"