No es la única manera.
Vea nuestro Java Front End, que es un analizador de Java con todas las funciones construido sobre el DMS Software Reengineering Toolkit. Analiza Java y crea AST como estructuras de datos internas.
El punto de DMS es que proporciona una gran variedad de maquinaria adicional útil (gramáticas de atributos, tablas de símbolos, el análisis, la manipulación AST incluyendo el acceso y actualización de flujo, así como transformaciones de fuente a fuente) para analizar y transformar ese AST en resultados y/o código fuente modificado. Si obtiene "solo" un analizador de Java (por ejemplo, gramática de JavaCC + Java), en mi humilde opinión, no podrá hacer mucho con él. DMS hace que sea posible hacer muchas cosas, sin tener que inventar toda esa maquinaria extra usted mismo.
Si realmente no desea utilizar la maquinaria adicional que proporciona DMS, será dump the tree as XML.
Si no me equivoco, Eclipse usa una versión diferente del modelo de Java con su propio analizador, y podría haber una manera de reutilizarlo para el análisis general. – Uri
¿Qué quiere decir con "apoyo" en su primera pregunta? ¿Estás preguntando qué versiones de Java ofrecen los proveedores con el paquete com.sun.source.tree? Me imagino que solo el de Sun lo hace. Si desea analizar el código fuente con otro JDK (por ejemplo, IBM), probablemente sea necesaria una biblioteca de analizador independiente. –
@Brett, sé que com.sun.source.tree solo se introdujo en JDK6. Me pregunto si todos los JDK que no son de Sun son compatibles con esta API. – Gili