Java para desenvolver um compilador...  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
rigolin
Java Ninja
[Avatar]

Membro desde: 30/04/2003 02:11:18
Mensagens: 263
Localização: São Carlos
Offline

Olá Doutores,

o que os Senhores acham de usar Java para desenvolver um compilador na disciplina Compiladores na facul?

não tô afim de usar C/C++ e perder um tempão desenvolvendo e obter um resultado mediocre! + dor de cabeça com as estruturas de dados...

o que vc's acham?

"Reaja inteligentemente mesmo a um tratamento não inteligente."
Lao-Tsé
[Email] [WWW] [ICQ]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

Eu já desenvolvi vários compiladores usando c++ e digo que não é dificil, provavelmente porque já tou calejado em usar flex e bison.

Java não te compra muito na questão das estruturas de dados que você precisa em um compilador.

Pessoalmente eu não gosto dos formatos utilizados pelas ferramentas java dessa area, me referindo ao ANTLR e o javacc.

Tirando isso, escrever lexical scanners e parser na mão não é uma tarefa dificil se você conhecer como fazer isso, e sua gramática poder ser lida usando LA1/recursivo descendente.

Usar java ou c++ não vai fazer diferença caso você ainda não possua alguma experiência com scanner/parser/ast generators. Para escrever tudo na mão Java vai ser mais produtivo devido a classes como StreamTokenizer.

Porêm se sua gramática for pequena/média, nada vai bater em termos de produtividade a seguinte biblioteca: http://spirit.sourceforge.net/

PS: tenho um exemplo em C de 1 compilador para uma gramática trivial que gera código assembly para pcs, a gramática em ebnf:



São 432 linhas de código no total. Se quiser só dar 1 toque.

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
rigolin
Java Ninja
[Avatar]

Membro desde: 30/04/2003 02:11:18
Mensagens: 263
Localização: São Carlos
Offline

louds esta oferta é imperdivel!! meu e-mail é robertorigolin@yahoo.com.br.. desde já agradeço...

valeu pelo link... aproveitando sua experiência com compiladores... qual livro vc indica para o primeiro contato?... estou usando "Compilers - Principles, Techiques, and Tools. Alfred, Ravi, Jeffrey" o que acha?

"Reaja inteligentemente mesmo a um tratamento não inteligente."
Lao-Tsé
[Email] [WWW] [ICQ]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

Eu recomendo o tutorial do Jack Crenshaw http://compilers.iecc.com/crenshaw/.

Livros eu já tive acesso a uns dois, o que você citou e outro "Building a compiler with C", são livros uteis, mas não te ajudam a ir longe já que a parte que falam sobre técnicas mais avançadas são ruins.

Para coisas alêm do básico, coisa que o tutorial do Crenshaw ensina, recomendo ler sobre o gcc, listas e artigos, http://gcc.gnu.org, http://www.ncsa.uiuc.edu/~wendling/tree.html.

E, claro, vasculhar o citeseer, http://citeseer.nj.nec.com/

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
rigolin
Java Ninja
[Avatar]

Membro desde: 30/04/2003 02:11:18
Mensagens: 263
Localização: São Carlos
Offline

Valeu pelo compilador!!

com esses link's acho que vou detonar em SB II no próximo semestre...

obrigado..

"Reaja inteligentemente mesmo a um tratamento não inteligente."
Lao-Tsé
[Email] [WWW] [ICQ]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

A vontade. Só uma coisa, não que você vá fazer isso, mas caso venha a entregar ele como trabalho da tua turma, me de 1 pouco de crédito ao menos...

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
rigolin
Java Ninja
[Avatar]

Membro desde: 30/04/2003 02:11:18
Mensagens: 263
Localização: São Carlos
Offline

louds wrote:A vontade. Só uma coisa, não que você vá fazer isso, mas caso venha a entregar ele como trabalho da tua turma, me de 1 pouco de crédito ao menos...


pode ter certeza que citarei seu nome...

Os programadores bons sabem o que escrever.
O grandes sabem o que rescrever (e reusar).

eu não sou grande!! mas estou inscrito em um forum que tem grandes..

colocarei algo assim: "Este trabalho não seria concretizado sem o apoio do Rodrigo Kumpera" or "Este trabalho foi embasado em um dos compiladores do Rodrigo Kumpera".. e ai escolhe o crédito..

e ainda estou pensando em colocar na minha monografia um agradecimento ao GUJ pelo apoio na formação... hehe

"Reaja inteligentemente mesmo a um tratamento não inteligente."
Lao-Tsé
[Email] [WWW] [ICQ]
fgmoribe
Entusiasta Java

Membro desde: 22/07/2003 18:00:00
Mensagens: 23
Offline

Como voce quer fazer algo em java, acho q esse livro pode te ajudar muito:

Programming Language Processors in Java: Compilers and Interpreters
by David Watt (Author), Deryck Brown (Author)
ISBN: 0130257869
vivi_grieco
JavaEvangelist
[Avatar]

Membro desde: 29/10/2003 21:57:45
Mensagens: 366
Localização: Belo Horizonte/MG
Offline

louds, vc poderia mandar pra mim esse exemplo tbm??? estou fazendo esta disciplina e gostaria de ter uma base para poder fazer um trabalho enorme, de implementação de um compilador C.
meu e-mail é vivigrieco@yahoo.com.br

Viviane Grieco
SCJP 1.4, SCWCD 1.4
Ironlynx
Moderador
[Avatar]

Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline

vivi_grieco,
Aê gata,não querendo bancar o moderador,mas como diria o Daniel,virou feira!
Evite(o máximo q puder) de por emails no fórum,se não ele pode ser capiturado por um spider e vc receber coisas do tipo:"Penis Enlargement" ,"Lesbians for Free" ou pior,vírus.Para isso existe a Private msg.

Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/
[WWW]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

Para quem quiser o código.

http://kumpera.relato.com.br/compilador.tar.gz

E visitem a home, por favor.

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

louds wrote:E visitem a home, por favor.


lalala pra vc tb.
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
marciolx
GUJ Master
[Avatar]

Membro desde: 28/01/2003 15:38:00
Mensagens: 1090
Localização: Piracicaba/SP
Offline

cv wrote:
louds wrote:E visitem a home, por favor.


lalala pra vc tb.


eu também caí nessa me lembrou daquele jogo do mega drive, toejam e earl

@ till %. Simple.
[Email]
Ironlynx
Moderador
[Avatar]

Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline

louds seu mané!(Com td respeito!)
Eu tb caí nessa....PqP!


putz ainda esqueci as aspas(e errei a tag)!

Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/
[WWW]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

otarios.add("Luca");

[]s
Luca
[Email] [WWW]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team