[firebase-br] Como alterar o código fonte para conseguir mudar as palavras reservadas?

Luiz Felipph luizfelipph em gmail.com
Qua Jun 20 10:05:25 -03 2018


Bom dia,

Sinceramente acho um desserviço com alguém que está inciando aprender SQL
"traduzido" pois o dia em que ele encontrar uma dificuldade, não haverá
material algum para auxiliar pois tá tudo em inglês. Apenas minha opinião.

Voltando à seu problema, você pode implementar o parser no nível da
aplicação. Eu desenvolveria um console SQL que receba os comandos no
formato que você quer(no caso, com as palavras reservadas traduzidas para
português) e traduziria em expressões válidas para o banco de destino.

Você só precisará ter cuidado pois um simples find/replace não serve pois o
nome de tabelas/colunas pode colidir com as palavras reservadas, então você
precisará necessariamente "entender" a estrutura da consulta submetida para
então reescrever.

Abraço!

Felipph


Em qua, 20 de jun de 2018 às 09:56, Ronald Scapin Filho <
ronaldscapin.consultoria em gmail.com> escreveu:

> Como seria a implementação de um parser? Procurei na internet porém não
> achei, se tiverem algum tutorial ou material, seria de grande ajuda.
>
> Muito obrigado pela ajuda de todos!
>
> Em 17 de junho de 2018 14:10, Glaucos Ginez <glaucosginez em gmail.com>
> escreveu:
>
> > Poderia ser também, mas creio que o amigo perderia muito tempo nessa
> > implementação ( creio que não seja algo tão simples de inserir direto nos
> > fontes do Firebird ) e a vantagem de se criar algo fora seria poder
> > utilizar com outros BDs também
> >
> > Em dom, 17 de jun de 2018 às 13:17, Marcelo Geyer <
> estanisgeyer em gmail.com>
> > escreveu:
> >
> > > Complementando, altere o fonte criando um parser, como se fosse uma
> ponte
> > > na entrada de interpretação da instrução do Firebird. Isso daria um
> menor
> > > trabalho.
> > >
> > > Em dom, 17 de jun de 2018 07:47, Glaucos Ginez <glaucosginez em gmail.com
> >
> > > escreveu:
> > >
> > > > Mano, uma ideia, por que tu não escreve só um parser de para
> > transformar
> > > o
> > > > que tu quer em SQL? Ex:
> > > >
> > > > SELECIONE FULANO DE PESSOAS
> > > >
> > > > parser vai transformar em
> > > >
> > > > SELECT FULANO FROM PESSOAS
> > > >
> > > > Em sáb, 16 de jun de 2018 às 15:34, Ronald Scapin Filho <
> > > > ronaldscapin.consultoria em gmail.com> escreveu:
> > > >
> > > > > Boa tarde!
> > > > >
> > > > > Estou me formando em ciências da computação e meu TCC é um projeto
> um
> > > > pouco
> > > > > ousado voltado para educação. Basicamente iremos traduzir um DBMS e
> > > > aplicar
> > > > > cursos visando o aprendizado básico em manipulação de um DBMS e
> > testes.
> > > > Um
> > > > > grupo terá o DBMS em sua língua nativa (no caso português) e outro
> em
> > > > > inglês, assim poderemos mensurar a efetividade do aprendizado nos
> > dois
> > > > > modos. Desculpe o texto longo, mas é para contextualizar minha
> > > alteração
> > > > no
> > > > > FireBird.
> > > > >
> > > > > Escolhi o FireBird por conta da documentação. Fuçei no código e
> > > descobri
> > > > > que nos arquivos:
> > > > > - /src/yvalve/keywords.cpp;
> > > > > - /src/yvalve/keywords.h;
> > > > > - /src/yvalve/msg.h;
> > > > >
> > > > > O primeiro foi onde encontrei as palavras reservadas...
> Primeiramente
> > > fiz
> > > > > as mudanças de um jeito meio tosco, fazendo um search and replace
> no
> > > > código
> > > > > inteiro. Tive um problema com um token, agora estou sem o erro
> exato
> > > para
> > > > > postar.
> > > > >
> > > > > Depois alterei só nestes arquivos e recebi o mesmo erro.
> > > > >
> > > > > Alguém já fez algo parecido com isso? Tem alguma sugestão?
> > > > >
> > > > > Obrigado!
> > > > > ______________________________________________
> > > > > FireBase-BR (www.firebase.com.br) - Hospedado em
> www.locador.com.br
> > > > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > > > Para consultar mensagens antigas:
> > > > > http://www.firebase.com.br/pesquisa_lista.html
> > > > >
> > > > ______________________________________________
> > > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > > Para consultar mensagens antigas:
> > > > http://www.firebase.com.br/pesquisa_lista.html
> > > >
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > Para consultar mensagens antigas:
> > > http://www.firebase.com.br/pesquisa_lista.html
> > >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://www.firebase.com.br/
> > pesquisa_lista.html
> >
>
>
>
> --
> Grato desde já,
> Ronald Scapin Filho
> (11)98339-5507
> ronaldscapin.consultoria em gmail.com
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista