我正在开发一个逆向工程学校项目,该项目需要翻译编译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#中有这样的库类,这里的所有东西都解决了。如何操作C#AST?
我已经咨询过某人,这里有可能的解决方案。 但我在解决方案上也遇到了问题。 1)找到另一个编译器,该编译器提供了一个允许其AST被暴露以进行操作的库。但是我找不到这样的编译器。 2)使用ANTLR解析器生成器与我自己的编译器一起出来,这样做(tt将是一个更加困难和更长的过程)。该下载为不同的语言提供了示例语法,但不提供C#(它具有用C#编写的各种语言的语法,但不生成C#语法)。因此问题是我无法找到C#语法。
什么是最短和最快的方法来解决这个问题?如果我真的愿意采取上述的一种选择,我该如何解决我面临的这些问题。
非常感谢你,如果你能帮我解决我的问题!
我对你是否想用C#操纵C#的AST,或者只是操纵使用任何工具,在所有的AST不清楚。我对你在ANTLR的评论感到困惑:我认为ANTLR可以处理C#3.0语法来解析和构建C#树。 – 2009-08-21 01:27:27