[dever-de-casa] ajuda a desenvolver um compilador

Bom dia amigos

Me chamo renato, sou novo no GUJ. Estou no 4 ano de ciencia da computação, to tendo aulas de Compiladores, meu prof. passo um projeto para fazer, Desenvolver um compilador (basico). Agente ta aprendendo java, javacc que eh um gerador de codigo. Ele pediu para pegar algumas funções de C ou Java, e criar uma linguagem nova, por exemplo: Eu estou querendo traduzir para o portugues, IF = SE, PRINT = IMPRIMA e etc.
No momento, estou dendo dificuldades em desenvolvelo. Seria possivel, se vc tiver, ou algum amigo seu, me fornecer um fonte de compilador (analisador lexico, sintatico e semantico) desenvolvido em java, que faça isso q eu te falei, não importa a ideia do compilador sendo qualquer um para eu tirar uma base.

brow…

Obrigado.

Renato

http://www.linuxmall.com.br/index.php?product_id=2053

Dê uma estudada no SableCC, nesse site tem exemplos e tutoriais de como criar um analisador, a gramática, etc.

Blz? Flw! :thumbup:

Pesquisa por expressões regulares, linguagens livre de contexto, etc…
Depois que entender esses conceitos, é partir para codificação. 8)

Cra tem um livro bem legal q estudei pra aprender javacc:
http://www.linhadecodigo.com.br/livros.asp?id=376&sub=48

Da uma olhada… eu nunca vi outros mas esse da todos os passos bem mastigadinhos!!

SableCC é muito foda!

[quote=andre2k2]Cra tem um livro bem legal q estudei pra aprender javacc:
http://www.linhadecodigo.com.br/livros.asp?id=376&sub=48

Da uma olhada… eu nunca vi outros mas esse da todos os passos bem mastigadinhos!![/quote]

eu comprei esse livro e ele realmente me ajudo bastante…

eu fiz o meu tcc sobre compiladores e utilizei o material deste livro para mudar certas coisas no javaCC, no código proposto pelo autor para semântico…coisass assim… funciono legal até…

eu tb utilizei portugues estruturado como linguagem fonte… uma coisa interessante, éque eu mandei um email para o autor (não no email passado no livro, mais sim no email do kra q descobri no cnpq) com duvida e ele me ajudo…

o compilador proposto no livro é razoavelmente modesto porém bastante funcional (tem herança, polimorfismo…), em relação ao JavaCC eu achei q ele tem uma didatica boa…

o problema que eu tive era em relação a escopo, acostumado a usar variavel global em java dentro de metodo, não tava conseguindo no compilador, tava dando erro e eu nao sabia pq ai o autor me respondeu o email avisando isso …

nos padrões dos livros de info ele até q não é caro, mais não acho valha a pena comprar apenas para fazer um trabalho (se vcquiser realmente aprofundar seus conhecimentos, ai sim eu realmente aconselho…o livro é bom)…

digo isso pq tipo, paguei 60 reais, é uma certa graninha pra se usar apenas em um trabalho só no livro, ja que vc deve ter acesso a alguma biblioteca q o tenha (deve ter na da sua facu, o livro é de 2004, não é recente) e os fontes do projeto são disponibilizados gratuitamente:

http://www.novatec.com.br/download/compilador/ComoConstruirUmCompilador.zip

vc vai precisar do montador tb… no site da editora tem mais nao é a versão mais recente…busque no google q vc acha, ele se chama Jasmin…

sem mais…

Pessoal eu agradeço, q nem eu falei , estamos mexendo com o java e o javacc … q eu precisava msm, se alguem tiver um compilador pronto e pude-se me passar, para eu tirar uma ideia apenas …

o que eu to querendo fazer, eh traduzir os comando de C e Java para portugues … fazendu o compilador (lexico, sintatico e semantico) em JAVA …

pessoal , deve ter alguma solução …

peço q me ajudem …

no momento to sme verba para estar comprando livros … um livro q eu tava querendo msm eh o de java , para começar a desenvolver algumas coisas …

mas se alguem tive q eu to querendo, por favor …

vlw … brows …

Como comentei antes, é só pensar em Linguagens livre de contexto e Expressões regulares.

Está querendo um trabalho pronto. 8)

olha kra…em relação a grana os fontes tão la, de graça…acredito ter passado o link…

para funcionar portugues estruturado vc teria que mecher pouquissima coisa alem da lista de palavras reservadas, eu sei pq eu fiz isso e testei…

agora…querer q agente ja manda um pronto e dizer q é só pra toma como base é subestimar nossa inteligencia…

TE VIRA PREGUIÇOSO…

Aqui tem um tutorial sobre compiladores:

[youtube]http://www.youtube.com/watch?v=9cJfYr7Dpjc[/youtube]

Quando eu estava fazendo materia de compiladores eu usei o lex e yacc para estudar foi ótimo

segeu uns links
http://epaperpress.com/lexandyacc/
http://dinosaur.compilertools.net/

Heber
http://www.heberfa.com.br

interessante…

tem um monte de compiladores de compiladores que da pra vc usa…ou melhor…um monte de versões …geralmente aos pares

flex e bison (usa C)

Aflex e ABison (usa Ada)

JFlex e o JBison (java…claro)

Cups ao inves do JBison

C# flex e C# Cups (seguidores de mercado…ou de uma forma menos educada, paga paus…)

o unico q eu cheguei a ver q faiz os dois é o JavaCC

bons estudos…