Identificando sintax Java

15 respostas
Mikhas

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

15 Respostas

Felagund

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

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

Marlon_Meneses

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

Mikhas

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.

Marlon_Meneses

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

Mikhas

Provavelmente,

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

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

T

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.

P

Mikhas:
Provavelmente,

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

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

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

T

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

Mikhas

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.

ralphsilver

hehhehe meio doido a idéia… mas criativo

fabiofalci

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

Mikhas

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.

T

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.

Mikhas

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.

M

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

Criado 19 de maio de 2009
Ultima resposta 19 de mai. de 2009
Respostas 15
Participantes 8