Criar uma mini-linguagem de Programação[RESOLVIDO]  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
xjunior
JavaEvangelist
[Avatar]

Membro desde: 26/08/2009 15:49:19
Mensagens: 321
Localização: Belo Horizonte - MG
Offline

luistiagos wrote:Lei o livro do draganzinho sobre Compiladores se não me engando o proprio nome é Compiladores... e um q tem um dragão vermelho na capa...


é o livro: Livro Compiladores - Princípios, Técnicas e Ferramentas 2. ed.

acessem um dos melhores foruns de TI: http://www.clubedaprogramacao.com/forum/


Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
luistiagos
GUJ Expert
[Avatar]

Membro desde: 10/07/2006 10:37:23
Mensagens: 3161
Offline

xjunior wrote:
luistiagos wrote:Lei o livro do draganzinho sobre Compiladores se não me engando o proprio nome é Compiladores... e um q tem um dragão vermelho na capa...


é o livro: Livro Compiladores - Princípios, Técnicas e Ferramentas 2. ed.


Este mesmo...




SCJP 1.5
SCJA 1.0
IBM DB2 Associate
[Email] [MSN]
xjunior
JavaEvangelist
[Avatar]

Membro desde: 26/08/2009 15:49:19
Mensagens: 321
Localização: Belo Horizonte - MG
Offline

bakana, aqui, comecei a implementar um interpretador para php de java, até agora tá dando certo, tá fazendo a análise léxica e já to montando a estrutura pra php e possibilitando a execução em da classe java em php, tá ficando legalll...
mas pode ser melhor estruturado, num sei se é interessante postar o código fonte do conjunto de classes que interpretam o java pra php aqui, mas se o pessoal quiser...

acessem um dos melhores foruns de TI: http://www.clubedaprogramacao.com/forum/


Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
luistiagos
GUJ Expert
[Avatar]

Membro desde: 10/07/2006 10:37:23
Mensagens: 3161
Offline

xjunior wrote:bakana, aqui, comecei a implementar um interpretador para php de java, até agora tá dando certo, tá fazendo a análise léxica e já to montando a estrutura pra php e possibilitando a execução em da classe java em php, tá ficando legalll...
mas pode ser melhor estruturado, num sei se é interessante postar o código fonte do conjunto de classes que interpretam o java pra php aqui, mas se o pessoal quiser...


espera chegar no analisador sintatico pra vc ver como fica legal...

This message was edited 1 time. Last update was at 19/01/2010 17:09:31





SCJP 1.5
SCJA 1.0
IBM DB2 Associate
[Email] [MSN]
xjunior
JavaEvangelist
[Avatar]

Membro desde: 26/08/2009 15:49:19
Mensagens: 321
Localização: Belo Horizonte - MG
Offline

é fi, cheguei lá, mas num tá muito complexo não, tá tranquis pois não preciso implementar o java todo, e sim o que eu preciso....

acessem um dos melhores foruns de TI: http://www.clubedaprogramacao.com/forum/


Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
luistiagos
GUJ Expert
[Avatar]

Membro desde: 10/07/2006 10:37:23
Mensagens: 3161
Offline

xjunior wrote:é fi, cheguei lá, mas num tá muito complexo não, tá tranquis pois não preciso implementar o java todo, e sim o que eu preciso....


Então vc não chegou ainda na parte hard da coisa... a proposito vc esta se baseando em recursividade pra fazer seu analisador semantico?
pois pela propria natureza dele ele é 100% recursivo... o livro do dragãozinho te explica melhor isso...

mas minha dica é antes de sair fazendo a coisa pegue um papel e um lapis e diagrame a sintax faça um diagrama de linguagem de livre contexto no papel mesmo (o livro do dragão deve ensinar como faz...) e depois que vc ver que a coisa flui dai sim parta para o codigo... senão terá dor de cabeça... pois de principio é facil... ate chegar a algumas partes que vc ve que não tem saida... dai terá de apagar grande parte do codigo do analisador pra refaze-lo pra não dar dica... porem se vc usar o diagrama em papel e caneta mesmo vc pode fujir deste tipo de dor de cabeça...

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





SCJP 1.5
SCJA 1.0
IBM DB2 Associate
[Email] [MSN]
xjunior
JavaEvangelist
[Avatar]

Membro desde: 26/08/2009 15:49:19
Mensagens: 321
Localização: Belo Horizonte - MG
Offline

bom amigo,olha este exemplo meio esdruncho que eu fiz e deu certo::

entrada de código:


e a saída::



Neste ponto, ele somente faz o papel de parser....

This message was edited 1 time. Last update was at 20/01/2010 08:57:27


acessem um dos melhores foruns de TI: http://www.clubedaprogramacao.com/forum/


Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
xjunior
JavaEvangelist
[Avatar]

Membro desde: 26/08/2009 15:49:19
Mensagens: 321
Localização: Belo Horizonte - MG
Offline

agora é implementar os métodos e fazer a interação que o jasper faz com as expressões...



vou cansar...

acessem um dos melhores foruns de TI: http://www.clubedaprogramacao.com/forum/


Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
luistiagos
GUJ Expert
[Avatar]

Membro desde: 10/07/2006 10:37:23
Mensagens: 3161
Offline

mas o que vc esta fazendo é um conversor de java para php...
isso não é tão complicado como um compilador...
manjando bem de expressões regulares vc faz na boa..




SCJP 1.5
SCJA 1.0
IBM DB2 Associate
[Email] [MSN]
xjunior
JavaEvangelist
[Avatar]

Membro desde: 26/08/2009 15:49:19
Mensagens: 321
Localização: Belo Horizonte - MG
Offline

como eu disse, por enquanto decidi fazer um parser mesmo...
agora como conversei com meu chefe, ele falou pra esperar um pouco para decidirmos o rumo desta parte, então parei no conversor, e não implementei o que eu ia implementar, que era parte da ferramenta em delphi daqui e o que o jasper entende e ainda um pouco de java, então seria tipo uma mesclagem, aí eu ia ter que fazer tudo do zero, mas como não definiu, resolvi esperar um pouco....

o parser está pronto, fiz rapidinho, acho que não demorei nem meia hora fazendo e testando...

acessem um dos melhores foruns de TI: http://www.clubedaprogramacao.com/forum/


Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
xjunior
JavaEvangelist
[Avatar]

Membro desde: 26/08/2009 15:49:19
Mensagens: 321
Localização: Belo Horizonte - MG
Offline

quando criei o tópico, o intuito era criar um tipo de mini-linguagem mesmo, mas no decorrer da questão, e com as respostas decidi esperar um pouco a definição e criar um parser mesmo, mas esse tópico foi importante na minha decisão momentânea, mas quero aprender mais sobre compiladores, já que no meu curso de graduação não tem mais essa disciplina, que é Sistemas de Informação, tenho que aprender por fora mesmo....


Aqui mano, ce tem esse livro em PDF?

acessem um dos melhores foruns de TI: http://www.clubedaprogramacao.com/forum/


Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team