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.
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).