@designliquido/lincones-sqlite 0.1.1 → 0.2.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 (117) hide show
  1. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +1 -1
  2. package/fontes/comum/babel.config.d.ts +5 -0
  3. package/fontes/comum/babel.config.js +7 -0
  4. package/fontes/comum/babel.config.js.map +1 -0
  5. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +8 -5
  6. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js +81 -21
  7. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  8. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-sql-ansi.d.ts +7 -0
  9. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-sql-ansi.js +12 -0
  10. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-sql-ansi.js.map +1 -0
  11. package/fontes/comum/fontes/avaliador-sintatico/index.d.ts +1 -0
  12. package/fontes/comum/fontes/avaliador-sintatico/index.js +1 -0
  13. package/fontes/comum/fontes/avaliador-sintatico/index.js.map +1 -1
  14. package/fontes/comum/fontes/comandos/atualizar.d.ts +3 -9
  15. package/fontes/comum/fontes/comandos/atualizar.js.map +1 -1
  16. package/fontes/comum/fontes/comandos/criar.d.ts +2 -1
  17. package/fontes/comum/fontes/comandos/criar.js +2 -1
  18. package/fontes/comum/fontes/comandos/criar.js.map +1 -1
  19. package/fontes/comum/fontes/comandos/excluir.d.ts +3 -2
  20. package/fontes/comum/fontes/comandos/excluir.js.map +1 -1
  21. package/fontes/comum/fontes/comandos/inserir.d.ts +3 -3
  22. package/fontes/comum/fontes/comandos/inserir.js.map +1 -1
  23. package/fontes/comum/fontes/construtos/coluna-e-valor.d.ts +8 -0
  24. package/fontes/comum/fontes/construtos/coluna-e-valor.js +16 -0
  25. package/fontes/comum/fontes/construtos/coluna-e-valor.js.map +1 -0
  26. package/fontes/comum/fontes/construtos/coluna.d.ts +3 -1
  27. package/fontes/comum/fontes/construtos/coluna.js +21 -1
  28. package/fontes/comum/fontes/construtos/coluna.js.map +1 -1
  29. package/fontes/comum/fontes/construtos/condicao.d.ts +6 -4
  30. package/fontes/comum/fontes/construtos/condicao.js +11 -1
  31. package/fontes/comum/fontes/construtos/condicao.js.map +1 -1
  32. package/fontes/comum/fontes/construtos/construto.d.ts +3 -0
  33. package/fontes/comum/fontes/construtos/construto.js +7 -0
  34. package/fontes/comum/fontes/construtos/construto.js.map +1 -0
  35. package/fontes/comum/fontes/construtos/index.d.ts +8 -0
  36. package/fontes/comum/fontes/construtos/index.js +8 -0
  37. package/fontes/comum/fontes/construtos/index.js.map +1 -1
  38. package/fontes/comum/fontes/construtos/literal.d.ts +7 -0
  39. package/fontes/comum/fontes/construtos/literal.js +16 -0
  40. package/fontes/comum/fontes/construtos/literal.js.map +1 -0
  41. package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.d.ts +3 -1
  42. package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.js +6 -1
  43. package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.js.map +1 -1
  44. package/fontes/comum/fontes/construtos/parametro-anonimo.d.ts +4 -0
  45. package/fontes/comum/fontes/construtos/parametro-anonimo.js +11 -0
  46. package/fontes/comum/fontes/construtos/parametro-anonimo.js.map +1 -0
  47. package/fontes/comum/fontes/construtos/parametro-nomeado.d.ts +6 -0
  48. package/fontes/comum/fontes/construtos/parametro-nomeado.js +15 -0
  49. package/fontes/comum/fontes/construtos/parametro-nomeado.js.map +1 -0
  50. package/fontes/comum/fontes/construtos/referencia-coluna.d.ts +6 -0
  51. package/fontes/comum/fontes/construtos/referencia-coluna.js +15 -0
  52. package/fontes/comum/fontes/construtos/referencia-coluna.js.map +1 -0
  53. package/fontes/comum/fontes/construtos/restricao.d.ts +3 -1
  54. package/fontes/comum/fontes/construtos/restricao.js +24 -1
  55. package/fontes/comum/fontes/construtos/restricao.js.map +1 -1
  56. package/fontes/comum/fontes/index.d.ts +7 -0
  57. package/fontes/comum/{index.js → fontes/index.js} +7 -8
  58. package/fontes/comum/fontes/index.js.map +1 -0
  59. package/fontes/comum/fontes/lexador/index.d.ts +1 -0
  60. package/fontes/comum/fontes/lexador/index.js +1 -0
  61. package/fontes/comum/fontes/lexador/index.js.map +1 -1
  62. package/fontes/comum/fontes/lexador/lexador-base.d.ts +26 -0
  63. package/fontes/comum/fontes/lexador/lexador-base.js +211 -0
  64. package/fontes/comum/fontes/lexador/lexador-base.js.map +1 -0
  65. package/fontes/comum/fontes/lexador/lexador-sql-ansi.d.ts +11 -0
  66. package/fontes/comum/fontes/lexador/lexador-sql-ansi.js +47 -0
  67. package/fontes/comum/fontes/lexador/lexador-sql-ansi.js.map +1 -0
  68. package/fontes/comum/fontes/lexador/lexador.d.ts +2 -23
  69. package/fontes/comum/fontes/lexador/lexador.js +5 -198
  70. package/fontes/comum/fontes/lexador/lexador.js.map +1 -1
  71. package/fontes/comum/fontes/lexador/palavras-reservadas/index.d.ts +2 -0
  72. package/fontes/comum/fontes/lexador/palavras-reservadas/index.js +19 -0
  73. package/fontes/comum/fontes/lexador/palavras-reservadas/index.js.map +1 -0
  74. package/fontes/comum/fontes/{palavras-reservadas.d.ts → lexador/palavras-reservadas/lincones.d.ts} +1 -0
  75. package/fontes/comum/fontes/{palavras-reservadas.js → lexador/palavras-reservadas/lincones.js} +3 -2
  76. package/fontes/comum/fontes/lexador/palavras-reservadas/lincones.js.map +1 -0
  77. package/fontes/comum/fontes/lexador/palavras-reservadas/sql.d.ts +37 -0
  78. package/fontes/comum/fontes/lexador/palavras-reservadas/sql.js +43 -0
  79. package/fontes/comum/fontes/lexador/palavras-reservadas/sql.js.map +1 -0
  80. package/fontes/comum/fontes/{tipos-de-simbolos.d.ts → tipos-de-simbolos/index.d.ts} +3 -0
  81. package/fontes/comum/fontes/{tipos-de-simbolos.js → tipos-de-simbolos/index.js} +4 -1
  82. package/fontes/comum/fontes/tipos-de-simbolos/index.js.map +1 -0
  83. package/fontes/comum/fontes/tradutor/index.d.ts +2 -32
  84. package/fontes/comum/fontes/tradutor/index.js +15 -235
  85. package/fontes/comum/fontes/tradutor/index.js.map +1 -1
  86. package/fontes/comum/fontes/tradutor/tradutor-reverso-sql-ansi.d.ts +7 -0
  87. package/fontes/comum/fontes/tradutor/tradutor-reverso-sql-ansi.js +12 -0
  88. package/fontes/comum/fontes/tradutor/tradutor-reverso-sql-ansi.js.map +1 -0
  89. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.d.ts +33 -0
  90. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.js +246 -0
  91. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.js.map +1 -0
  92. package/fontes/comum/testes/avaliador-sintatico.test.js +85 -14
  93. package/fontes/comum/testes/avaliador-sintatico.test.js.map +1 -1
  94. package/fontes/comum/testes/construtos.test.js +52 -0
  95. package/fontes/comum/testes/construtos.test.js.map +1 -0
  96. package/fontes/comum/testes/lexador-sql-ansi.test.d.ts +1 -0
  97. package/fontes/comum/testes/lexador-sql-ansi.test.js +83 -0
  98. package/fontes/comum/testes/lexador-sql-ansi.test.js.map +1 -0
  99. package/fontes/comum/testes/tradutor-sql-ansi.test.d.ts +1 -0
  100. package/fontes/comum/testes/{tradutor.test.js → tradutor-sql-ansi.test.js} +29 -25
  101. package/fontes/comum/testes/tradutor-sql-ansi.test.js.map +1 -0
  102. package/fontes/infraestrutura/cliente-sqlite.d.ts +1 -1
  103. package/fontes/infraestrutura/cliente-sqlite.js +10 -9
  104. package/fontes/infraestrutura/cliente-sqlite.js.map +1 -1
  105. package/fontes/lincones-sqlite.d.ts +4 -3
  106. package/fontes/lincones-sqlite.js +5 -4
  107. package/fontes/lincones-sqlite.js.map +1 -1
  108. package/fontes/tradutor/index.d.ts +2 -6
  109. package/fontes/tradutor/index.js +2 -87
  110. package/fontes/tradutor/index.js.map +1 -1
  111. package/package.json +1 -1
  112. package/fontes/comum/fontes/palavras-reservadas.js.map +0 -1
  113. package/fontes/comum/fontes/tipos-de-simbolos.js.map +0 -1
  114. package/fontes/comum/index.d.ts +0 -8
  115. package/fontes/comum/index.js.map +0 -1
  116. package/fontes/comum/testes/tradutor.test.js.map +0 -1
  117. /package/fontes/comum/testes/{tradutor.test.d.ts → construtos.test.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { RetornoAvaliadorSintatico, RetornoLexador } from '../comum/fontes/interfaces/retornos';
2
2
  import { AvaliadorSintaticoBase } from '../comum/fontes/avaliador-sintatico/avaliador-sintatico-base';
3
3
  export declare class AvaliadorSintatico extends AvaliadorSintaticoBase {
4
- declaracao(): import("../comum/fontes/comandos").Atualizar | import("../comum/fontes/comandos").Criar | import("../comum/fontes/comandos").Excluir | import("../comum/fontes/comandos").Inserir | import("../comum/fontes/comandos").Selecionar;
4
+ declaracao(): import("../comum/fontes/comandos").Atualizar | import("../comum/fontes/comandos").Criar | import("../comum/fontes/comandos").Excluir | import("../comum/fontes/comandos").ExcluirEntidade | import("../comum/fontes/comandos").Inserir | import("../comum/fontes/comandos").Selecionar;
5
5
  analisar(retornoLexador: RetornoLexador): RetornoAvaliadorSintatico;
6
6
  }
@@ -0,0 +1,5 @@
1
+ export let presets: (string | (string | {
2
+ targets: {
3
+ node: string;
4
+ };
5
+ })[])[];
@@ -0,0 +1,7 @@
1
+ module.exports = {
2
+ presets: [
3
+ ['@babel/preset-env', { targets: { node: 'current' } }],
4
+ '@babel/preset-typescript',
5
+ ],
6
+ };
7
+ //# sourceMappingURL=babel.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"babel.config.js","sourceRoot":"","sources":["../../../fontes/comum/babel.config.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,GAAG;IACf,OAAO,EAAE;QACP,CAAC,mBAAmB,EAAE,EAAC,OAAO,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,EAAC,CAAC;QACnD,0BAA0B;KAC3B;CACF,CAAC"}
@@ -1,9 +1,8 @@
1
- import { Alterar, Atualizar, Criar, Excluir, Inserir, Selecionar } from '../comandos';
1
+ import { Alterar, Atualizar, Criar, Excluir, ExcluirEntidade, Inserir, Selecionar } from '../comandos';
2
2
  import { AvaliadorSintaticoInterface, SimboloInterface } from '../interfaces';
3
3
  import { RetornoAvaliadorSintatico, RetornoLexador } from '../interfaces/retornos';
4
4
  import { ErroAvaliadorSintatico } from './erro-avaliador-sintatico';
5
- import { Coluna } from '../construtos/coluna';
6
- import { Condicao } from '../construtos';
5
+ import { Coluna, Condicao, Construto } from '../construtos';
7
6
  export declare abstract class AvaliadorSintaticoBase implements AvaliadorSintaticoInterface {
8
7
  simbolos: SimboloInterface[];
9
8
  erros: ErroAvaliadorSintatico[];
@@ -22,15 +21,19 @@ export declare abstract class AvaliadorSintaticoBase implements AvaliadorSintati
22
21
  private logicaAdicionarOuAlterarColuna;
23
22
  private logicaAdicionarOuAlterarRestricao;
24
23
  private logicaRestricaoChave;
24
+ protected inferirTipoLiteral(simboloLiteral: SimboloInterface): 'INTEIRO' | 'LOGICO' | 'NUMERO' | 'TEXTO';
25
25
  protected comandoAlterar(): Alterar;
26
26
  protected comandoAtualizar(): Atualizar;
27
27
  protected comandoCriacaoColuna(): Coluna;
28
28
  protected comandoCriar(): Criar;
29
29
  protected comandoCriarTabela(): Criar;
30
- protected comandoExcluir(): Excluir;
30
+ protected comandoExcluirTabela(): ExcluirEntidade;
31
+ protected comandoExcluirVisao(): ExcluirEntidade;
32
+ protected comandoExcluir(): Excluir | ExcluirEntidade;
31
33
  protected comandoInserir(): Inserir;
34
+ protected logicaComumOperando(): Construto;
32
35
  protected logicaComumCondicoes(operacao: string): Condicao[];
33
36
  protected comandoSelecionar(): Selecionar;
34
- protected declaracao(): Alterar | Atualizar | Criar | Excluir | Inserir | Selecionar;
37
+ protected declaracao(): Alterar | Atualizar | Criar | Excluir | ExcluirEntidade | Inserir | Selecionar;
35
38
  analisar(retornoLexador: RetornoLexador): RetornoAvaliadorSintatico;
36
39
  }
@@ -6,11 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AvaliadorSintaticoBase = void 0;
7
7
  const comandos_1 = require("../comandos");
8
8
  const erro_avaliador_sintatico_1 = require("./erro-avaliador-sintatico");
9
- const coluna_1 = require("../construtos/coluna");
10
9
  const construtos_1 = require("../construtos");
11
10
  const tipos_de_simbolos_1 = __importDefault(require("../tipos-de-simbolos"));
12
- const operacao_alteracao_tabela_1 = require("../construtos/operacao-alteracao-tabela");
13
- const restricao_1 = require("../construtos/restricao");
14
11
  class AvaliadorSintaticoBase {
15
12
  consumir(tipo, mensagemDeErro) {
16
13
  if (this.verificarTipoSimboloAtual(tipo))
@@ -129,7 +126,7 @@ class AvaliadorSintaticoBase {
129
126
  throw this.erro(this.simbolos[this.atual], 'Esperado palavra reservada "PRIMARIA" após palavra reservada "CHAVE" na definição de coluna em comando de criação de tabela.');
130
127
  }
131
128
  }
132
- return new coluna_1.Coluna(simboloNomeDaColuna.lexema, simboloTipoElemento.lexema, tamanhoElemento ? tamanhoElemento : undefined, nulo, chavePrimaria, false, false);
129
+ return new construtos_1.Coluna(simboloNomeDaColuna.lexema, simboloTipoElemento.lexema, tamanhoElemento ? tamanhoElemento : undefined, nulo, chavePrimaria, false, false);
133
130
  }
134
131
  logicaAdicionarOuAlterarRestricao(simboloNomeDaTabela, simboloNomeDaRestricao) {
135
132
  // Tipo de restrição
@@ -157,7 +154,21 @@ class AvaliadorSintaticoBase {
157
154
  const nomeColunaReferenciada = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado nome de coluna referenciada para restrição do tipo chave estrangeira.');
158
155
  this.consumir(tipos_de_simbolos_1.default.PARENTESE_DIREITO, 'Esperado fechamento de parêntese após nome de coluna referenciada para restrição do tipo chave estrangeira.');
159
156
  this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.PONTO_VIRGULA);
160
- return new restricao_1.Restricao(simboloNomeDaRestricao.lexema, "CHAVE_ESTRANGEIRA", simboloNomeDaTabela.lexema, [nomeColunaChave.lexema], nomeTabelaReferenciada.lexema, [nomeColunaReferenciada.lexema]);
157
+ return new construtos_1.Restricao(simboloNomeDaRestricao.lexema, "CHAVE_ESTRANGEIRA", simboloNomeDaTabela.lexema, [nomeColunaChave.lexema], nomeTabelaReferenciada.lexema, [nomeColunaReferenciada.lexema]);
158
+ }
159
+ }
160
+ inferirTipoLiteral(simboloLiteral) {
161
+ const lexemaOuLiteral = simboloLiteral.lexema || simboloLiteral.literal;
162
+ switch (lexemaOuLiteral.constructor.name) {
163
+ case 'String':
164
+ if (['VERDADEIRO', 'FALSO'].includes(lexemaOuLiteral.toUpperCase())) {
165
+ return 'LOGICO';
166
+ }
167
+ return 'TEXTO';
168
+ case 'Number':
169
+ return 'NUMERO';
170
+ default:
171
+ throw new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(simboloLiteral, `Tipo ${simboloLiteral.lexema} não pode ser inferido.`);
161
172
  }
162
173
  }
163
174
  //https://pgdocptbr.sourceforge.io/pg80/ddl-alter.html
@@ -188,7 +199,7 @@ class AvaliadorSintaticoBase {
188
199
  default:
189
200
  throw this.erro(this.simbolos[this.atual], `Tipo de elemento de tabela ou visão inválido para operação "${simboloOperacao.lexema}": ${this.simbolos[this.atual].lexema}.`);
190
201
  }
191
- operacoes.push(new operacao_alteracao_tabela_1.OperacaoAlteracaoTabela(simboloOperacao.lexema, elemento));
202
+ operacoes.push(new construtos_1.OperacaoAlteracaoTabela(simboloOperacao.lexema, elemento));
192
203
  }
193
204
  if (operacoes.length <= 0) {
194
205
  throw this.erro(this.simbolos[this.atual - 1], `Esperado pelo menos uma operação em um comando de alteração de tabela.`);
@@ -206,7 +217,9 @@ class AvaliadorSintaticoBase {
206
217
  const esquerda = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, `Esperado nome de coluna ou literal em descrição de atualização.`);
207
218
  this.consumir(tipos_de_simbolos_1.default.IGUAL, 'Esperado operador válido após identificador em descrição de atualização.');
208
219
  if (![
220
+ tipos_de_simbolos_1.default.DOIS_PONTOS,
209
221
  tipos_de_simbolos_1.default.IDENTIFICADOR,
222
+ tipos_de_simbolos_1.default.INTERROGACAO,
210
223
  tipos_de_simbolos_1.default.NUMERO,
211
224
  tipos_de_simbolos_1.default.TEXTO,
212
225
  tipos_de_simbolos_1.default.VERDADEIRO,
@@ -214,12 +227,8 @@ class AvaliadorSintaticoBase {
214
227
  ].includes(this.simbolos[this.atual].tipo)) {
215
228
  throw this.erro(this.simbolos[this.atual], `Esperado operador válido após identificador em descrição de atualização.`);
216
229
  }
217
- const direita = this.simbolos[this.atual];
218
- this.avancar();
219
- colunasAtualizacao.push({
220
- esquerda,
221
- direita
222
- });
230
+ const direita = this.logicaComumOperando();
231
+ colunasAtualizacao.push(new construtos_1.ColunaEValor(new construtos_1.ReferenciaColuna(esquerda.lexema), direita));
223
232
  } while (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.VIRGULA));
