对于我的毕业论文我需要实现一定的静态C代码分析,我拼命寻找一个框架/库,让我来解析C++源代码,把它分解成单功能,为每个函数确定哪些变量在函数体中被改变,并自动为代码派生一些注释。 为了这个目的,有没有用C#或一般的.Net类编写的好框架?Ç解析器在C#或一般的.Net
回答
关于用C语言编写的C语言分析器的搜索结果是什么?
我这是第一个链接:http://code.google.com/p/cpp-ripper/
另外,我觉得的C语法可以在相当多的地方找到,所以你可能只是想打开你的.NET variant of lex/yacc,并从那里走?
非常感谢,我试着谷歌几个条目,我甚至去了code.google.com和搜索“C语言分析器”,但不知何故,我忽略了这个项目。这似乎正是我需要的。 – 2011-05-13 14:54:15
您是否尝试过此路线?它有用吗? – 2011-08-16 14:17:49
是的,您建议的解析器在C#中是一个非常好的,直接的实现,它很容易调整并适应任何任务。我用它来解析C代码并推断我实现时需要的一些信息。唯一的问题是解析是不可逆的,因为我不得不修改原始代码,所以我不得不使用组合解析器/正则表达式方法,其中我使用解析器来推断要更改的内容以及正则表达式以找到要更改的位置。 – 2011-08-21 18:21:51
您可能想检查ANTLR。它带有几个版本的版本,包括C和C#。在ANTLR web site有一些免费的语法,包括C.
是的,我知道ANTLR和我之前访问过该网站,但对我来说这似乎是一个过于一般和复杂的解决方案:我的论文主题是静态软件验证,而不是解析器/词法分析器。我只需要实现我在论文中提出的方法,并且需要轻量级的东西,就像Daren Themas的回答中提到的那样。 – 2011-05-13 14:57:30
链接丢失,404。 – JBeurer 2016-05-27 20:08:42
我有一个类似的问题,并且已经完成了一个关于YACC工具的C#的研究,我选择了带语义引擎的Gold Parsing System。我的项目是解析SQL查询并生成逻辑查询计划(来自T-SQL语法子集)。
我真的推荐它。这两个库使解析工作变得轻松,并允许将语法映射到代码中的对象模型。它感觉非常直观,并使我的项目成功:)但是,它可能缺乏一些先进的ANTLR功能,因此请认真识别您的需求。
- 1. Go中的一般XML解析器
- 2. XML在C#.NET解析4
- 3. 用于.NET的C代码解析器
- 4. XML解析.net c#
- 5. 解析值.NET C#
- 6. 路径解析器在.NET
- 7. HTML解析器在.net
- 8. .NET HTTP解析器
- 9. 解析C#.NET MVC控制器类
- 10. C#.NET 4.5中的JavaScript解析器和分析器
- 11. C++一般解释q
- 12. C++一般继承误解
- 13. Java中PB的一般解析
- 14. .NET中的EDI解析器
- 15. 解析TCL般的文字
- 16. JSON .NET C#动态解析
- 17. 用c#.net解析HTML
- 18. SAX XML解析器或DOM解析器?
- 19. C#.NET助记符和一般
- 20. C#.NET 3.5获取一般定义
- 21. 一般解析字符串迄今
- 22. 一般的JavaScript字符串类型解析器
- 23. Ç的API的mailto URL解析
- 24. Xerces jar是一个DOM解析器或SAX解析器
- 25. 如何在C#.NET中解析Json
- 26. 解析JSON对象在.net 4 C#
- 27. 如何在.net中解析JSON-C
- 28. Java AST解析器.Net
- 29. 解析一个.NET的DataGridView在AutoHotkey
- 30. 如何解决一个C++解析器
你有没有考虑使用正则表达式? – 2011-05-13 12:52:32
@WhoCares:这是傻瓜的选择...... – leppie 2011-05-13 12:54:54
你要求的东西很多,虽然在.NET中有很好的解析工具,但许多C语言都存在问题。 – Lucero 2011-05-13 13:00:07