Identificando sintax Java

Hey galerinha irada!

Estou desenvolvendo um projetinho pessoal e preciso ler e identificar a sintax Java, quer dizer, tenho que ler um código Java e extrair dele a classe, nome da classe, os metodos e etc, como uma IDE.

Alguem tem idea de como posso implementar isso?

Valew

se for web existem diversos highlaters que identifcam isso pra vc.

Agora se for desktop já não conheço.

se for desktop acho q vc pode usar os metodos de Class

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html

com eles vc pode pegar o nome da classe, metodos, variaveis, tipo d variaveis e etc

Na verdade eu não vou ter uma classe… mas sim uma String.

Por Exemplo:

Quero ler o codigo

package dominio.pacote;
public class Classe{
    private String variavel;

    public void metodo(int arg){
        //...
    }
}

E quero receber a informação:

A mnha intenção é ler o código texto.

aih o negocio fica dificil!!!
rsrsrs
acho que nao tem com fazer a nao ser q trate toda a string fazendo comparacoes, substring, contains etc

Provavelmente,

Mandei até um e-mail para meu professor de Automatos e Linguagens formais.

Ele é doidão. Vai saber uma solução.

http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html - este é o início da documentação que permite a você chamar as APIs do javac, para que você possa obter todas essas informações, que são obtidas da AST (Abstract Syntax Tree).

Conselho: existe isso também para o Eclipse (você também pode obter a AST), mas é um pouco mais difícil de usar.

[quote=Mikhas]Provavelmente,

Mandei até um e-mail para meu professor de Automatos e Linguagens formais.

Ele é doidão. Vai saber uma solução.[/quote]

Ah, ele vai saber… E vai falar para você fazer um analisador sintático java.

A sintaxe do Java é bem chatinha; se quiser uma gramática correta e testada (incluindo annotations e generics), veja em http://www.antlr.org/ .

Foda que não vai rolar utilizar Java :frowning:

O meu objetivo mesmo é mais uma das minhas ideas mirabolantes.

A um tempo atrás eu havia aberto um post sobre uma biblioteca javascript que estou desenvolvendo.

Ai um dia desses conversando com um colega ele me jogou a idea de “Hey! por que você não cria uma paginazinha em que você manda o seu codigo Java e ele te retorna o .class ou um .jar executavel”.

Então, pensando nisso e com a minha biblioteca na mão me veio como um murro no queixo a idea: “Ow! Por que você não desenvolve uma mini-IDE baseada em javascript para fazer a interface e um servlet para compilar o codigo”.

E eis oque estou pensando em fazer.

hehhehe meio doido a idéia… mas criativo

Mas se vc vai mandar para um servlet, vc pode usar java sim!

A idea é mandar para o Servlet compilar apenas.
Eu vou precisar analizar a classe para poder criar no javascript recursos como refactor, syntax coloring e auto-complete.

Hum… Javascript é um pouco lerdinho para essas coisas. Você pode comprovar isso com o script de “syntax coloring” usado no GUJ; se você postar um programa um pouquinho grande (digamos 500 linhas), o browser começa a reclamar que “o código está demorando muito para executar, quer continuar?” ou coisa parecida. Imagine fazer refactoring.

Definitivamente não é tão rapido… mas tambem acho que não custa tentar fazer e ver no que da.
Se seguir as boas praticas de desenvolvimente com Javascript, é possivel optimizar bem o código, sem falar que o FireFox e o Chrome transformam javascript e linguagem de maquina, oque acelera bastante o processo.

Kra, acho q vou dar uma bola fora aki … mas dá nd

vê se esse <a href=http://www.guj.com.br/article.show.logic?id=145>artigo dá uma luz …

Falou