224
233
  // Condições
225
234
  const condicoes = this.logicaComumCondicoes('seleção');
@@ -284,7 +293,7 @@ class AvaliadorSintaticoBase {
284
293
  throw this.erro(this.simbolos[this.atual], 'Esperado palavra reservada "PRIMARIA" após palavra reservada "CHAVE" na definição de coluna em comando de criação de tabela.');
285
294
  }
286
295
  }
287
- return new coluna_1.Coluna(nomeDaColuna.lexema, tipoColuna, tamanhoColuna, nulo, chavePrimaria, false, autoIncremento);
296
+ return new construtos_1.Coluna(nomeDaColuna.lexema, tipoColuna, tamanhoColuna, nulo, chavePrimaria, false, autoIncremento);
288
297
  }
289
298
  comandoCriar() {
290
299
  // Essa linha nunca deve retornar erro.
@@ -298,6 +307,12 @@ class AvaliadorSintaticoBase {
298
307
  comandoCriarTabela() {
299
308
  // Essa linha nunca deve retornar erro.
300
309
  const simboloTabela = this.consumir(tipos_de_simbolos_1.default.TABELA, 'Esperado palavra reservada "TABELA".');
310
+ let seNaoExistir = false;
311
+ if (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.SE)) {
312
+ this.consumir(tipos_de_simbolos_1.default.NAO, 'Esperado palavra reservada "NÃO" após palavra reservada "SE".');
313
+ this.consumir(tipos_de_simbolos_1.default.EXISTIR, 'Esperado palavra reservada "EXISTIR" após palavra reservada "NÃO".');
314
+ seNaoExistir = true;
315
+ }
301
316
  const nomeDaTabela = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado identificador de nome de tabela após palavra reservada "TABELA".');
302
317
  this.consumir(tipos_de_simbolos_1.default.PARENTESE_ESQUERDO, 'Esperado abertura de parênteses após nome da tabela');
303
318
  const colunas = [];
@@ -306,11 +321,30 @@ class AvaliadorSintaticoBase {
306
321
  } while (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.VIRGULA));
307
322
  this.consumir(tipos_de_simbolos_1.default.PARENTESE_DIREITO, 'Esperado fechamento de parênteses após nome da tabela');
308
323
  this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.PONTO_VIRGULA);
309
- return new comandos_1.Criar(simboloTabela.linha, nomeDaTabela.lexema, colunas);
324
+ return new comandos_1.Criar(simboloTabela.linha, nomeDaTabela.lexema, colunas, seNaoExistir);
325
+ }
326
+ comandoExcluirTabela() {
327
+ const nomeDaTabela = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado identificador de nome de tabela após palavra reservada "TABELA".');
328
+ this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.PONTO_VIRGULA);
329
+ return new comandos_1.ExcluirEntidade(nomeDaTabela.linha, nomeDaTabela.lexema, 'TABELA');
330
+ }
331
+ comandoExcluirVisao() {
332
+ const nomeDaVisao = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado identificador de nome de visão após palavra reservada "VISÃO".');
333
+ this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.PONTO_VIRGULA);
334
+ return new comandos_1.ExcluirEntidade(nomeDaVisao.linha, nomeDaVisao.lexema, 'VISÃO');
310
335
  }
311
336
  comandoExcluir() {
312
337
  // Essa linha nunca deve retornar erro.
313
338
  const simboloExcluir = this.consumir(tipos_de_simbolos_1.default.EXCLUIR, 'Esperado palavra reservada "EXCLUIR".');
339
+ if (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.TABELA)) {
340
+ return this.comandoExcluirTabela();
341
+ }
342
+ if (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.VISAO)) {
343
+ return this.comandoExcluirVisao();
344
+ }
345
+ if (!this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.DE, tipos_de_simbolos_1.default.EM)) {
346
+ throw this.erro(this.simbolos[this.atual], 'Esperado palavra reservada "DE" ou "EM" após palavra reservada "EXCLUIR".');
347
+ }
314
348
  const nomeDaTabela = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado identificador de nome de tabela após palavra reservada "TABELA".');
