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: 2 months 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 (over 3 years ago)
- Default Branch: principal
- Last Pushed: 2026-04-11T16:57:31.000Z (2 months ago)
- Last Synced: 2026-04-11T18:10:33.136Z (2 months ago)
- Topics: hacktoberfest, lincones, portugues, portuguese, typescript
- Language: TypeScript
- Homepage:
- Size: 282 KB
- Stars: 4
- 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.