`
jljlpch
  • 浏览: 319569 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

jDT

阅读更多

最近做program analysis,需要解析Java的源代码,于是就去看了看Abstract Syntax Tree(AST,中文为抽象语法树)。有点无奈的是,网上关于这方面的资料比我想象中的少,可能是涉及的东西太底层了吧。AST一般属于编译原理方面的内容,也经常用于程序分析等等。简单来说,你写了一坨代码,编译器会把代码转化成一棵抽象语法树用于“理解”。每个树节点代表一个代码元素,也有自己的属性什么的。关于AST的细节一两句话肯定说不清楚, 不过好消息是,Eclipse JDT中有现成的ASTParser可以将源代码解析成AST,并且有很全面的节点类型和方法供用户操作。

今天就先把网上一些关于Eclipse JDT中AST相关的资料汇总再这里,等我自己摸索的差不多了会及时更新这方面的内容。

 

那啥,转载请注明出处哦~~~ http://blog.csdn.net/flying881114/archive/2011/02/16/6187061.aspx

 

---入门文档

1. Eclipse Corner Article: Abstract Syntax Tree

http://www.eclipse.org/articles/article.php?file=Article-JavaCodeManipulation_AST/index.html

(英文,AST的概述,细节代码不多)

 

2. 探索Eclipse的ASTParser

http://www.ibm.com/developerworks/cn/opensource/os-ast/index.html#resources

(中文,相对详细的讲解和代码)

 

---AST使用

1. Eclipse JDT--AST and JavaModel Tutorial

http://www.vogella.de/articles/EclipseJDT/article.html

(英文,代码很多,但需要有更多的背景知识)

 

2. Eclipse AST 使用指南

http://wenku.baidu.com/view/a0b8e07931b765ce050814ac.html

(pdf文档,更加详细地说明了AST 相关类与方法,可以与eclipse documentation结合使用)

 

3. Eclipse documentation

http://help.eclipse.org/helios/index.jsp

其实,最靠谱的还是直接看eclipse文档。在这里你可以了解你想知道的一切。

 

4. Yet another AST tutorial

http://sahits.ch/blog/?p=228

英文,有大量代码,从易到难讲解(这篇我还没看完~)

 

---使用AST相关

1. 使用AST出现问题?不知道使用什么jar包?看看这里吧:

http://lym6520.javaeye.com/blog/747840

 

2. 想亲眼看看你源文件的AST是什么样的?为你的Eclipse装一个ASTview插件吧!

http://www.eclipse.org/jdt/ui/astview/index.php

(小心!就连Hello World的小程序也有很复杂的AST哦!)

分享到:
评论

相关推荐

    Java解析语法树(AST)使用JDT相关库

    包括以下包:jdt-3.2.1-r321_v20060823.jar、 jdt-3.3.0-v20070607-1300.jar、jdt-3.4.2_r894.jar、jdt-compiler.jar、org.eclipse.datatools.enablement.jdt.classpath_1.0.1.v201107221501.jar、org.eclipse.jdt....

    JDT生成代码实例

    import org.eclipse.jdt.core.dom.AST; import org.eclipse.jdt.core.dom.Assignment; import org.eclipse.jdt.core.dom.Block; import org.eclipse.jdt.core.dom.ClassInstanceCreation; import org.eclipse.jdt....

    org.eclipse.jdt

    org.eclipse.jdt.* 的目录和文件 全部拷贝到 flexbuilder 的plugin (若为myEclipse则是将myEclipse下eclipse\plugins) flashbuilder也一样 ----下面是在FlexBuilder中配置VSS ------- 1. 首先绑定项目到...

    eclipse中jdt相关jar包

    Class not found: org.eclipse.jdt.core.JDTCompilerAdapter。 解决方法: 拷贝下面这些jar包到ant_home/lib org.eclipse.jdt.compiler.tool_1.0.100.v_972_R35x.jar org.eclipse.jdt.core_3.5.2.v_981_R35x.jar org...

    jdt-compiler-3.1.1.jar

    java开发常用 jdt-compiler-3.1.1.jar

    eclipse.jdt.core, jdt/核心项目库( eclipse jdt core ).zip

    eclipse.jdt.core, jdt/核心项目库( eclipse jdt core ) JDT内核这是 Eclipse 开发工具的Java的核心部分。 它包含对编译和使用Java代码的非用户界面支持,包括:可以独立运行或者作为 Eclipse IDE的一部分的增量或者...

    org.eclipse.jdt.core_3.6.1.v_A68_R36x_jar

    1.下载Eclipse plugin 补丁文件 org.eclipse.jdt.core_3.6.1.v_A68_R36x.jar: http://meiyoudao.download.csdn.net/ 2.将解压缩后的jar包 放到Eclipse的目录中的Plugin下面, 3.Android开发时代码提示卡死的问题...

    tomcat源码需要的jar包(org.eclipse.jdt.core_3.8.3)

    org.eclipse.jdt.core_3.8.3.v20130121-145325.jar (如果你没有,但是装了ecplise,可在 \eclipse\plugins中找到) [尤其是org.eclipse.jdt 这个jar包,不好找,网上下的几个不行。。。最后灵机一动,去ecplise...

    JDT jdt get set 注释 eclipse 自动

    JDT jdt get set 注释 eclipse 自动注释; 适用eclipse 4.4.0 适用org.eclipse.jdt.ui_3.10.0.v20140604-1403.jar 其他版本未测试,如其他版本可用请留言谢谢

    JDT应用开发相关资料

    JDT应用开发相关资料 JDT应用开发相关资料 JDT应用开发相关资料

    CDT和JDT环境变量配置

    CDT和JDT环境变量配置CDT和JDT环境变量配置CDT和JDT环境变量配置CDT和JDT环境变量配置CDT和JDT环境变量配置CDT和JDT环境变量配置

    org.eclipse.jdt.core_3.5.2.v_981_R35x

    解决Eclipse中使用drool时报Caused by: java.lang.RuntimeException: The Eclipse JDT Core jar is not in the classpath的问题。 详细错误: org.drools.RuntimeDroolsException: Unable to load dialect 'org....

    eclipse-JDT-3.3.1.zip

    tomcat 源码 ant 下载时用到的eclipse-JDT-3.3.1.zip

    eclipse JDT的使用

    eclipse JDT的使用,非常使用的学习资源!!!

    ant 编译用 jdt_jars

    ant 编译用 jdt_jars

    Eclipse jdt 2.0 plugin developer guide

    jdt2.0教程,版本低了一点,单身可以研究jdt的发展过程.

    JDT源代码工具

    JDT原代码、工具根据IMB官网 和下载我的源代码进行操作

    JDT Core.zip

    JDT是eclipse里的一个组件,Java Development Tools,由于eclipse最初设计出来是用来开发Java程序的,因此这是个核心组件,就是一个程序的核心模块了,作用就是进行Java程序的组织、编译、调试、运行等等工作,也...

    eclipse3.0.1 and NLpack-eclipse-JDT-SDK-3.0.x

    eclipse3.0.1 and NLpack-eclipse-JDT-SDK-3.0.x

Global site tag (gtag.js) - Google Analytics