315
349
  const condicoes = this.logicaComumCondicoes('exclusão');
316
350
  this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.PONTO_VIRGULA);
@@ -339,12 +373,14 @@ class AvaliadorSintaticoBase {
339
373
  tipos_de_simbolos_1.default.FALSO,
340
374
  tipos_de_simbolos_1.default.NUMERO,
341
375
  tipos_de_simbolos_1.default.TEXTO,
342
- tipos_de_simbolos_1.default.VERDADEIRO
376
+ tipos_de_simbolos_1.default.VERDADEIRO,
377
+ tipos_de_simbolos_1.default.INTERROGACAO,
378
+ tipos_de_simbolos_1.default.DOIS_PONTOS
343
379
  ].includes(this.simbolos[this.atual].tipo)) {
344
380
  throw this.erro(this.simbolos[this.atual], `Esperado valor válido para inserção em comando "INSERIR".`);
345
381
  }
346
- valores.push(this.simbolos[this.atual]);
347
- this.avancar();
382
+ const operando = this.logicaComumOperando();
383
+ valores.push(operando);
348
384
  } while (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.VIRGULA));
349
385
  this.consumir(tipos_de_simbolos_1.default.PARENTESE_DIREITO, 'Esperado fechamento de parênteses após declaração de valores em comando "INSERIR".');
350
386
  if (valores.length !== colunas.length) {
@@ -352,6 +388,29 @@ class AvaliadorSintaticoBase {
352
388
  }
353
389
  return new comandos_1.Inserir(simboloInserir.linha, nomeDaTabela.lexema, colunas, valores);
354
390
  }
