我正在实现源到源转换的概念验证应用程序,并且需要一个带有API的C解析器来操作/遍历C语法树(AST)。
我曾尝试使用clang
,但遇到了各种问题,例如无法使用libclang
编译教程,错误的架构等。由于这是概念验证应用程序,我将将clang
推迟到其他日期。
什么是可以解析C代码并提供API的软件/库(用任何语言实现),以便我可以在它们之上构建应用程序。我环顾四周,但找不到任何免费的解析器。
我可以使用的平台是Windows或Mac或Linux上的任何平台,任何用C / C ++ / Java / Perl / Python / PHP编写的解析器都可以使用。
答案 0 :(得分:1)
您可以为ANTLR尝试一种可用的语法。 ANTLR支持创建树步行者,如有必要,您可以手动行走/操纵AST。 ANTLR V3有several grammars可用,包括C预处理器,ANSI C和GNU C.