此问题是http://community.csdn.net/Expert/topic/4469/4469393.xml?temp=.644848的另一给分点。各位高手,我的目的主要如下:1:对于PMD等静态分析Java源程序的工具,我不想仅仅是得到一个检查报告,对于某些问题代码,我希望工具能自动的修改;2:自己动手分析java语言,能很方便的增加功能,例如:增加重构功能,自动生成源代码等;3:我打算在已有的开源工具的基础上开发,也可能利用Eclipse中的Java开发环境(JDT)提供的源代码解析和编辑工具。总之,我没有这方面的经验,所以请各位高手指点,少走弯路!
解决方案 »
- 求createinstall使用教程
- JAVA实现电子表格里的数局导入到数局库
- 关于DecimalFormat类的问题
- ™符号如何在java applet中显示
- (高分求助)如何通过JAVA编程实现检测某个进程是否正在运行?
- 谁有关于定积分的算法阿,谢谢,急用
- 怎样用java读取oracle9i中一个表中的主外键(100分求)
- 看到java核心技术一书中,事件监听器与事件源如何理解?请大家帮帮我
- 希望简单的问题有人帮我解决!!!谢谢
- ObjectInputStream.readObject()的问题!!!
- 关于Static的问题
- 一个关于java与sql数据库连接及表操作的问题,请高手指导!
eclipse的ASTParser可以直接得到一个CompilationUnit(它和PMD解析出的结构相似,但更完整,支持1.5语法),然后基于CompilationUnit去分析和修改.详细情况可参考JDT Plug-in Developer Guide-->Reference-->API Reference.主要看包:org.eclipse.jdt.core.dom.(另外,Eclipse的dom包可脱离eclipse使用,但要将ASTParser的initializeDefaults()中的this.compilerOptions = JavaCore.getOptions();改成this.compilerOptions = new Hashtable();)如果你可以把你的东西绑定在eclipse上,你可以用到更多的API, 那么你可以看看:
重构:org.eclipse.jdt.ui.refactoring
搜索:org.eclipse.jdt.core.search
我想这两个包对你做自己的重购时,会省很多工作(相比antlr)
只是我想搞明白AST树和源代码的同步是怎么设计和实现的,而且保留原来的源代码格式及注释。