391
+ logicaComumOperando() {
392
+ const simboloOperando = this.avancarEDevolverAnterior();
393
+ switch (simboloOperando.tipo) {
394
+ case tipos_de_simbolos_1.default.IDENTIFICADOR:
395
+ return new construtos_1.ReferenciaColuna(simboloOperando.lexema);
396
+ case tipos_de_simbolos_1.default.NUMERO:
397
+ case tipos_de_simbolos_1.default.TEXTO:
398
+ case tipos_de_simbolos_1.default.VERDADEIRO:
399
+ case tipos_de_simbolos_1.default.FALSO:
400
+ const tipoInferido = this.inferirTipoLiteral(simboloOperando);
401
+ return new construtos_1.Literal(simboloOperando.literal || simboloOperando.lexema, tipoInferido);
402
+ case tipos_de_simbolos_1.default.INTERROGACAO:
403
+ return new construtos_1.ParametroAnonimo();
404
+ case tipos_de_simbolos_1.default.DOIS_PONTOS:
405
+ if (!this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.IDENTIFICADOR)) {
406
+ throw this.erro(simboloOperando, 'Esperado identificador após dois pontos em condição, para definição de parâmetro.');
407
+ }
408
+ const simboloParametro = this.simbolos[this.atual - 1];
409
+ return new construtos_1.ParametroNomeado(simboloParametro.lexema);
410
+ default:
411
+ throw this.erro(simboloOperando, `Esperado identificador, número, texto, verdadeiro, falso ou parâmetro anônimo após operador em condição. Obtido: ${simboloOperando.tipo}.`);
412
+ }
413
+ }
355
414
  logicaComumCondicoes(operacao) {
356
415
  const condicoes = [];
357
416
  if (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.ONDE)) {
@@ -369,15 +428,16 @@ class AvaliadorSintaticoBase {
369
428
  const operador = this.simbolos[this.atual].tipo;
370
429
  this.avancar();
371
430
  if (![
431
+ tipos_de_simbolos_1.default.DOIS_PONTOS,
432
+ tipos_de_simbolos_1.default.INTERROGACAO,
372
433
  tipos_de_simbolos_1.default.IDENTIFICADOR,
373
434
  tipos_de_simbolos_1.default.NUMERO,
374
435
  tipos_de_simbolos_1.default.TEXTO
375
436
  ].includes(this.simbolos[this.atual].tipo)) {
376
- throw this.erro(this.simbolos[this.atual], `Esperado operador válido após identificador em condição de ${operacao}.`);
437
+ throw this.erro(this.simbolos[this.atual], `Esperado operando válido após identificador em condição de ${operacao}.`);
377
438
  }
378
- const direita = this.simbolos[this.atual];
379
- this.avancar();
380
- condicoes.push(new construtos_1.Condicao(esquerda, operador, direita.literal || direita.lexema));
439
+ const direita = this.logicaComumOperando();
440
+ condicoes.push(new construtos_1.Condicao(new construtos_1.ReferenciaColuna(esquerda.lexema), operador, direita));
381
441
  } while (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.E));
382
442
  }
