c - 是否可以使用 ANTLR 解析 C 头文件?

标签 c parsing antlr

我是编译器业务的新手,使用 ANTLR 语法(开源)解析具有许多外部头文件的 C 源文件,即包含文件和库文件等。

这些头文件的定义语法是怎样的?有什么方法可以将这些包含文件解析为简单的源文件吗?

是否可以将所有这些源+include 文件集成到一个包中,并使用 ANTLR 或其他 C 解析器 (JavaCC) 对其进行解析。

等待您的建议。

最佳答案

为 C 实现完整的预处理器和解析器链并不容易。但是您可以重用现有的预处理器(例如,gcc -E)和现有的解析器(clang -Xclang -ast-print-xml 或 gcc-xml 都是不错的选择)然后解析一个简单的 XML 输出。

关于c - 是否可以使用 ANTLR 解析 C 头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5078088/

相关文章:

iphone - 如何将数组分配给结构成员数组?

python - 在 Python 中读取分布在多个输入行的记录

java - 如何在ANTLR中找到children上下文的children?

java - 如何处理 ANTLR 语法规则中的歧义标记?

c - 通过 EnumWindows 获取进程 ID...有人可以解释一下为什么这段代码有效吗?

c - 在 C 中,当在 if 语句的条件中使用它们时,哪些值等于 true 或 false?

c - 如何使用C下载网页内容?

tree - ANTLR 复制一棵树

两个指针变量的比较

php - 需要帮助将 JSON 数据从 MYSQL 数据库获取到 Android 应用程序