C解析器在C#或一般.Net

对于我的gradle论文,我需要实现某些静态C代码分析,我正在拼命寻找一个框架/库,它允许我解析C源代码,将其拆分为单个函数,因为每个函数都确定了哪些变量在函数体并自动为代码派生某些注释。 为了这个目的,是否有用C#或一般用.Net类编写的好框架?

谷歌搜索“用C#编写的C解析器”怎么样?

我将此作为第一个链接: http : //code.google.com/p/cpp-ripper/

另外,我认为C语法可以在很多地方找到,所以你可能只想打开lex / yacc的.NET变体并从那里开始?

您可能想查看ANTLR。 它附带了几个版本的版本,包括C和C#。 ANTLR网站上有一些免费的语法,包括C.

我有一个类似的问题并且已经针对C#进行了YACC工具的研究我选择了带有语义引擎的Gold Parsing System。 我的项目是解析SQL查询并生成逻辑查询计划(来自T-SQL语法子集)。

我真的推荐它。 这两个库使解析内容无痛,并允许将语法映射到代码中的对象模型。 感觉非常直观,使我的项目成功:)但是,它可能缺少一些先进的ANTLRfunction,因此请仔细识别您的需求。

金项目http://www.devincook.com/goldparser/

语义引擎库http://code.google.com/p/bsn-goldparser

如果您对使用GPL代码感到满意,可能需要查看GCC源代码。 如果您需要在.Net中执行此操作,则始终可以使用p / invoke从GCC库中调用代码。