Categorías
Java Development Tools (JDT)

Representar un archivo Java como AST (árbol de sintaxis abstracta)

Quizás se pregunte cómo se ve una clase Java como un árbol de sintaxis abstracta (AST).

Podemos ver AST de cualquier clase Java usando Eclipse ASTView. El AST se puede mostrar fácilmente en una vista separada bajo eclipse IDE.

Para la siguiente clase java simple, ASTView muestra el AST completo.

public class Test {
	public int add(int a, int b){
		int c = a+b;
		return c;
	}
}

Cuando escribe a un visitante para que visite cada nodo de un AST, los nodos en negrita son accesibles para los visitantes. Por ejemplo, MethodDeclaration, Modifier, SimpleName, SingleVariableDeclaration, etc. Se puede acceder a otros mediante algunos métodos de esas clases en negrita.

Cuando miramos la vista, podemos ver que el AST creado para esta clase tiene la siguiente jerarquía. Como se muestra en el diagrama, incluso una clase muy simple necesita un gran AST para representar.

AST de una clase Java

Ahora la pregunta es en qué orden visitaría un visitante cada nodo del AST. La respuesta es la profundidad primero, es decir, la clase y luego cada método.

Aquí está el enlace para obtener ASTView para su eclipse. Enlace de descarga (Seleccione la versión adecuada para su eclipse).

  Atravesar el archivo .jar mediante Eclipse JDT

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *