使用CDT的抽象语法树API来生成/编写C代码?
我已经能够使用CDT的AST API成功解析源代码。 我的问题涉及到相反的情况:我如何以编程方式构建C AST,然后告诉它将自己写入文件? 我已经看到ASTWriter类(但是它是内部的),并且无法找到关于构建实际AST的任何教程或文档。
我找到了一篇论述我想要做什么的论文:生成可重写的抽象语法树使得它看起来像生成代码很容易,如果我可以构造树并说'自己写'。 这在CDT中是否可行以及我可以如何开始(最好不要使用过时/内部方法?)
我建议你从探索CRefactoring及其子类开始(例如ExtractFunctionRefactoring)。
CDT重构框架试图解决的问题有很多:
我很确定,即使你不需要所有这些功能,这两个类也应该是一个很好的起点。
你需要的是使用ASTWriter:
ASTWriter writer = new ASTWriter()
String code = writer.write(myAST);
然后,您可以将该字符串转储到一个位于eclipse资源插件上下文中的文件。
链接地址: http://www.djcxy.com/p/11691.html上一篇: Using CDT's Abstract Syntax Tree API to generate/write C code?