ruby中的cpp语言解析器
cpp language parser in ruby
我有一个用C++编写的项目。代码中的一些Struct获取规范信息,所以我需要获取并解析它们。我用Ruby编写了一个跟踪预处理(例如#if
、#ifdef
)状态和类/结构/方法边界的脚本,而其他脚本则将其视为文本,所以我扫描关键字,但这并不明智。为了解析C++代码,我在Ruby中安装了一个C++解析器,但它有bug,而且很旧。有没有建议任何Ruby gem解析C++代码?或者,有什么聪明的解决方案吗?
解析C++是一项非常非常不容易的任务。它是现存语法最复杂的语言之一。与其试图解析C++,更好的方法是让Ruby根据提取的规范信息输出结构定义。
如果您必须解析C++,那么最好的选择可能是尝试利用libclang。AFAIK目前还没有任何Ruby绑定,但我的意思是,解析C++并不是每个语言都能拥有库的。这是一项非常复杂且非常小众的任务。这是最容易实现的方法。
相关文章:
- 不同语言中的模运算符差异
- 使用 TSS 和 C 语言中的 TrouSerS 创建认可密钥
- C++ 语言中的参考
- 了解 C 语言中的宏
- C 语言中的静态变量初始化
- C++语言中的 FORTRAN 等效性
- 编程语言中的 char-int 等价性
- 是否有一种方法可以更准确地确定两种语言中的哪种语言中的哪种方法
- 什么是 C 语言中的 &&&&&操作
- 什么是 C 语言中的 &&&&操作
- 编程语言中的类和库有什么区别?
- MIPS语言中的嵌套和递归过程
- 非英语语言中的文本识别
- 使用 C 语言中的文本文件内容初始化数组
- bool表示c语言中的函数
- C 语言中的链表
- 为什么我不能进行动态演员表?C 语言中的策略模式
- 解释 C 语言中的浮点数据
- 在 C 语言中的函数中定义函数
- J 编程语言中的数组