Avec Eclipse, c’est intégré :
Eclipse JDT – Abstract Syntax Tree (AST) and the Java Model – Tutorial
Java AST creates EMF JavaAST models from Eclipse Java projects.
eclipse.org – JavaCodeManipulation AST
Exemple de code
Eclipse Papercut #3 – Plugin to find unused methods

La question parser java en java chez stack overflow ne sort pas énormément de réponses (janino semble quand même intéressant, il peut en particulier s’intégrer à un projet ant) mais celle javac et AST donne plus résultat.

Documentation sur les outils compilateur de la JVM sun
Source Code Analysis Using Java 6 APIs Accessing the Abstract Syntax Tree: The Compiler Tree API

La méthode suivante d’étendre les API interne de javac pour modifier la manière dont il compile est très intéressante : Modifier du code java avec un processeur d’annotation
– (+) Injectable juste en modifiant le classpath de javac
– (+) Accès complet à l’AST visiblement
– (-) Non documenté, certainement galère pour comprendre comment marche cet API interne, fonctionnera exclusivement avec la JVM Sun