https://github.com/designliquido/lincones-js
Biblioteca comum entre todas as implementações de LinConEs baseadas em JavaScript.
https://github.com/designliquido/lincones-js
hacktoberfest lincones portugues portuguese typescript
Last synced: 4 days ago
JSON representation
Biblioteca comum entre todas as implementações de LinConEs baseadas em JavaScript.
- Host: GitHub
- URL: https://github.com/designliquido/lincones-js
- Owner: DesignLiquido
- License: mit
- Created: 2022-12-12T23:19:30.000Z (almost 3 years ago)
- Default Branch: principal
- Last Pushed: 2025-09-01T20:33:11.000Z (about 1 month ago)
- Last Synced: 2025-10-01T03:52:02.818Z (7 days ago)
- Topics: hacktoberfest, lincones, portugues, portuguese, typescript
- Language: TypeScript
- Homepage:
- Size: 200 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lincones-js
Implementação base da especificação de [LinConEs](https://github.com/DesignLiquido/LinConEs), normalmente usada por outros pacotes de tecnologias específicas.
## Motivação
Este pacote implementa todos os componentes comuns entre todos os outros pacotes de LinConEs, que são especializados por tecnologia.
Esta implementação conta com três compomentes funcionais:
- Um Lexador, que separa o texto de entrada em símbolos significativos;
- Um Avaliador Sintático, que lê os simbolos gerados pelo Lexador em uma determinada ordem e retorna estruturas de alto nível, que representam diferentes comandos em bancos de dados;
- Um Tradutor, que lê as estruturas de alto nível geradas pelo Avaliador Sintático e as converte para comandos em SQL ANSI.Além desses componentes funcionais, definimos aqui comandos e construtos, usados pelos demais pacotes para definir estruturas de alto nível, servindo a diferentes propósitos, tais como:
- Tradução de LinConEs para SQL, e vice-versa;
- Produção de diagramas e fluxogramas.### Suporte a traduções
Idealmente, LinConEs é uma especificação única para qualquer banco de dados. No entanto, nem todo banco de dados relacional segue a especificação SQL ANSI, sendo necessárias algumas nuances tecnológicas na hora de traduzir alguns comandos. Essas nuances tecnológicas são implementadas em pacotes específicos de cada tecnologia. Este pacote oferece tradução a SQL ANSI, independente da tecnologia do banco de dados, e a correspondente tradução reversa de SQL para LinConEs.
Diferentemente de pacotes dedicados a certas tecnologias, este pacote não possui um núcleo de execução, ou seja, uma interface por linha de comando.