我需要使用 haskell 从 C++ 头文件中获取所有函数(不仅仅是方法函数),我需要输入参数和返回类型以及方法名称。
我怎么能意识到这一点? olny 与正则表达式?或者我必须编写整个解析器(自下而上或自上而下)?
最佳答案
要从头文件中提取所有函数声明,您需要一个解析器,而不是正则表达式。 C++ 解析器很难获得,但幸运的是我们有一些:
- Language.C ,用于解析C文件
- LibClang ,用于解析 C++ 文件
使用其中任何一个,您都能够稳健地处理 C 或 C++ header ,并将声明提取为 Haskell 数据类型,以进行进一步处理。
关于c++ - 如何使用haskell从c++头文件中提取函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5940944/