ruby中的cpp语言解析器

时间:2014-04-18 02:26:30

标签: c++ ruby

我有一个用C ++编写的项目。代码中的一些Struct需要获取规范信息,因此我需要获取并解析它们。我用Ruby编写了一个脚本来跟踪预处理(ex #if#ifdef)状态和类/结构/方法边框,而其他人则视为文本,因此我扫描关键字,但它是不聪明。为了解析C ++代码,我安装了a C++ parser in Ruby,但它有bug并且很旧。是否有任何Ruby gem解析C ++代码的建议?或者,有没有智能解决方案?

1 个答案:

答案 0 :(得分:2)

解析C ++非常非常非常容易。它是现存语法最复杂的语言之一。而不是尝试解析C ++,更好的方法是根据获取的规范信息让您的Ruby输出结构定义。

如果你必须解析C ++,最好的办法是尝试利用libclang。 AFAIK目前还没有任何Ruby绑定,但是,我的意思是,解析C ++并不是你可以期望每种语言都有一个库的东西。这是一个真正涉及和非常小众的任务。这是最容易实现的方式。