fundict = {}
invalidlist = set()
for filename in os.listdir("./"):
if not filename.endswith("m"):
continue
# 文件名不是系统函数
invalidlist.add(filename[0:-2])
for line in open(filename):
comments = line.find('%')
if comments >= 0:
line = line[0:comments]
# function xxx不是系统函数
result = re.findall(r'function\s([A-Z_a-z0-9]+)\s*\(',line)
if len(result):
invalidlist.add(result[0])
continue
# 被赋过值的是变量不是系统函数
result = re.findall(r'([A-Z_a-z0-9]+)\s=',line)
if len(result):
invalidlist.add(result[0])
result = re.findall(r'([A-Z_a-z0-9]+)\s*\(',line)
if len(result) != 0:
for foo in result:
# 长度小于3,有大写或_的不是系统函数
if len(foo) <= 2 or len(re.findall('[A-Z_]',foo)) or foo in invalidlist:
continue
if fundict.has_key(foo):
fundict[foo] += 1
else:
fundict[foo] = 1
for key in fundict:
if key in invalidlist:
fundict[key] = -1
dict= sorted(fundict.iteritems(), key=lambda d:d[1], reverse = True)
for i in range(0,100):
if (i+1)%4:
print dict[i],
else:
print dict[i]