+ -
当前位置:首页 → 问答吧 → 请教关于提取文件中的函数名以及所关联的行号范围

请教关于提取文件中的函数名以及所关联的行号范围

时间:2011-09-13

来源:互联网

请教各位大侠一个问题:
  如何能够将一个文件中的所有的函数名称准确提取出来,并且列出每个函数所对应的行号范围。我现在所能想到的就是用perl脚本来实现,但是不知大侠们有木有好的idea??
  谢谢!

作者: jesson1018   发布时间: 2011-09-13

真要实现起来还是挺麻烦的

可以参考下网上开源的工具

作者: jiuchang   发布时间: 2011-09-13

楼主没说清楚要解释的是那种语言写的代码,如果是PYTHON 函数定义主要是 def 和 lambda
需要写个解释器

下面代码是查找 def定义函数的函数名和行号,函数对应行号范围比较麻烦没往下写
Python code

import re
f=open(r'test.py','r')
lines=f.readlines()
index = 0
for eachline in lines:
    l = re.findall(r'def\s*(?P<t>[^\s,\(]+)', eachline)
    if len(l) > 0:
        print '函数名:' + str(l[0]) + ',    所在行行号:' + str(index)
    index += 1

作者: CCDDR   发布时间: 2011-09-13

ctags就可以。

作者: iambic   发布时间: 2011-09-13