Alguém tem um exemplo de Compilador feito em Java?? ou sabe algum site q possa encontrar um exemplo?  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Miguel Avaltroni
What is classpath?

Membro desde: 16/09/2010 10:59:35
Mensagens: 6
Offline

Boa Noite Pessoal!!
gostaria de saber se alguém tem um exemplo de um Compilador feito em Java, ou sabe algum site que tenha um exemplo de um compilador feito em Java...

Obrigado!!
bzy
JavaGuru
[Avatar]

Membro desde: 23/08/2006 19:34:00
Mensagens: 215
Localização: São Paulo - Guarulhos
Offline

Miguel Avaltroni wrote:Boa Noite Pessoal!!
gostaria de saber se alguém tem um exemplo de um Compilador feito em Java, ou sabe algum site que tenha um exemplo de um compilador feito em Java...

Obrigado!!

Complicado hein.

http://novatec.com.br/livros/compilador

Um bom livro.

Obs. Neste livro ele cria um compilador completo.

This message was edited 1 time. Last update was at 30/09/2010 22:50:04


SCJP - Sun Certified Java Programmer
http://meumundojava.blogspot.com/
Memento mori.
[WWW] [ICQ]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Olá.

Vou discordar do bzy. Eu não achei o livro indicado aquelas coisas não. Ele se propõe a revisar alguns conceitos e não revisa direito e na hora de implementar as partes do compilador é uma bagunça. Ta certo que é a primeira edição, mas mesmo assim, não recomendo.

Quanto a sua dúvida, vc precisa de um compilador completo mesmo ou só uma parte dele?

[]´s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
Daniels
JavaGuru

Membro desde: 25/07/2008 14:19:39
Mensagens: 218
Offline

Você está fazendo a parte léxica, sintática, semântica, geração de código intermediário ou otimização? Poste sua dúvida que será mais fácil ajudar.
rogeriopaguilar
JavaTeenager
[Avatar]

Membro desde: 31/05/2006 10:19:35
Mensagens: 171
Offline

Cara, teve um projeto que eu desenvolvi um tempo atrás que precisava "interpretar" certos padrões de string. Para isso eu utilizei o javacc, que é um gerador de parsers para Java, parecido com o Yacc. Ele pode ajudar em uma das partes para desenvolver o compilador:

https://javacc.dev.java.net/

o projeto que eu utilizei ele está em:

http://sourceforge.net/projects/leitor-excel/files/

Você pode dar uma olhada em um arquivo que tem nos fontes contendo a definição da linguagem que eu criei para realizar o parser das strings no padrão que eu precisava. É bem simples se comparado com uma definição de uma linguagem de programação, mas dá para ter uma idéia. Na página do javacc existem alguns exemplos muito bons também. Na faculdade, na disciplina de compiladores, nós desenvolvemos o analisador léxico e sintático de um compilador utilizando o seguinte livro:

http://www.amazon.com/Programming-Language-Processors-Java-Interpreters/dp/0130257869/ref=sr_1_21?s=STORE&ie=UTF8&qid=1285907195&sr=8-21

Este livro explica vários conceitos da construção de compiladores e vai implementando um em java conforme os capítulos vão passando. É bem legal para aprender a teoria e a prática. Os fontes do compilador que é desenvolvido durante os capítulos está em:

http://www.dcs.gla.ac.uk/~daw/books/PLPJ/software.html

No livro o parser da linguagem é feito "na mão", sem utilizar um gerador como o javacc, é legal pra você ver como funciona a lógica, mas se estiver pensando mesmo
em construir um, é mais simples utilizar um gerador como o javacc para criar o parser da linguagem uma vez definida a sintaxe da mesma. Espero ter ajudado.





This message was edited 1 time. Last update was at 01/10/2010 01:47:18


https://github.com/rogeriopaguilar/Projetos
[Email] [WWW] [MSN]
Ataxexe
JavaEvangelist
[Avatar]

Membro desde: 11/10/2007 15:34:17
Mensagens: 418
Localização: Brasília
Offline

Você pode dar uma olhada no JDT do Eclipse também.

Marcelo Guimarães

https://github.com/ataxexe
http://sourceforge.net/projects/trugger
http://www.youtube.com/user/ataxexe
http://www.flickr.com/photos/ataxexe
ovelha
Java Ninja
[Avatar]

Membro desde: 12/09/2007 13:17:41
Mensagens: 281
Offline

Não é java mais é bem legal!

http://www.kumpera.net/blog/index.php/2010/08/30/escrevendo-um-jit-em-menos-de-40-linhas-de-c/

bééééééééééééééééé
bzy
JavaGuru
[Avatar]

Membro desde: 23/08/2006 19:34:00
Mensagens: 215
Localização: São Paulo - Guarulhos
Offline

davidbuzatto wrote:Olá.

Vou discordar do bzy. Eu não achei o livro indicado aquelas coisas não. Ele se propõe a revisar alguns conceitos e não revisa direito e na hora de implementar as partes do compilador é uma bagunça. Ta certo que é a primeira edição, mas mesmo assim, não recomendo.

Quanto a sua dúvida, vc precisa de um compilador completo mesmo ou só uma parte dele?

[]´s


Ele bom ué, não disse que era o melhor.
Mas se conhecer um livro melhor me indique.


SCJP - Sun Certified Java Programmer
http://meumundojava.blogspot.com/
Memento mori.
[WWW] [ICQ]
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

o famoso livro do dragão é o mais completo sobre este assunto, porém em se tratando de didática eu acho ele péssimo...

para ser usado um simples exemplo, da pra usar o livro citado sim... ou então simplesmente pegar os fontes no site da editora...

espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

bzy wrote:Mas se conhecer um livro melhor me indique.

"Compiladores: princípios de práticas" (Louden, K. C.)
http://www.submarino.com.br/produto/1/257683/compiladores:+principios+e+praticas
Muito completo, apesar de vários errinhos nos diagramas e no texto, acredito que sejam consequência da tradução. Esses erros apareceram até agora nos capítulos 1 e 2 que é onde estou no momento. É um livro "mão na massa".

"Compiladores: princípios, técnicas e ferramentas" (Ullman, J. et al.)
http://www.submarino.com.br/produto/1/21324324/compiladores:+principios,+tecnicos+e+ferramentas
Referência principal em compiladores em nível de graduação e início de pós-graduação.
Talvez seja o livro mais completo de compiladores que existe em português.
É bastante teórico, não tão formal quanto o livro de introdução à teoria dos autômatos (Ullman e Hopcroft - http://www.submarino.com.br/produto/1/182106), mas mesmo assim é bem teórico.

maior_abandonado wrote:o famoso livro do dragão é o mais completo sobre este assunto, porém em se tratando de didática eu acho ele péssimo...

Realmente é o mais completo em português e é difícil de ler pq é teórico.

[]´s


This message was edited 1 time. Last update was at 01/10/2010 16:08:21


Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
bzy
JavaGuru
[Avatar]

Membro desde: 23/08/2006 19:34:00
Mensagens: 215
Localização: São Paulo - Guarulhos
Offline

davidbuzatto wrote:
bzy wrote:Mas se conhecer um livro melhor me indique.

"Compiladores: princípios de práticas" (Louden, K. C.)
http://www.submarino.com.br/produto/1/257683/compiladores:+principios+e+praticas
Muito completo, apesar de vários errinhos nos diagramas e no texto, acredito que sejam consequência da tradução. Esses erros apareceram até agora nos capítulos 1 e 2 que é onde estou no momento. É um livro "mão na massa".

"Compiladores: princípios, técnicas e ferramentas" (Ullman, J. et al.)
http://www.submarino.com.br/produto/1/21324324/compiladores:+principios,+tecnicos+e+ferramentas
Referência principal em compiladores em nível de graduação e início de pós-graduação.
Talvez seja o livro mais completo de compiladores que existe em português.
É bastante teórico, não tão formal quanto o livro de introdução à teoria dos autômatos (Ullman e Hopcroft - http://www.submarino.com.br/produto/1/182106), mas mesmo assim é bem teórico.

maior_abandonado wrote:o famoso livro do dragão é o mais completo sobre este assunto, porém em se tratando de didática eu acho ele péssimo...

Realmente é o mais completo em português e é difícil de ler pq é teórico.

[]´s




Gostei mas utilizando Java e em português conhece algum?

SCJP - Sun Certified Java Programmer
http://meumundojava.blogspot.com/
Memento mori.
[WWW] [ICQ]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

bzy wrote:Gostei mas utilizando Java e em português conhece algum?


Em Java só o que você mencionou mesmo.

[]´s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
bzy
JavaGuru
[Avatar]

Membro desde: 23/08/2006 19:34:00
Mensagens: 215
Localização: São Paulo - Guarulhos
Offline

davidbuzatto wrote:
bzy wrote:Gostei mas utilizando Java e em português conhece algum?


Em Java só o que você mencionou mesmo.

[]´s


david, com um cv como o seu você poderia escrever um!

SCJP - Sun Certified Java Programmer
http://meumundojava.blogspot.com/
Memento mori.
[WWW] [ICQ]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

bzy wrote:david, com um cv como o seu você poderia escrever um!


Oi bzy, obrigado pelo elogio
Sabe que é algo a se pensar?
Já estive envolvido na escrita de um livro de IHC (Interação Humano-Computador), mas acabou que não saiu. O livro estava praticamente pronto, mas por uma briga de egos acabou que não deu certo

Quanto ao livro de de compiladores, realmente é algo a se pensar, mas ainda preciso comer muito arroz com feijão na área de compiladores para eu poder escrever algo. Estou correndo atrás

[]´s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team