Olá pessoal,
venho aqui hoje em busca de uma API que gere informação sobre um código Java que esteja dentro de uma variável String.
Ex: Tenho essa variável:String codigo = "double numero = 0.0; int teste = 0; System.out.println(teste);" ;
Ou seja, tenho um código Java dentro de uma String de texto, mas quero obter informações sobre esse código como, por exemplo, o nome de todas as variáveis do código (neste caso: numero e teste), o nome dos métodos, os tipos dos mesmos e o que mais for possível.
Sei que criar uma classe que faça isso não é tão difícil, mas sabe como é, ficar reinventando rodas é a última coisa que eu quero! 
Andei pesquisando e encontrei várias APIs, mas todas usam reflection, e para isso é preciso compilar o código, e isso não é legal (no meu caso).
Se alguém puder me ajudar com alguma dica, vai ajudar bastante.
vlw galera
muito obrigado!
Isso não tem nada de fácil. Acho que o jeito mais fácil de tratar, se você realmente quiser analisar vários elementos desse código java, é através do AntLR. Deve ser possível baixar a gramática do Java já pronta de algum lugar.
Da uma olhada no projeto beanshell, se voce for criativo da pra fazer um hackzinho bem interessante.
O Vinícius sugeriu o ANTLR, mas a gramática e o parser são os menores dos seus problemas
A gramática do Java 6 pode ser obtida no próprio site do ANTLR.
Se o código a ser analisado não for ser muito complexo, não é muito difícil gerar o parser e inserir ações que devem ser tomadas ao reconhecer um determinado token, entretanto, se o seu código for totalmente arbitrário, ai fica bem complicado.
Qualquer código que seja sintaticamente correto ao compilador Java, ou seja, um código Java qualquer pode ser gerado ou você tem um “limite” para a variedade de código?
[]´s
na moral usa beanshell nao tenta ser super heroi, hack da norte pra vida.