Eclipse AST
什么是AST?
是源代码的抽象语法结构的树状表现形式,这里特指编程语言的源代码。树上的每个节点都表示源代码中的一种
结构。抽象语法树(Abstract Syntax Tree ,AST)作为程序的一种中间表示形式,在程序分析等诸多领域有广泛的应用
利用抽象语法树可以方便地实现多种源程序处理工具,比如源程序浏览器、智能编辑器、语言翻译器等.
eclipse AST简介:
Eclipse AST是Eclipse JDT的一个重要组成部分,定义在包org.eclipse.jdt.core.dom中,用来表示Java语言中
的所有语法结构。Eclipse AST采用工厂方法模式和访问者模式来设计和实现,这样可以减轻用户深入了解其内部结
构的压力,并且方便用户利用它们构建并处理AST。你可以打开Eclipse帮助页面,通过鼠标依次点击窗口左边的目录
“JDT Plug-in Developer Guide”Æ“Reference”Æ“API Reference” Æ“org.eclipse.jdt.core.dom”,即可打
开这个包的详细说明。 在Eclipse AST中,相关的类主要有以下三部分:
- ASTNode类及其派生类:用于描述各种AST节点的类,每个AST节点表示一个 Java源程序中的一个语法结构,例如,
一个名字、类型、表达式、语句或声明等。
- AST类:创建AST节点的工厂类,类中包含许多创建各类AST节点的工厂方法, 用户可以利用这些方法来构建AST。
- ASTVisitor类:AST的访问者抽象类,类中声明了一组访问各类AST节点的visit( )方法、endVisit( )方法和
preVisit( )方法。
- AST节点类:
在Eclipse AST中,Java源程序中的每个语法结构对应为一个AST节点,所有的AST节点按其在语法上的关系连接
形成一棵AST树。类ASTNode是AST树中各类节点的抽象基类,其余的AST节点类都由它派生。在ASTNode类中声明有各个
具体的AST节点类所对应的类型标识,如ASTNode.COMPILAT