我已经能够使用CDT的AST API成功解析源代码。我的问题涉及相反:如何以编程方式构建C AST,然后告诉它将自己写入文件?我见过类ASTWriter(但这是内部的),并且找不到有关构建实际AST的任何教程或文档。
我找到了一篇论述了我想要做的事情:Generating Rewritable Abstract Syntax Trees如果我可以构建树并说“自己写”,那么生成代码似乎很容易。这在CDT中是否可行?我如何开始(最好没有弃用/内部方法?)
答案 0 :(得分:2)
您需要的是使用ASTWriter:
ASTWriter writer = new ASTWriter()
String code = writer.write(myAST);
然后你可以将字符串转储到eclipse资源插件上下文中的文件。
答案 1 :(得分:1)
我建议您首先浏览CRefactoring及其子类(例如ExtractFunctionRefactoring)。
CDT重构框架试图解决许多问题:
我很确定即使你不需要所有这些功能,这两个类应该是一个很好的起点。