我需要从带有haskell的c ++头文件中获取所有函数(不仅仅是方法函数),我需要输入参数,返回类型也是方法名。
我怎么能意识到这一点? olny与正则表达式?或者我必须写一个完整的解析器(自下而上或自上而下)?
答案 0 :(得分:5)
要从头文件中提取所有函数声明,您需要一个解析器,而不是一个正则表达式。 C ++的解析器很难得到,但幸运的是我们有一些:
使用其中任何一个,您都可以健壮地处理C或C ++标头,并将声明提取为Haskell数据类型,以便进一步处理。
答案 1 :(得分:1)
如果您决定解析它们,我建议您使用Parsec并尝试查看其他人是否已经完成此操作。
但是,已经有很多C ++解析器 - 我建议你使用其中一个并与其输出接口。
答案 2 :(得分:0)