我正在从事一个逆向工程学校项目,该项目需要翻译已编译 C# 项目的操作 AST。我看过关于“将 C# 代码翻译成 AST?”的帖子。在这个网站上,但它看起来不像我要找的那个。
据我所知,目前 C# 没有为 Java 提供类似的库类:http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.cdt.doc。 isv/reference/api/org/eclipse/cdt/core/dom/ast/ASTVisitor.html。如果C#中有这样的库类,这里的一切都解决了。
我已经咨询了某人,这里是可能的解决方案。但是我在制定解决方案时也遇到了问题:
- 找到另一个提供库的编译器,该库允许公开其 AST 以进行操作。但是我找不到这样的编译器。
- 使用 ANTLR Parser Generator 来制作我自己的编译器(这将是一个更加困难和更长的过程)。那里的下载提供了不同语言的示例语法,但不提供 C#(它有用各种语言编写的语法,包括 C#,但不生成 C# 语法)。因此问题是我找不到 C# 语法。
解决此问题的最短和最快方法是什么?如果我真的必须采取上述替代方案之一,我应该如何解决我面临的这些问题。