annotate contrib/header-tools/count-headers @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 #! /usr/bin/python2
kono
parents:
diff changeset
2 import os.path
kono
parents:
diff changeset
3 import sys
kono
parents:
diff changeset
4 import shlex
kono
parents:
diff changeset
5 import re
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 from headerutils import *
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 usage = False
kono
parents:
diff changeset
10 src = list ()
kono
parents:
diff changeset
11 flist = { }
kono
parents:
diff changeset
12 process_h = True
kono
parents:
diff changeset
13 process_c = True
kono
parents:
diff changeset
14 verbose = False
kono
parents:
diff changeset
15 all_inc = True
kono
parents:
diff changeset
16 level = 0
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 only_use_list = list ()
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 for x in sys.argv[1:]:
kono
parents:
diff changeset
21 if x[0:2] == "-h":
kono
parents:
diff changeset
22 usage = True
kono
parents:
diff changeset
23 else:
kono
parents:
diff changeset
24 src.append (x)
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 if not usage and len (src) > 0:
kono
parents:
diff changeset
28 incl = { }
kono
parents:
diff changeset
29 for fn in src:
kono
parents:
diff changeset
30 src = readwholefile (fn)
kono
parents:
diff changeset
31 dup = { }
kono
parents:
diff changeset
32 for line in src:
kono
parents:
diff changeset
33 d = find_pound_include (line, True, True)
kono
parents:
diff changeset
34 if d != "" and d[-2:] ==".h":
kono
parents:
diff changeset
35 if dup.get (d) == None:
kono
parents:
diff changeset
36 if incl.get (d) == None:
kono
parents:
diff changeset
37 incl[d] = 1
kono
parents:
diff changeset
38 else:
kono
parents:
diff changeset
39 incl[d] = incl[d]+ 1
kono
parents:
diff changeset
40 dup[d] = 1
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 l = list ()
kono
parents:
diff changeset
43 for i in incl:
kono
parents:
diff changeset
44 l.append ((incl[i], i))
kono
parents:
diff changeset
45 l.sort (key=lambda tup:tup[0], reverse=True)
kono
parents:
diff changeset
46
kono
parents:
diff changeset
47 for f in l:
kono
parents:
diff changeset
48 print str (f[0]) + " : " + f[1]
kono
parents:
diff changeset
49
kono
parents:
diff changeset
50 else:
kono
parents:
diff changeset
51 print "count-headers file1 [filen]"
kono
parents:
diff changeset
52 print "Count the number of occurrences of all includes across all listed files"
kono
parents:
diff changeset
53
kono
parents:
diff changeset
54
kono
parents:
diff changeset
55
kono
parents:
diff changeset
56
kono
parents:
diff changeset
57
kono
parents:
diff changeset
58