解析用C编写的代码并提供API的库

时间:2013-06-28 20:00:32

标签: c parsing compiler-construction

我正在实现源到源转换的概念验证应用程序,并且需要一个带有API的C解析器来操作/遍历C语法树(AST)。

我曾尝试使用clang,但遇到了各种问题,例如无法使用libclang编译教程,错误的架构等。由于这是概念验证应用程序,我将将clang推迟到其他日期。

问题

什么是可以解析C代码并提供API的软件/库(用任何语言实现),以便我可以在它们之上构建应用程序。我环顾四周,但找不到任何免费的解析器。

我可以使用的平台是Windows或Mac或Linux上的任何平台,任何用C / C ++ / Java / Perl / Python / PHP编写的解析器都可以使用。

1 个答案:

答案 0 :(得分:1)

您可以为ANTLR尝试一种可用的语法。 ANTLR支持创建树步行者,如有必要,您可以手动行走/操纵AST。 ANTLR V3several grammars可用,包括C预处理器,ANSI C和GNU C.