extractor.py

来自「subversion-1.4.5.tar.gz 配置svn的源码」· Python 代码 · 共 53 行

PY
53
字号
## extractor.py: extract function names from declarations in header files## ====================================================================# Copyright (c) 2000-2004 CollabNet.  All rights reserved.## This software is licensed as described in the file COPYING, which# you should have received as part of this distribution.  The terms# are also available at http://subversion.tigris.org/license-1.html.# If newer versions of this license are posted there, you may use a# newer version instead, at your option.## This software consists of voluntary contributions made by many# individuals.  For exact contribution history, see the revision# history and logs, available at http://subversion.tigris.org/.# ====================================================================#import osimport reimport string## This parses the following two types of declarations:##    void#    svn_foo_bar (args)# or#    void svn_foo_bar (args)#_funcs = re.compile(r'^(?:(?:(?:\w+|\*) )+\*?)?((?:svn|apr)_[a-z_0-9]+)\s*\(', re.M)def extract_funcs(fname):  funcs = [ ]  for name in _funcs.findall(open(fname).read()):    if name not in _filter_names:      funcs.append(name)  return funcs_filter_names = [  'svn_boolean_t',  # svn_config_enumerator_t looks like (to our regex) a                    # function declaration for svn_boolean_t  ]if __name__ == '__main__':  # run the extractor over each file mentioned  import sys  print "EXPORTS"  for fname in sys.argv[1:]:    for func in extract_funcs(fname):      print func

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?