跳转到主要内容

用于解扰itanium符号的纯Python解析器

项目描述

Itanium Demangler

《Python Itanium Demangler》是用于Itanium C++ ABI符号混淆语言的纯Python解析器。请注意,MSVC混淆语言不受支持。

此解扰器从混淆符号生成抽象语法树,可以直接提取类型信息,而不是必须解释与解扰符号对应的C++源代码。

还有一个内置的AST字符串化程序,因此解扰器可以用作c++filt的替代品或用于格式化回溯。

要求

解扰器在Python 2.7和3.3+上运行,并且没有依赖项。

安装

通过PyPI安装

pip install itanium_demangler

使用本地存储库进行开发

git clone https://github.com/whitequark/python-itanium_demangler
cd python-itanium_demangler
python setup.py develop --user

用法

from itanium_demangler import parse as demangle

ast = demangle("_ZN5boost6chrono24process_system_cpu_clock3nowEv")

print(repr(ast))
# <FuncNode func <Node qual_name (<Node name 'boost'>, <Node name 'chrono'>, <Node name 'process_system_cpu_clock'>, <Node name 'now'>)> (<Node builtin 'void'>,) None>

print(ast)
# boost::chrono::process_system_cpu_clock::now()

未来考虑事项

MSVC混淆语言的类似(即也解析到AST)的解扰器实现将很有用。

许可证

0-clause BSD

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

此版本没有提供源代码分发文件。请参阅生成分发存档的教程

构建分发

itanium_demangler-1.1-py3-none-any.whl (8.8 kB 查看哈希值)

上传于 Python 3

由...