383
443
  return condicoes;
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-base.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico-base.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { AvaliadorSintaticoBase } from './avaliador-sintatico-base';
2
+ /**
3
+ * A única função desta classe é poder ser instanciada, seja para
4
+ * testes unitários, seja para outras funções.
5
+ */
6
+ export declare class AvaliadorSintaticoSqlAnsi extends AvaliadorSintaticoBase {
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AvaliadorSintaticoSqlAnsi = void 0;
4
+ const avaliador_sintatico_base_1 = require("./avaliador-sintatico-base");
5
+ /**
6
+ * A única função desta classe é poder ser instanciada, seja para
7
+ * testes unitários, seja para outras funções.
8
+ */
9
+ class AvaliadorSintaticoSqlAnsi extends avaliador_sintatico_base_1.AvaliadorSintaticoBase {
10
+ }
11
+ exports.AvaliadorSintaticoSqlAnsi = AvaliadorSintaticoSqlAnsi;
12
+ //# sourceMappingURL=avaliador-sintatico-sql-ansi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avaliador-sintatico-sql-ansi.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-sql-ansi.ts"],"names":[],"mappings":";;;AAAA,yEAAoE;AAEpE;;;GAGG;AACH,MAAa,yBAA0B,SAAQ,iDAAsB;CAEpE;AAFD,8DAEC"}
@@ -1,3 +1,4 @@
1
1
  export * from './avaliador-sintatico';
2
2
  export * from './avaliador-sintatico-base';
3
+ export * from './avaliador-sintatico-sql-ansi';
3
4
  export * from './erro-avaliador-sintatico';
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./avaliador-sintatico"), exports);
18
18
  __exportStar(require("./avaliador-sintatico-base"), exports);
19
+ __exportStar(require("./avaliador-sintatico-sql-ansi"), exports);
19
20
  __exportStar(require("./erro-avaliador-sintatico"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/avaliador-sintatico/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,6DAA2C;AAC3C,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/avaliador-sintatico/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,6DAA2C;AAC3C,iEAA+C;AAC/C,6DAA2C"}
@@ -1,14 +1,8 @@
1
- import { Condicao } from "../construtos";
1
+ import { ColunaEValor, Condicao } from "../construtos";
2
2
  import { Comando } from "./comando";
3
3
  export declare class Atualizar extends Comando {
4
4
  tabela: string;
5
- colunasEValores: {
6
- esquerda: any;
7
- direita: any;
8
- }[];
5
+ colunasEValores: ColunaEValor[];
9
6
  condicoes: Condicao[];
10
- constructor(linha: number, tabela: string, colunasEValores: {
11
- esquerda: any;
12
- direita: any;
13
- }[], condicoes: Condicao[]);
7
+ constructor(linha: number, tabela: string, colunasEValores: ColunaEValor[], condicoes: Condicao[]);
14
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"atualizar.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/comandos/atualizar.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,MAAa,SAAU,SAAQ,iBAAO;IAKlC,YACI,KAAa,EACb,MAAc,EACd,eAAkD,EAClD,SAAqB;QAErB,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAhBD,8BAgBC"}
1
+ {"version":3,"file":"atualizar.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/comandos/atualizar.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,MAAa,SAAU,SAAQ,iBAAO;IAKlC,YACI,KAAa,EACb,MAAc,EACd,eAA+B,EAC/B,SAAqB;QAErB,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAhBD,8BAgBC"}
@@ -4,5 +4,6 @@ export declare class Criar extends Comando {
4
4
  tipoEntidade: 'TABELA' | 'VISÃO';
5
5
  nomeEntidade: string;
6
6
  colunas: Coluna[];
7
- constructor(linha: number, nomeEntidade: string, colunas: Coluna[]);
7
+ seNaoExistir: boolean;
8
+ constructor(linha: number, nomeEntidade: string, colunas: Coluna[], seNaoExistir?: boolean);
8
9
  }
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Criar = void 0;
4
4
  const comando_1 = require("./comando");
5
5
  class Criar extends comando_1.Comando {
6
- constructor(linha, nomeEntidade, colunas) {
6
+ constructor(linha, nomeEntidade, colunas, seNaoExistir = false) {
7
7
  super(linha);
8
8
  this.nomeEntidade = nomeEntidade;
9
9
  this.colunas = colunas;
10
+ this.seNaoExistir = seNaoExistir;
10
11
  }
11
12
  }
12
13
  exports.Criar = Criar;
@@ -1 +1 @@
1
- {"version":3,"file":"criar.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/comandos/criar.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,MAAa,KAAM,SAAQ,iBAAO;IAK9B,YAAY,KAAa,EAAE,YAAoB,EAAE,OAAiB;QAC9D,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAVD,sBAUC"}
1
+ {"version":3,"file":"criar.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/comandos/criar.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,MAAa,KAAM,SAAQ,iBAAO;IAM9B,YAAY,KAAa,EAAE,YAAoB,EAAE,OAAiB,EAAE,YAAY,GAAG,KAAK;QACpF,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;CACJ;AAZD,sBAYC"}
@@ -1,6 +1,7 @@
1
+ import { Condicao } from "../construtos";
1
2
  import { Comando } from "./comando";
2
3
  export declare class Excluir extends Comando {
3
4
  tabela: string;
4
- condicoes: any[];
5
- constructor(linha: number, tabela: string, condicoes: any[]);
5
+ condicoes: Condicao[];
6
+ constructor(linha: number, tabela: string, condicoes: Condicao[]);
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"excluir.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/comandos/excluir.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEpC,MAAa,OAAQ,SAAQ,iBAAO;IAIhC,YAAY,KAAa,EAAE,MAAc,EAAE,SAAgB;QACvD,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AATD,0BASC"}
1
+ {"version":3,"file":"excluir.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/comandos/excluir.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,MAAa,OAAQ,SAAQ,iBAAO;IAIhC,YAAY,KAAa,EAAE,MAAc,EAAE,SAAqB;QAC5D,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AATD,0BASC"}
@@ -1,8 +1,8 @@
1
- import { SimboloInterface } from "../interfaces";
1
+ import { Construto } from "../construtos";
2
2
  import { Comando } from "./comando";
3
3
  export declare class Inserir extends Comando {
4
4
  tabela: string;
5
5
  colunas: string[];
6
- valores: SimboloInterface[];
7
- constructor(linha: number, tabela: string, colunas: string[], valores: any[]);
6
+ valores: Construto[];
7
+ constructor(linha: number, tabela: string, colunas: string[], valores: Construto[]);
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inserir.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/comandos/inserir.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,MAAa,OAAQ,SAAQ,iBAAO;IAKhC,YAAY,KAAa,EAAE,MAAc,EAAE,OAAiB,EAAE,OAAc;QACxE,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAXD,0BAWC"}
1
+ {"version":3,"file":"inserir.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/comandos/inserir.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,MAAa,OAAQ,SAAQ,iBAAO;IAKhC,YAAY,KAAa,EAAE,MAAc,EAAE,OAAiB,EAAE,OAAoB;QAC9E,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAXD,0BAWC"}
@@ -0,0 +1,8 @@
1
+ import { Construto } from "./construto";
2
+ import { ReferenciaColuna } from "./referencia-coluna";
3
+ export declare class ColunaEValor extends Construto {
4
+ coluna: ReferenciaColuna;
5
+ valor: Construto;
6
+ constructor(coluna: ReferenciaColuna, valor: Construto);
7
+ toString(): string;
8
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ColunaEValor = void 0;
4
+ const construto_1 = require("./construto");
5
+ class ColunaEValor extends construto_1.Construto {
6
+ constructor(coluna, valor) {
7
+ super();
8
+ this.coluna = coluna;
9
+ this.valor = valor;
10
+ }
11
+ toString() {
12
+ return `<ColunaEValor coluna=${this.coluna.nomeColuna} valor=${this.valor.toString()}>`;
13
+ }
14
+ }
15
+ exports.ColunaEValor = ColunaEValor;
16
+ //# sourceMappingURL=coluna-e-valor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coluna-e-valor.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/construtos/coluna-e-valor.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAGxC,MAAa,YAAa,SAAQ,qBAAS;IAIvC,YAAY,MAAwB,EAAE,KAAgB;QAClD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,QAAQ;QACJ,OAAO,wBAAwB,IAAI,CAAC,MAAM,CAAC,UAAU,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;IAC5F,CAAC;CACJ;AAbD,oCAaC"}
@@ -1,5 +1,6 @@
1
1
  import { Simbolo } from "../lexador/simbolo";
2
- export declare class Coluna {
2
+ import { Construto } from "./construto";
3
+ export declare class Coluna extends Construto {
3
4
  nomeColuna: string;
4
5
  tipo: 'INTEIRO' | 'LOGICO' | 'NUMERO' | 'TEXTO';
5
6
  tamanho: Simbolo | undefined;
@@ -8,4 +9,5 @@ export declare class Coluna {
8
9
  chaveEstrangeira: boolean;
9
10
  autoIncremento: boolean;
10
11
  constructor(nomeColuna: string, tipo: string, tamanho?: Simbolo, nulo?: boolean, chavePrimaria?: boolean, chaveEstrangeira?: boolean, autoIncremento?: boolean);
12
+ toString(): string;
11
13
  }
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Coluna = void 0;
4
- class Coluna {
4
+ const construto_1 = require("./construto");
5
+ class Coluna extends construto_1.Construto {
5
6
  constructor(nomeColuna, tipo, tamanho, nulo, chavePrimaria, chaveEstrangeira, autoIncremento) {
7
+ super();
6
8
  this.nomeColuna = nomeColuna;
7
9
  const tipoColunaResolvido = tipo.toUpperCase();
8
10
  if (!['INTEIRO', 'LOGICO', 'NUMERO', 'TEXTO'].includes(tipoColunaResolvido)) {
@@ -15,6 +17,24 @@ class Coluna {
15
17
  this.chaveEstrangeira = chaveEstrangeira || false;
16
18
  this.autoIncremento = autoIncremento || false;
17
19
  }
20
+ toString() {
21
+ let retorno = `<Coluna nome=${this.nomeColuna} tipo=${this.tipo}`;
22
+ if (this.tamanho) {
23
+ retorno += ` tamanho=${this.tamanho.lexema}`;
24
+ }
25
+ retorno += ` nulo=${this.nulo ? 'Sim' : 'Não'}`;
26
+ if (this.chavePrimaria) {
27
+ retorno += ` chave primária;`;
28
+ }
29
+ if (this.chaveEstrangeira) {
30
+ retorno += ` chave estrangeira;`;
31
+ }
32
+ if (this.autoIncremento) {
33
+ retorno += ` auto incremento;`;
34
+ }
35
+ retorno += `>`;
36
+ return retorno;
37
+ }
18
38
  }
19
39
  exports.Coluna = Coluna;
20
40
  //# sourceMappingURL=coluna.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coluna.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/construtos/coluna.ts"],"names":[],"mappings":";;;AAEA,MAAa,MAAM;IASf,YACI,UAAkB,EAClB,IAAY,EACZ,OAAiB,EACjB,IAAc,EACd,aAAuB,EACvB,gBAA0B,EAC1B,cAAwB;QAExB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,qCAAqC,mBAAmB,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,mBAAgE,CAAC;QAC7E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,KAAK,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,KAAK,CAAC;IAClD,CAAC;CACJ;AAhCD,wBAgCC"}
1
+ {"version":3,"file":"coluna.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/construtos/coluna.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AAExC,MAAa,MAAO,SAAQ,qBAAS;IASjC,YACI,UAAkB,EAClB,IAAY,EACZ,OAAiB,EACjB,IAAc,EACd,aAAuB,EACvB,gBAA0B,EAC1B,cAAwB;QAExB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,qCAAqC,mBAAmB,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,mBAAgE,CAAC;QAC7E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,KAAK,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,KAAK,CAAC;IAClD,CAAC;IAED,QAAQ;QACJ,IAAI,OAAO,GAAG,gBAAgB,IAAI,CAAC,UAAU,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACjD,CAAC;QAED,OAAO,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAEhD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,IAAI,kBAAkB,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,IAAI,qBAAqB,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,IAAI,mBAAmB,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,GAAG,CAAC;QACf,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAzDD,wBAyDC"}
@@ -1,6 +1,8 @@
1
- export declare class Condicao {
2
- esquerda: any;
3
- direita: any;
1
+ import { Construto } from "./construto";
2
+ export declare class Condicao extends Construto {
3
+ esquerda: Construto;
4
+ direita: Construto;
4
5
  operador: 'IGUAL' | 'MAIOR' | 'MAIOR_IGUAL' | 'MENOR' | 'MENOR_IGUAL';
5
- constructor(esquerda: any, operador: any, direita: any);
6
+ constructor(esquerda: Construto, operador: 'IGUAL' | 'MAIOR' | 'MAIOR_IGUAL' | 'MENOR' | 'MENOR_IGUAL', direita: Construto);
7
+ toString(): string;
6
8
  }
@@ -1,12 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Condicao = void 0;
4
- class Condicao {
4
+ const construto_1 = require("./construto");
5
+ class Condicao extends construto_1.Construto {
5
6
  constructor(esquerda, operador, direita) {
7
+ super();
6
8
  this.esquerda = esquerda;
7
9
  this.direita = direita;
8
10
  this.operador = operador;
9
11
  }
12
+ toString() {
13
+ let retorno = `<Condição`;
14
+ retorno += ` operando esquerdo=${this.esquerda.toString()}`;
15
+ retorno += ` operador=${this.operador}`;
16
+ retorno += ` operando direito=${this.direita.toString()}`;
17
+ retorno += `>`;
18
+ return retorno;
19
+ }
10
20
  }
11
21
  exports.Condicao = Condicao;
12
22
  //# sourceMappingURL=condicao.js.map