@designliquido/lincones-sqlite 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +15 -0
  2. package/bin/lincones-sqlite +3 -0
  3. package/bin/lincones-sqlite.cmd +1 -0
  4. package/comum/execucao.d.ts +1 -0
  5. package/comum/execucao.js +40 -0
  6. package/comum/execucao.js.map +1 -0
  7. package/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +15 -0
  8. package/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js +46 -0
  9. package/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -0
  10. package/comum/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +15 -0
  11. package/comum/fontes/avaliador-sintatico/avaliador-sintatico.js +263 -0
  12. package/comum/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -0
  13. package/comum/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -0
  14. package/comum/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +12 -0
  15. package/comum/fontes/avaliador-sintatico/erro-avaliador-sintatico.js.map +1 -0
  16. package/comum/fontes/avaliador-sintatico/index.d.ts +3 -0
  17. package/comum/fontes/avaliador-sintatico/index.js +23 -0
  18. package/comum/fontes/avaliador-sintatico/index.js.map +1 -0
  19. package/comum/fontes/comandos/atualizar.d.ts +14 -0
  20. package/comum/fontes/comandos/atualizar.js +14 -0
  21. package/comum/fontes/comandos/atualizar.js.map +1 -0
  22. package/comum/fontes/comandos/comando.d.ts +6 -0
  23. package/comum/fontes/comandos/comando.js +14 -0
  24. package/comum/fontes/comandos/comando.js.map +1 -0
  25. package/comum/fontes/comandos/criar.d.ts +7 -0
  26. package/comum/fontes/comandos/criar.js +13 -0
  27. package/comum/fontes/comandos/criar.js.map +1 -0
  28. package/comum/fontes/comandos/excluir.d.ts +6 -0
  29. package/comum/fontes/comandos/excluir.js +13 -0
  30. package/comum/fontes/comandos/excluir.js.map +1 -0
  31. package/comum/fontes/comandos/index.d.ts +6 -0
  32. package/comum/fontes/comandos/index.js +23 -0
  33. package/comum/fontes/comandos/index.js.map +1 -0
  34. package/comum/fontes/comandos/inserir.d.ts +8 -0
  35. package/comum/fontes/comandos/inserir.js +14 -0
  36. package/comum/fontes/comandos/inserir.js.map +1 -0
  37. package/comum/fontes/comandos/selecionar.d.ts +9 -0
  38. package/comum/fontes/comandos/selecionar.js +15 -0
  39. package/comum/fontes/comandos/selecionar.js.map +1 -0
  40. package/comum/fontes/construtos/coluna.d.ts +11 -0
  41. package/comum/fontes/construtos/coluna.js +16 -0
  42. package/comum/fontes/construtos/coluna.js.map +1 -0
  43. package/comum/fontes/construtos/condicao.d.ts +6 -0
  44. package/comum/fontes/construtos/condicao.js +12 -0
  45. package/comum/fontes/construtos/condicao.js.map +1 -0
  46. package/comum/fontes/construtos/index.d.ts +1 -0
  47. package/comum/fontes/construtos/index.js +18 -0
  48. package/comum/fontes/construtos/index.js.map +1 -0
  49. package/comum/fontes/interfaces/avaliador-sintatico-interface.d.ts +14 -0
  50. package/comum/fontes/interfaces/avaliador-sintatico-interface.js +3 -0
  51. package/comum/fontes/interfaces/avaliador-sintatico-interface.js.map +1 -0
  52. package/comum/fontes/interfaces/index.d.ts +3 -0
  53. package/comum/fontes/interfaces/index.js +18 -0
  54. package/comum/fontes/interfaces/index.js.map +1 -0
  55. package/comum/fontes/interfaces/lincones-interface.d.ts +3 -0
  56. package/comum/fontes/interfaces/lincones-interface.js +3 -0
  57. package/comum/fontes/interfaces/lincones-interface.js.map +1 -0
  58. package/comum/fontes/interfaces/retornos/index.d.ts +16 -0
  59. package/comum/fontes/interfaces/retornos/index.js +3 -0
  60. package/comum/fontes/interfaces/retornos/index.js.map +1 -0
  61. package/comum/fontes/interfaces/simbolo-interface.d.ts +6 -0
  62. package/comum/fontes/interfaces/simbolo-interface.js +3 -0
  63. package/comum/fontes/interfaces/simbolo-interface.js.map +1 -0
  64. package/comum/fontes/lexador/index.d.ts +26 -0
  65. package/comum/fontes/lexador/index.js +220 -0
  66. package/comum/fontes/lexador/index.js.map +1 -0
  67. package/comum/fontes/lexador/simbolo.d.ts +9 -0
  68. package/comum/fontes/lexador/simbolo.js +16 -0
  69. package/comum/fontes/lexador/simbolo.js.map +1 -0
  70. package/comum/fontes/lincones.d.ts +10 -0
  71. package/comum/fontes/lincones.js +21 -0
  72. package/comum/fontes/lincones.js.map +1 -0
  73. package/comum/fontes/palavras-reservadas.d.ts +26 -0
  74. package/comum/fontes/palavras-reservadas.js +32 -0
  75. package/comum/fontes/palavras-reservadas.js.map +1 -0
  76. package/comum/fontes/tipos-de-simbolos.d.ts +38 -0
  77. package/comum/fontes/tipos-de-simbolos.js +40 -0
  78. package/comum/fontes/tipos-de-simbolos.js.map +1 -0
  79. package/comum/fontes/tradutor/index.d.ts +18 -0
  80. package/comum/fontes/tradutor/index.js +161 -0
  81. package/comum/fontes/tradutor/index.js.map +1 -0
  82. package/comum/index.d.ts +1 -0
  83. package/comum/index.js +6 -0
  84. package/comum/index.js.map +1 -0
  85. package/comum/jest.config.d.ts +3 -0
  86. package/comum/jest.config.js +12 -0
  87. package/comum/jest.config.js.map +1 -0
  88. package/execucao.d.ts +1 -0
  89. package/execucao.js +55 -0
  90. package/execucao.js.map +1 -0
  91. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +15 -0
  92. package/fontes/avaliador-sintatico/avaliador-sintatico.js +262 -0
  93. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -0
  94. package/fontes/avaliador-sintatico/index.d.ts +2 -0
  95. package/fontes/avaliador-sintatico/index.js +21 -0
  96. package/fontes/avaliador-sintatico/index.js.map +1 -0
  97. package/fontes/infraestrutura/cliente-sqlite.d.ts +10 -0
  98. package/fontes/infraestrutura/cliente-sqlite.js +65 -0
  99. package/fontes/infraestrutura/cliente-sqlite.js.map +1 -0
  100. package/fontes/infraestrutura/index.d.ts +2 -0
  101. package/fontes/infraestrutura/index.js +19 -0
  102. package/fontes/infraestrutura/index.js.map +1 -0
  103. package/fontes/infraestrutura/retorno-comando.d.ts +7 -0
  104. package/fontes/infraestrutura/retorno-comando.js +22 -0
  105. package/fontes/infraestrutura/retorno-comando.js.map +1 -0
  106. package/fontes/lexador/index.d.ts +26 -0
  107. package/fontes/lexador/index.js +220 -0
  108. package/fontes/lexador/index.js.map +1 -0
  109. package/fontes/lincones-sqlite.d.ts +13 -0
  110. package/fontes/lincones-sqlite.js +29 -0
  111. package/fontes/lincones-sqlite.js.map +1 -0
  112. package/fontes/palavras-reservadas.d.ts +26 -0
  113. package/fontes/palavras-reservadas.js +32 -0
  114. package/fontes/palavras-reservadas.js.map +1 -0
  115. package/fontes/tradutor/index.d.ts +19 -0
  116. package/fontes/tradutor/index.js +150 -0
  117. package/fontes/tradutor/index.js.map +1 -0
  118. package/index.d.ts +1 -0
  119. package/index.js +18 -0
  120. package/index.js.map +1 -0
  121. package/package.json +62 -0
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tipos_de_simbolos_1 = __importDefault(require("./tipos-de-simbolos"));
7
+ exports.default = {
8
+ atualizar: tipos_de_simbolos_1.default.ATUALIZAR,
9
+ auto: tipos_de_simbolos_1.default.AUTO,
10
+ chave: tipos_de_simbolos_1.default.CHAVE,
11
+ criar: tipos_de_simbolos_1.default.CRIAR,
12
+ de: tipos_de_simbolos_1.default.DE,
13
+ definir: tipos_de_simbolos_1.default.DEFINIR,
14
+ e: tipos_de_simbolos_1.default.E,
15
+ em: tipos_de_simbolos_1.default.EM,
16
+ excluir: tipos_de_simbolos_1.default.EXCLUIR,
17
+ falso: tipos_de_simbolos_1.default.FALSO,
18
+ incremento: tipos_de_simbolos_1.default.INCREMENTO,
19
+ inserir: tipos_de_simbolos_1.default.INSERIR,
20
+ inteiro: tipos_de_simbolos_1.default.INTEIRO,
21
+ logico: tipos_de_simbolos_1.default.LOGICO,
22
+ nao: tipos_de_simbolos_1.default.NAO,
23
+ nulo: tipos_de_simbolos_1.default.NULO,
24
+ onde: tipos_de_simbolos_1.default.ONDE,
25
+ primaria: tipos_de_simbolos_1.default.PRIMARIA,
26
+ selecionar: tipos_de_simbolos_1.default.SELECIONAR,
27
+ tabela: tipos_de_simbolos_1.default.TABELA,
28
+ texto: tipos_de_simbolos_1.default.TEXTO,
29
+ valores: tipos_de_simbolos_1.default.VALORES,
30
+ verdadeiro: tipos_de_simbolos_1.default.VERDADEIRO
31
+ };
32
+ //# sourceMappingURL=palavras-reservadas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palavras-reservadas.js","sourceRoot":"","sources":["../../../comum/fontes/palavras-reservadas.ts"],"names":[],"mappings":";;;;;AAAA,4EAAkD;AAElD,kBAAe;IACX,SAAS,EAAE,2BAAe,CAAC,SAAS;IACpC,IAAI,EAAE,2BAAe,CAAC,IAAI;IAC1B,KAAK,EAAE,2BAAe,CAAC,KAAK;IAC5B,KAAK,EAAE,2BAAe,CAAC,KAAK;IAC5B,EAAE,EAAE,2BAAe,CAAC,EAAE;IACtB,OAAO,EAAE,2BAAe,CAAC,OAAO;IAChC,CAAC,EAAE,2BAAe,CAAC,CAAC;IACpB,EAAE,EAAE,2BAAe,CAAC,EAAE;IACtB,OAAO,EAAE,2BAAe,CAAC,OAAO;IAChC,KAAK,EAAE,2BAAe,CAAC,KAAK;IAC5B,UAAU,EAAE,2BAAe,CAAC,UAAU;IACtC,OAAO,EAAE,2BAAe,CAAC,OAAO;IAChC,OAAO,EAAE,2BAAe,CAAC,OAAO;IAChC,MAAM,EAAE,2BAAe,CAAC,MAAM;IAC9B,GAAG,EAAE,2BAAe,CAAC,GAAG;IACxB,IAAI,EAAE,2BAAe,CAAC,IAAI;IAC1B,IAAI,EAAE,2BAAe,CAAC,IAAI;IAC1B,QAAQ,EAAE,2BAAe,CAAC,QAAQ;IAClC,UAAU,EAAE,2BAAe,CAAC,UAAU;IACtC,MAAM,EAAE,2BAAe,CAAC,MAAM;IAC9B,KAAK,EAAE,2BAAe,CAAC,KAAK;IAC5B,OAAO,EAAE,2BAAe,CAAC,OAAO;IAChC,UAAU,EAAE,2BAAe,CAAC,UAAU;CACzC,CAAC"}
@@ -0,0 +1,38 @@
1
+ declare const _default: {
2
+ ATUALIZAR: string;
3
+ AUTO: string;
4
+ CHAVE: string;
5
+ CRIAR: string;
6
+ DE: string;
7
+ DEFINIR: string;
8
+ E: string;
9
+ EM: string;
10
+ EXCLUIR: string;
11
+ FALSO: string;
12
+ IDENTIFICADOR: string;
13
+ IGUAL: string;
14
+ INCREMENTO: string;
15
+ INSERIR: string;
16
+ INTEIRO: string;
17
+ LOGICO: string;
18
+ MAIOR: string;
19
+ MAIOR_IGUAL: string;
20
+ MENOR: string;
21
+ MENOR_IGUAL: string;
22
+ NAO: string;
23
+ NULO: string;
24
+ NUMERO: string;
25
+ PARENTESE_DIREITO: string;
26
+ PARENTESE_ESQUERDO: string;
27
+ PONTO_VIRGULA: string;
28
+ PRIMARIA: string;
29
+ ONDE: string;
30
+ SELECIONAR: string;
31
+ TABELA: string;
32
+ TEXTO: string;
33
+ TUDO: string;
34
+ VALORES: string;
35
+ VERDADEIRO: string;
36
+ VIRGULA: string;
37
+ };
38
+ export default _default;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ ATUALIZAR: 'ATUALIZAR',
5
+ AUTO: 'AUTO',
6
+ CHAVE: 'CHAVE',
7
+ CRIAR: 'CRIAR',
8
+ DE: 'DE',
9
+ DEFINIR: 'DEFINIR',
10
+ E: 'E',
11
+ EM: 'EM',
12
+ EXCLUIR: 'EXCLUIR',
13
+ FALSO: 'FALSO',
14
+ IDENTIFICADOR: 'IDENTIFICADOR',
15
+ IGUAL: 'IGUAL',
16
+ INCREMENTO: 'INCREMENTO',
17
+ INSERIR: 'INSERIR',
18
+ INTEIRO: 'INTEIRO',
19
+ LOGICO: 'LOGICO',
20
+ MAIOR: 'MAIOR',
21
+ MAIOR_IGUAL: 'MAIOR_IGUAL',
22
+ MENOR: 'MENOR',
23
+ MENOR_IGUAL: 'MENOR_IGUAL',
24
+ NAO: 'NAO',
25
+ NULO: 'NULO',
26
+ NUMERO: 'NUMERO',
27
+ PARENTESE_DIREITO: 'PARENTESE_DIREITO',
28
+ PARENTESE_ESQUERDO: 'PARENTESE_ESQUERDO',
29
+ PONTO_VIRGULA: 'PONTO_VIRGULA',
30
+ PRIMARIA: 'PRIMARIA',
31
+ ONDE: 'ONDE',
32
+ SELECIONAR: 'SELECIONAR',
33
+ TABELA: 'TABELA',
34
+ TEXTO: 'TEXTO',
35
+ TUDO: 'TUDO',
36
+ VALORES: 'VALORES',
37
+ VERDADEIRO: 'VERDADEIRO',
38
+ VIRGULA: 'VIRGULA'
39
+ };
40
+ //# sourceMappingURL=tipos-de-simbolos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tipos-de-simbolos.js","sourceRoot":"","sources":["../../../comum/fontes/tipos-de-simbolos.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,OAAO,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,IAAI;IACR,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACrB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Comando } from "../comandos";
2
+ export declare class Tradutor {
3
+ private traduzirOperador;
4
+ private traduzirTipo;
5
+ private traduzirComandoAtualizar;
6
+ private traduzirComandoCriar;
7
+ private traduzirComandoExcluir;
8
+ private traduzirComandoInserir;
9
+ private traduzirComandoSelecionar;
10
+ dicionarioComandos: {
11
+ Atualizar: any;
12
+ Criar: any;
13
+ Excluir: any;
14
+ Inserir: any;
15
+ Selecionar: any;
16
+ };
17
+ traduzir(comandos: Comando[]): string;
18
+ }
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Tradutor = void 0;
7
+ const tipos_de_simbolos_1 = __importDefault(require("../tipos-de-simbolos"));
8
+ class Tradutor {
9
+ constructor() {
10
+ this.dicionarioComandos = {
11
+ Atualizar: this.traduzirComandoAtualizar.bind(this),
12
+ Criar: this.traduzirComandoCriar.bind(this),
13
+ Excluir: this.traduzirComandoExcluir.bind(this),
14
+ Inserir: this.traduzirComandoInserir.bind(this),
15
+ Selecionar: this.traduzirComandoSelecionar.bind(this)
16
+ };
17
+ }
18
+ traduzirOperador(operador) {
19
+ switch (operador) {
20
+ case tipos_de_simbolos_1.default.IGUAL:
21
+ return '=';
22
+ case tipos_de_simbolos_1.default.VERDADEIRO:
23
+ return true;
24
+ case tipos_de_simbolos_1.default.FALSO:
25
+ return false;
26
+ }
27
+ }
28
+ traduzirTipo(tipo) {
29
+ switch (tipo) {
30
+ case 'INTEIRO':
31
+ return 'INTEGER';
32
+ case 'LOGICO':
33
+ return 'BOOLEAN';
34
+ case 'NUMERO':
35
+ return 'INT';
36
+ case 'TEXTO':
37
+ return 'VARCHAR';
38
+ }
39
+ }
40
+ traduzirComandoAtualizar(comandoAtualizar) {
41
+ let resultado = 'UPDATE ';
42
+ resultado += `${comandoAtualizar.tabela}\nSET `;
43
+ for (const valorAtualizacao of comandoAtualizar.colunasEValores) {
44
+ if (valorAtualizacao.direita.tipo === tipos_de_simbolos_1.default.TEXTO) {
45
+ resultado += `${valorAtualizacao.esquerda.lexema} = '${valorAtualizacao.direita.lexema}', `;
46
+ continue;
47
+ }
48
+ if ([tipos_de_simbolos_1.default.VERDADEIRO, tipos_de_simbolos_1.default.FALSO].includes(valorAtualizacao.direita.tipo)) {
49
+ resultado += `${valorAtualizacao.esquerda.lexema} = ${this.traduzirOperador(valorAtualizacao.direita.tipo)}, `;
50
+ continue;
51
+ }
52
+ resultado += `${valorAtualizacao.esquerda.lexema} = ${valorAtualizacao.direita.lexema}, `;
53
+ }
54
+ resultado = resultado.slice(0, -2);
55
+ resultado += `\nWHERE `;
56
+ if (comandoAtualizar.condicoes.length > 0) {
57
+ for (const condicao of comandoAtualizar.condicoes) {
58
+ resultado += `${condicao.esquerda.lexema} ${this.traduzirOperador(condicao.operador)} ${condicao.direita} AND `;
59
+ }
60
+ resultado = resultado.slice(0, -5);
61
+ }
62
+ return resultado;
63
+ }
64
+ traduzirComandoCriar(comandoCriar) {
65
+ let resultado = 'CREATE TABLE ';
66
+ resultado += `${comandoCriar.tabela} (\n`;
67
+ for (const coluna of comandoCriar.colunas) {
68
+ resultado += ` ${coluna.nomeColuna} ${this.traduzirTipo(coluna.tipo)} `;
69
+ if (coluna.nulo) {
70
+ resultado += `NULL `;
71
+ }
72
+ else {
73
+ resultado += `NOT NULL `;
74
+ }
75
+ if (coluna.chavePrimaria) {
76
+ resultado += 'PRIMARY KEY ';
77
+ if (coluna.autoIncremento) {
78
+ resultado += 'AUTOINCREMENT ';
79
+ }
80
+ }
81
+ resultado = resultado.slice(0, -1);
82
+ resultado += ',\n';
83
+ }
84
+ resultado = resultado.slice(0, -2);
85
+ resultado += `\n)`;
86
+ return resultado;
87
+ }
88
+ traduzirComandoExcluir(comandoExcluir) {
89
+ let resultado = 'DELETE FROM ';
90
+ resultado += `${comandoExcluir.tabela}`;
91
+ // Condições
92
+ if (comandoExcluir.condicoes.length > 0) {
93
+ resultado += '\nWHERE ';
94
+ for (const condicao of comandoExcluir.condicoes) {
95
+ resultado += `${condicao.esquerda.lexema} ${this.traduzirOperador(condicao.operador)} ${condicao.direita} AND `;
96
+ }
97
+ resultado = resultado.slice(0, -5);
98
+ }
99
+ return resultado;
100
+ }
101
+ traduzirComandoInserir(comandoInserir) {
102
+ let resultado = 'INSERT INTO ';
103
+ resultado += `${comandoInserir.tabela} (`;
104
+ for (const coluna of comandoInserir.colunas) {
105
+ resultado += `${coluna}, `;
106
+ }
107
+ resultado = resultado.slice(0, -2);
108
+ resultado += `)\nVALUES (`;
109
+ for (const valor of comandoInserir.valores) {
110
+ switch (valor.tipo) {
111
+ case tipos_de_simbolos_1.default.FALSO:
112
+ resultado += 'FALSE, ';
113
+ break;
114
+ case tipos_de_simbolos_1.default.TEXTO:
115
+ resultado += `"${valor.literal}", `;
116
+ break;
117
+ case tipos_de_simbolos_1.default.VERDADEIRO:
118
+ resultado += 'TRUE, ';
119
+ break;
120
+ default:
121
+ resultado += `${valor.literal}, `;
122
+ break;
123
+ }
124
+ }
125
+ resultado = resultado.slice(0, -2);
126
+ resultado += `)`;
127
+ return resultado;
128
+ }
129
+ traduzirComandoSelecionar(comandoSelecionar) {
130
+ let resultado = 'SELECT ';
131
+ // Colunas
132
+ if (comandoSelecionar.tudo) {
133
+ resultado += '*';
134
+ }
135
+ else {
136
+ for (const coluna of comandoSelecionar.colunas) {
137
+ resultado += coluna + ', ';
138
+ }
139
+ resultado = resultado.slice(0, -2);
140
+ }
141
+ resultado += `\nFROM ${comandoSelecionar.tabela}`;
142
+ // Condições
143
+ if (comandoSelecionar.condicoes.length > 0) {
144
+ resultado += '\nWHERE ';
145
+ for (const condicao of comandoSelecionar.condicoes) {
146
+ resultado += `${condicao.esquerda.lexema} ${this.traduzirOperador(condicao.operador)} ${condicao.direita} AND `;
147
+ }
148
+ resultado = resultado.slice(0, -5);
149
+ }
150
+ return resultado;
151
+ }
152
+ traduzir(comandos) {
153
+ let resultado = '';
154
+ for (const comando of comandos.filter(c => c)) {
155
+ resultado += `${this.dicionarioComandos[comando.constructor.name](comando)} \n`;
156
+ }
157
+ return resultado;
158
+ }
159
+ }
160
+ exports.Tradutor = Tradutor;
161
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../comum/fontes/tradutor/index.ts"],"names":[],"mappings":";;;;;;AAEA,6EAAmD;AAEnD,MAAa,QAAQ;IAArB;QAoKI,uBAAkB,GAAG;YACjB,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,UAAU,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;SACxD,CAAA;IAWL,CAAC;IAnLW,gBAAgB,CAAC,QAAgB;QACrC,QAAQ,QAAQ,EAAE;YACd,KAAK,2BAAe,CAAC,KAAK;gBACtB,OAAO,GAAG,CAAC;YACf,KAAK,2BAAe,CAAC,UAAU;gBAC3B,OAAO,IAAI,CAAC;YAChB,KAAK,2BAAe,CAAC,KAAK;gBACtB,OAAO,KAAK,CAAC;SACpB;IACL,CAAC;IAEO,YAAY,CAAC,IAAY;QAC7B,QAAQ,IAAI,EAAE;YACV,KAAK,SAAS;gBACV,OAAO,SAAS,CAAC;YACrB,KAAK,QAAQ;gBACT,OAAO,SAAS,CAAC;YACrB,KAAK,QAAQ;gBACT,OAAO,KAAK,CAAC;YACjB,KAAK,OAAO;gBACR,OAAO,SAAS,CAAC;SACxB;IACL,CAAC;IAEO,wBAAwB,CAAC,gBAA2B;QACxD,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,SAAS,IAAI,GAAG,gBAAgB,CAAC,MAAM,QAAQ,CAAA;QAE/C,KAAK,MAAM,gBAAgB,IAAI,gBAAgB,CAAC,eAAe,EAAE;YAC7D,IAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,KAAK,2BAAe,CAAC,KAAK,EAAC;gBACvD,SAAS,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,OAAO,gBAAgB,CAAC,OAAO,CAAC,MAAM,KAAK,CAAA;gBAC3F,SAAS;aACZ;YACD,IAAG,CAAC,2BAAe,CAAC,UAAU,EAAE,2BAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC;gBAC3F,SAAS,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/G,SAAS;aACZ;YACD,SAAS,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,MAAM,gBAAgB,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;SAC7F;QAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,IAAI,UAAU,CAAA;QAEvB,IAAI,gBAAgB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,SAAS,EAAE;gBAC/C,SAAS,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,OAAO,CAAC;aACnH;YAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACtC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,oBAAoB,CAAC,YAAmB;QAC5C,IAAI,SAAS,GAAG,eAAe,CAAC;QAEhC,SAAS,IAAI,GAAG,YAAY,CAAC,MAAM,MAAM,CAAC;QAE1C,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE;YACvC,SAAS,IAAI,OAAO,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3E,IAAI,MAAM,CAAC,IAAI,EAAE;gBACb,SAAS,IAAI,OAAO,CAAC;aACxB;iBAAM;gBACH,SAAS,IAAI,WAAW,CAAC;aAC5B;YAED,IAAI,MAAM,CAAC,aAAa,EAAE;gBACtB,SAAS,IAAI,cAAc,CAAC;gBAC5B,IAAI,MAAM,CAAC,cAAc,EAAE;oBACvB,SAAS,IAAI,gBAAgB,CAAC;iBACjC;aACJ;YAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnC,SAAS,IAAI,KAAK,CAAC;SACtB;QAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,IAAI,KAAK,CAAC;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,sBAAsB,CAAC,cAAuB;QAClD,IAAI,SAAS,GAAG,cAAc,CAAA;QAE9B,SAAS,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,CAAA;QAEvC,YAAY;QACZ,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,SAAS,IAAI,UAAU,CAAC;YACxB,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,SAAS,EAAE;gBAC7C,SAAS,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,OAAO,CAAC;aACnH;YACD,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACtC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,sBAAsB,CAAC,cAAuB;QAClD,IAAI,SAAS,GAAG,cAAc,CAAC;QAC/B,SAAS,IAAI,GAAG,cAAc,CAAC,MAAM,IAAI,CAAC;QAE1C,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;YACzC,SAAS,IAAI,GAAG,MAAM,IAAI,CAAC;SAC9B;QAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,IAAI,aAAa,CAAC;QAE3B,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,OAAO,EAAE;YACxC,QAAQ,KAAK,CAAC,IAAI,EAAE;gBAChB,KAAK,2BAAe,CAAC,KAAK;oBACtB,SAAS,IAAI,SAAS,CAAC;oBACvB,MAAM;gBACV,KAAK,2BAAe,CAAC,KAAK;oBACtB,SAAS,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC;oBACpC,MAAM;gBACV,KAAK,2BAAe,CAAC,UAAU;oBAC3B,SAAS,IAAI,QAAQ,CAAC;oBACtB,MAAM;gBACV;oBACI,SAAS,IAAI,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC;oBAClC,MAAM;aACb;SACJ;QAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,IAAI,GAAG,CAAC;QAEjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,yBAAyB,CAAC,iBAA6B;QAC3D,IAAI,SAAS,GAAG,SAAS,CAAC;QAE1B,UAAU;QACV,IAAI,iBAAiB,CAAC,IAAI,EAAE;YACxB,SAAS,IAAI,GAAG,CAAA;SACnB;aAAM;YACH,KAAK,MAAM,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE;gBAC5C,SAAS,IAAI,MAAM,GAAG,IAAI,CAAC;aAC9B;YAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACtC;QAED,SAAS,IAAI,UAAU,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAElD,YAAY;QACZ,IAAI,iBAAiB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,SAAS,IAAI,UAAU,CAAC;YACxB,KAAK,MAAM,QAAQ,IAAI,iBAAiB,CAAC,SAAS,EAAE;gBAChD,SAAS,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,OAAO,CAAC;aACnH;YACD,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACtC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAUD,QAAQ,CAAC,QAAmB;QACxB,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAC3C,SAAS,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;SACnF;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AArLD,4BAqLC"}
@@ -0,0 +1 @@
1
+ export { Lincones } from "./fontes/lincones";
package/comum/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lincones = void 0;
4
+ var lincones_1 = require("./fontes/lincones");
5
+ Object.defineProperty(exports, "Lincones", { enumerable: true, get: function () { return lincones_1.Lincones; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../comum/index.ts"],"names":[],"mappings":";;;AAAA,8CAA6C;AAApC,oGAAA,QAAQ,OAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Config } from '@jest/types';
2
+ declare const _default: () => Promise<Config.InitialOptions>;
3
+ export default _default;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = async () => {
4
+ return {
5
+ verbose: true,
6
+ modulePathIgnorePatterns: ['<rootDir>/dist/'],
7
+ preset: 'ts-jest',
8
+ testEnvironment: 'node',
9
+ coverageReporters: ['text', 'text-summary', 'lcov'],
10
+ };
11
+ };
12
+ //# sourceMappingURL=jest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../../comum/jest.config.ts"],"names":[],"mappings":";;AAEA,kBAAe,KAAK,IAAoC,EAAE;IACtD,OAAO;QACH,OAAO,EAAE,IAAI;QACb,wBAAwB,EAAE,CAAC,iBAAiB,CAAC;QAC7C,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,MAAM;QACvB,iBAAiB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC;KACtD,CAAC;AACN,CAAC,CAAC"}
package/execucao.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};
package/execucao.js ADDED
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const leituraLinhas = __importStar(require("readline"));
27
+ const lincones_sqlite_1 = require("./fontes/lincones-sqlite");
28
+ const lincones = new lincones_sqlite_1.LinconesSQLite();
29
+ lincones.clienteSQLite.abrir().then(() => {
30
+ const interfaceLeitura = leituraLinhas.createInterface({
31
+ input: process.stdin,
32
+ output: process.stdout,
33
+ prompt: '\nlincones> ',
34
+ });
35
+ interfaceLeitura.prompt();
36
+ interfaceLeitura.on('line', (linha) => {
37
+ lincones.executar(linha).then(resultado => {
38
+ if (resultado.linhasRetornadas.length > 0) {
39
+ console.table(resultado.linhasRetornadas);
40
+ }
41
+ if (resultado.linhasAfetadas) {
42
+ console.log(`Linhas afetadas: ${resultado.linhasAfetadas}`);
43
+ }
44
+ if (resultado.ultimoId) {
45
+ console.log(`ID retornado pela operação: ${resultado.ultimoId}`);
46
+ }
47
+ return Promise.resolve();
48
+ }).then(() => {
49
+ interfaceLeitura.prompt();
50
+ }).catch((erro) => {
51
+ console.error(erro);
52
+ });
53
+ });
54
+ });
55
+ //# sourceMappingURL=execucao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execucao.js","sourceRoot":"","sources":["../execucao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAE1C,8DAA0D;AAE1D,MAAM,QAAQ,GAAG,IAAI,gCAAc,EAAE,CAAC;AACtC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACrC,MAAM,gBAAgB,GAAG,aAAa,CAAC,eAAe,CAAC;QACnD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,cAAc;KACzB,CAAC,CAAC;IAEH,gBAAgB,CAAC,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAC1C,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACtC,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;aAC7C;YAED,IAAI,SAAS,CAAC,cAAc,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;aAC/D;YAED,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;aACpE;YAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { RetornoAvaliadorSintatico, RetornoLexador } from '../../comum/fontes/interfaces/retornos';
2
+ import { AvaliadorSintaticoBase } from '../../comum/fontes/avaliador-sintatico/avaliador-sintatico-base';
3
+ export declare class AvaliadorSintatico extends AvaliadorSintaticoBase {
4
+ private avancar;
5
+ private comandoAtualizar;
6
+ private comandoCriacaoColuna;
7
+ private comandoCriar;
8
+ private comandoCriarTabela;
9
+ private comandoExcluir;
10
+ private comandoInserir;
11
+ private logicaComumCondicoes;
12
+ private comandoSelecionar;
13
+ private declaracao;
14
+ analisar(retornoLexador: RetornoLexador): RetornoAvaliadorSintatico;
15
+ }