47 lines
2.1 KiB
Python
Executable File
47 lines
2.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import clang.cindex
|
|
import subprocess
|
|
import sys
|
|
|
|
index = clang.cindex.Index.create()
|
|
procevents = index.parse('rtengine/procevents.h',args=['-x', 'c++'])
|
|
|
|
if(1):
|
|
for chld in procevents.cursor.get_children():
|
|
if(chld.displayname == 'rtengine'):
|
|
for c in chld.get_children():
|
|
if(c.displayname == 'ProcEventCode'):
|
|
for pec in c.get_children():
|
|
#print(pec.kind, pec.displayname, pec.enum_value)
|
|
#print(pec.displayname, file=sys.stderr)
|
|
grp1 = subprocess.Popen(('grep', '-ro', '--exclude=procevents.h', '--exclude-dir=.git', pec.displayname), stdout=subprocess.PIPE)
|
|
wcr1 = subprocess.check_output(('wc', '-l'), stdin=grp1.stdout)
|
|
grp1.wait()
|
|
grp2 = subprocess.Popen(('grep', '-ro', '--exclude=procevents.h', '--exclude=refreshmap.cc', '--exclude-dir=.git', pec.displayname), stdout=subprocess.PIPE)
|
|
wcr2 = subprocess.check_output(('wc', '-l'), stdin=grp2.stdout)
|
|
grp2.wait()
|
|
print(pec.enum_value, pec.displayname,int(wcr1), int(wcr2))
|
|
|
|
with open('rtdata/languages/default', 'r') as deflang:
|
|
for line in deflang:
|
|
if(line[0] == '#'):
|
|
continue
|
|
if(line[0:2] == '//'):
|
|
continue
|
|
if(line[0:2] == '/*'):
|
|
#our language files support comment blocks?????????????????????????????
|
|
#or is this commented block bogus?
|
|
continue
|
|
if(line[0:2] == '*/'):
|
|
continue
|
|
else:
|
|
stringid = line.split(';')[0]
|
|
if(stringid.startswith('HISTORY_MSG')):
|
|
continue
|
|
#print(stringid, file=sys.stderr)
|
|
grp1 = subprocess.Popen(('grep', '-ro', '--exclude-dir=languages', '--exclude-dir=.git', stringid), stdout=subprocess.PIPE)
|
|
wcr1 = subprocess.check_output(('wc', '-l'), stdin=grp1.stdout)
|
|
grp1.wait()
|
|
print(stringid, int(wcr1))
|