⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generate.py

📁 利用C
💻 PY
字号:
#!/usr/bin/env python## Generate list of include files for SWIG interface file.## Modified by <aasmund@simula.no>__author__ = "Anders Logg (logg@simula.no)"__date__ = "2007-04-12 -- 2007-05-02"__copyright__ = "Copyright (C) 2007 Anders Logg"__license__  = "GNU LGPL Version 2.1"import osimport re# List of headers to exclude (add more here)excludes = ["plot.h", "ParameterSystem.h", "ParameterList.h", \            "ConvectionMatrix.h", "MassMatrix.h", "StiffnessMatrix.h", "LoadVector.h"]# Name of SWIG interface file to be generatedinterface_file = "dolfin_headers.i"# Extract modules from dolfin.hmodules = []f = open("../dolfin.h")for line in f:    if "#include <dolfin/" in line and line[:17] == "#include <dolfin/":        module = line.split("/")[1]        modules += [module]f.close()# Extract header filesheaders = []docstring_headers = [] # Added for docstring extractionfor module in modules:    module_headers = []    print "Processing dolfin_%s.h..." % module    f = open("../%s/dolfin_%s.h" % (module, module))    module_base = "../" + module + "/"  # Added for docstring extraction    for line in f:        if re.search("^#include ",line):            header = line.split()[1].replace("<", "").replace(">", "")            # get just the file name (after last /) and check against excludes:            if not header.split("/")[-1] in excludes:                module_headers += [header]                docstring_headers += [module_base + os.path.basename(header)]  # Added for docstring extraction    f.close()    headers += [(module, module_headers)]# Generate list of header filesprint "Generating file %s" % interface_filef = open(interface_file, "w")f.write("// Generated file to include docstrings\n")  # Added for docstring extractionf.write("%include \"dolfin_docstrings.i\"\n\n")  # Added for docstring extractionf.write("// Generated list of include files for PyDOLFIN\n")for (module, module_headers) in headers:    f.write("\n// DOLFIN headers included from %s\n" % module)    for header in module_headers:        f.write("%%include \"%s\"\n" % header)f.close()# Added for docstring extractionfrom generate_docstrings import DocstringGeneratorg = DocstringGenerator(header_files = docstring_headers, swig_directory = ".", docstring_file_base = "dolfin")g.generate_doxygen_documentation()g.generate_interface_file_from_index()g.clean()

⌨️ 快捷键说明

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