我需要从haskell(不是方法唯一函数)的C++头文件中获取所有函数,我需要输入参数和返回类型也是方法名称。如何使用haskell从C++头文件中提取函数?
我怎么能意识到这一点? olny与正则表达式?或者我必须编写一个完整的解析器(自下而上或自上而下)?
我需要从haskell(不是方法唯一函数)的C++头文件中获取所有函数,我需要输入参数和返回类型也是方法名称。如何使用haskell从C++头文件中提取函数?
我怎么能意识到这一点? olny与正则表达式?或者我必须编写一个完整的解析器(自下而上或自上而下)?
要从头文件中提取所有函数声明,您需要一个解析器,而不是正则表达式。对于C解析器++是很难得的,但幸运的是我们有一些:
无论使用的这些,你会能够强大地处理C或C++头文件,并将声明提取为Haskell数据类型,以供进一步处理。
如果您决定解析它们,我建议您使用Parsec并尝试查看是否有其他人已经完成了它。
但是,有很多C++解析器已经在那里 - 我建议您使用其中之一并与其输出接口。
您是在编写一个解析头文件的工具,或者您是否尝试从Haskell生成绑定到这些函数(例如,使用c2hs的FFI绑定)? – 2011-05-09 18:33:52
为什么需要用Haskell完成? – 2011-05-09 18:33:59