@designliquido/delegua 0.61.2 → 0.62.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 (92) hide show
  1. package/analisador-semantico/analisador-semantico-base.d.ts +2 -1
  2. package/analisador-semantico/analisador-semantico-base.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico-base.js +3 -0
  4. package/analisador-semantico/analisador-semantico-base.js.map +1 -1
  5. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  6. package/analisador-semantico/analisador-semantico.js +22 -24
  7. package/analisador-semantico/analisador-semantico.js.map +1 -1
  8. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  9. package/avaliador-sintatico/avaliador-sintatico.js +16 -12
  10. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  11. package/avaliador-sintatico/comum.js +11 -10
  12. package/avaliador-sintatico/comum.js.map +1 -1
  13. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +8 -7
  14. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  15. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +139 -90
  16. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  17. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.d.ts.map +1 -1
  18. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +32 -34
  19. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
  20. package/bibliotecas/biblioteca-global.d.ts +9 -0
  21. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  22. package/bibliotecas/biblioteca-global.js +35 -13
  23. package/bibliotecas/biblioteca-global.js.map +1 -1
  24. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js +10 -10
  25. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js.map +1 -1
  26. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts +9 -0
  27. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts.map +1 -1
  28. package/bibliotecas/dialetos/pitugues/biblioteca-global.js +33 -11
  29. package/bibliotecas/dialetos/pitugues/biblioteca-global.js.map +1 -1
  30. package/bin/package.json +1 -1
  31. package/construtos/funcao.d.ts +3 -2
  32. package/construtos/funcao.d.ts.map +1 -1
  33. package/construtos/funcao.js +1 -0
  34. package/construtos/funcao.js.map +1 -1
  35. package/construtos/isto.d.ts +4 -4
  36. package/construtos/isto.d.ts.map +1 -1
  37. package/construtos/isto.js +2 -2
  38. package/construtos/isto.js.map +1 -1
  39. package/declaracoes/escreva.d.ts +2 -1
  40. package/declaracoes/escreva.d.ts.map +1 -1
  41. package/declaracoes/escreva.js.map +1 -1
  42. package/declaracoes/index.d.ts +1 -0
  43. package/declaracoes/index.d.ts.map +1 -1
  44. package/declaracoes/index.js +1 -0
  45. package/declaracoes/index.js.map +1 -1
  46. package/declaracoes/texto-documentacao.d.ts +12 -0
  47. package/declaracoes/texto-documentacao.d.ts.map +1 -0
  48. package/declaracoes/texto-documentacao.js +21 -0
  49. package/declaracoes/texto-documentacao.js.map +1 -0
  50. package/formatadores/formatador-delegua.d.ts +2 -1
  51. package/formatadores/formatador-delegua.d.ts.map +1 -1
  52. package/formatadores/formatador-delegua.js +4 -1
  53. package/formatadores/formatador-delegua.js.map +1 -1
  54. package/formatadores/formatador-pitugues.d.ts +70 -60
  55. package/formatadores/formatador-pitugues.d.ts.map +1 -1
  56. package/formatadores/formatador-pitugues.js +390 -227
  57. package/formatadores/formatador-pitugues.js.map +1 -1
  58. package/interfaces/visitante-comum-interface.d.ts +2 -1
  59. package/interfaces/visitante-comum-interface.d.ts.map +1 -1
  60. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +2 -1
  61. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
  62. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +4 -1
  63. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  64. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +2 -1
  65. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts.map +1 -1
  66. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +7 -4
  67. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  68. package/interpretador/dialetos/pitugues/comum.js +13 -13
  69. package/interpretador/dialetos/pitugues/comum.js.map +1 -1
  70. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +2 -1
  71. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
  72. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +3 -0
  73. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  74. package/interpretador/estruturas/delegua-funcao.d.ts.map +1 -1
  75. package/interpretador/estruturas/delegua-funcao.js.map +1 -1
  76. package/interpretador/estruturas/metodo-primitiva.d.ts +3 -1
  77. package/interpretador/estruturas/metodo-primitiva.d.ts.map +1 -1
  78. package/interpretador/estruturas/metodo-primitiva.js +5 -2
  79. package/interpretador/estruturas/metodo-primitiva.js.map +1 -1
  80. package/interpretador/interpretador-base.d.ts +5 -4
  81. package/interpretador/interpretador-base.d.ts.map +1 -1
  82. package/interpretador/interpretador-base.js +60 -26
  83. package/interpretador/interpretador-base.js.map +1 -1
  84. package/interpretador/interpretador.d.ts.map +1 -1
  85. package/interpretador/interpretador.js +21 -19
  86. package/interpretador/interpretador.js.map +1 -1
  87. package/package.json +1 -1
  88. package/tradutores/tradutor-assembly-x64.d.ts +78 -3
  89. package/tradutores/tradutor-assembly-x64.d.ts.map +1 -1
  90. package/tradutores/tradutor-assembly-x64.js +562 -73
  91. package/tradutores/tradutor-assembly-x64.js.map +1 -1
  92. package/umd/delegua.js +1059 -756
@@ -351,7 +351,7 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
351
351
  * @returns A entidade chamada resolvida, se as validações passarem.
352
352
  */
353
353
  resolverEntidadeChamada(entidadeChamada, argumentos, tipoPrimitiva = undefined) {
354
- if (entidadeChamada.constructor.name === 'Variavel') {
354
+ if (entidadeChamada.constructor === construtos_1.Variavel) {
355
355
  const entidadeChamadaResolvidaVariavel = entidadeChamada;
356
356
  if (tipoPrimitiva === undefined) {
357
357
  // Provavelmente uma chamada a alguma função da biblioteca global.
@@ -382,7 +382,7 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
382
382
  }
383
383
  return new construtos_1.ArgumentoReferenciaFuncao(entidadeChamada.hashArquivo, entidadeChamada.linha, entidadeChamadaResolvidaVariavel.simbolo);
384
384
  }
385
- if (entidadeChamada.constructor.name === 'AcessoMetodoOuPropriedade') {
385
+ if (entidadeChamada.constructor === construtos_1.AcessoMetodoOuPropriedade) {
386
386
  return this.resolverEntidadeChamadaAcessoMetodoOuPropriedade(entidadeChamada);
387
387
  }
388
388
  return entidadeChamada;
@@ -525,13 +525,13 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
525
525
  if (this.verificarSeSimboloAtualEIgualA(tenda_1.default.IGUAL)) {
526
526
  const igual = this.simbolos[this.atual - 1];
527
527
  const valor = this.expressao();
528
- switch (expressao.constructor.name) {
529
- case 'Variavel':
528
+ switch (expressao.constructor) {
529
+ case construtos_1.Variavel:
530
530
  return new construtos_1.Atribuir(this.hashArquivo, expressao, valor);
531
- case 'AcessoMetodoOuPropriedade':
531
+ case construtos_1.AcessoMetodoOuPropriedade:
532
532
  const expressaoAcessoMetodoOuPropriedade = expressao;
533
533
  return new construtos_1.DefinirValor(this.hashArquivo, igual.linha, expressaoAcessoMetodoOuPropriedade.objeto, expressaoAcessoMetodoOuPropriedade.simbolo, valor);
534
- case 'AcessoIndiceVariavel':
534
+ case construtos_1.AcessoIndiceVariavel:
535
535
  const expressaoAcessoIndiceVariavel = expressao;
536
536
  return new construtos_1.AtribuicaoPorIndice(this.hashArquivo, expressaoAcessoIndiceVariavel.linha, expressaoAcessoIndiceVariavel.entidadeChamada, expressaoAcessoIndiceVariavel.indice, valor);
537
537
  }
@@ -630,12 +630,10 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
630
630
  // tradicional de Delégua, com variável de controle e passo positivo, incrementado em 1.
631
631
  const literalOuVariavelInicio = this.adicaoOuSubtracao();
632
632
  this.blocos -= 1;
633
- switch (literalOuVariavelInicio.constructor.name) {
634
- case 'Literal':
633
+ switch (literalOuVariavelInicio.constructor) {
634
+ case construtos_1.Literal:
635
635
  return this.declaracaoParaTradicional(simboloPara, nomeVariavelIteracao, literalOuVariavelInicio);
636
636
  // TODO: Terminar
637
- case 'Variavel':
638
- case 'Vetor':
639
637
  default:
640
638
  return this.declaracaoParaCada(simboloPara, nomeVariavelIteracao, literalOuVariavelInicio);
641
639
  }
@@ -776,18 +774,18 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
776
774
  return this.declaracaoExpressao();
777
775
  }
778
776
  logicaComumInferenciaTiposVariaveis(inicializador) {
779
- switch (inicializador.constructor.name) {
780
- case 'AcessoIndiceVariavel':
777
+ switch (inicializador.constructor) {
778
+ case construtos_1.AcessoIndiceVariavel:
781
779
  const entidadeChamadaAcessoIndiceVariavel = inicializador
782
780
  .entidadeChamada;
783
781
  return entidadeChamadaAcessoIndiceVariavel.tipo.slice(0, -2);
784
- case 'Chamada':
782
+ case construtos_1.Chamada:
785
783
  const entidadeChamadaChamada = inicializador.entidadeChamada;
786
- switch (entidadeChamadaChamada.constructor.name) {
787
- case 'AcessoMetodo':
784
+ switch (entidadeChamadaChamada.constructor) {
785
+ case construtos_1.AcessoMetodo:
788
786
  const entidadeChamadaAcessoMetodo = entidadeChamadaChamada;
789
787
  return entidadeChamadaAcessoMetodo.tipoRetornoMetodo;
790
- case 'AcessoMetodoOuPropriedade':
788
+ case construtos_1.AcessoMetodoOuPropriedade:
791
789
  // Este caso ocorre quando a variável/constante é do tipo 'qualquer',
792
790
  // e a chamada normalmente é feita para uma primitiva.
793
791
  // A inferência, portanto, ocorre pelo uso da primitiva.
@@ -796,38 +794,38 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
796
794
  return this.primitivasConhecidas[entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema].tipo;
797
795
  }
798
796
  throw new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(entidadeChamadaAcessoMetodoOuPropriedade.simbolo, `Primitiva '${entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema}' não existe.`);
799
- case 'AcessoPropriedade':
797
+ case construtos_1.AcessoPropriedade:
800
798
  const entidadeChamadaAcessoPropriedade = entidadeChamadaChamada;
801
799
  return entidadeChamadaAcessoPropriedade.tipoRetornoPropriedade;
802
- case 'ArgumentoReferenciaFuncao':
800
+ case construtos_1.ArgumentoReferenciaFuncao:
803
801
  // TODO: Voltar aqui se necessário.
804
802
  return 'qualquer';
805
- case 'ReferenciaFuncao':
803
+ case construtos_1.ReferenciaFuncao:
806
804
  const entidadeChamadaReferenciaFuncao = entidadeChamadaChamada;
807
805
  return entidadeChamadaReferenciaFuncao.tipo;
808
- case 'Variavel':
806
+ case construtos_1.Variavel:
809
807
  const entidadeChamadaVariavel = entidadeChamadaChamada;
810
808
  return entidadeChamadaVariavel.tipo;
811
809
  }
812
810
  break;
813
- case 'FuncaoConstruto':
811
+ case construtos_1.FuncaoConstruto:
814
812
  const funcaoConstruto = inicializador;
815
813
  return `função<${funcaoConstruto.tipo}>`;
816
- case 'Leia':
814
+ case construtos_1.Leia:
817
815
  return 'texto';
818
- case 'Dupla':
819
- case 'Trio':
820
- case 'Quarteto':
821
- case 'Quinteto':
822
- case 'Sexteto':
823
- case 'Septeto':
824
- case 'Octeto':
825
- case 'Noneto':
826
- case 'Deceto':
816
+ case tuplas_1.Dupla:
817
+ case tuplas_1.Trio:
818
+ case tuplas_1.Quarteto:
819
+ case tuplas_1.Quinteto:
820
+ case tuplas_1.Sexteto:
821
+ case tuplas_1.Septeto:
822
+ case tuplas_1.Octeto:
823
+ case tuplas_1.Noneto:
824
+ case tuplas_1.Deceto:
827
825
  return delegua_1.default.TUPLA;
828
- case 'ImportarBiblioteca':
826
+ /* case 'ImportarBiblioteca':
829
827
  case 'ModuloDeclaracoes':
830
- return 'módulo';
828
+ return 'módulo'; */
831
829
  default:
832
830
  return inicializador.tipo;
833
831
  }
@@ -891,7 +889,7 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
891
889
  // Se o corpo for uma `Expressao`, corpo é convertido para `Retorna`.
892
890
  // Tenda trabalha com retornos implícitos.
893
891
  let corpoResolvido = [];
894
- if (corpo.constructor.name === 'Expressao') {
892
+ if (corpo.constructor === declaracoes_1.Expressao) {
895
893
  const expressaoComoRetorna = new declaracoes_1.Retorna(new simbolo_1.Simbolo(tenda_1.default.RETORNA, 'retorna', 'retorna', parenteseEsquerdo.linha, this.hashArquivo), corpo.expressao);
896
894
  corpoResolvido.push(expressaoComoRetorna);
897
895
  }
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-tenda.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico-tenda.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,15 @@ export declare function incluido(interpretador: InterpretadorInterface, vetor: V
87
87
  * @returns {Promise<any>} Uma Promise com o resultado da conversão.
88
88
  */
89
89
  export declare function inteiro(interpretador: InterpretadorInterface, valorParaConverter: VariavelInterface | any): Promise<any>;
90
+ /**
91
+ * Cria um vetor com números inteiros no intervalo especificado.
92
+ * O valor inicial é inclusivo e o valor final é exclusivo.
93
+ * @param {InterpretadorInterface} interpretador A instância do interpretador.
94
+ * @param {VariavelInterface | number} valorInicial O valor inicial (inclusivo).
95
+ * @param {VariavelInterface | number} valorFinal O valor final (exclusivo).
96
+ * @returns {Promise<number[]>} Um vetor com os números no intervalo.
97
+ */
98
+ export declare function intervalo(interpretador: InterpretadorInterface, valorInicial: VariavelInterface | number, valorFinal: VariavelInterface | number): Promise<number[]>;
90
99
  /**
91
100
  * Dado um vetor e uma função de mapeamento, executa a função de mapeamento
92
101
  * passando como argumento cada elemento do vetor.
@@ -1 +1 @@
1
- {"version":3,"file":"biblioteca-global.d.ts","sourceRoot":"","sources":["../../fontes/bibliotecas/biblioteca-global.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"biblioteca-global.d.ts","sourceRoot":"","sources":["../../fontes/bibliotecas/biblioteca-global.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ exports.encontrarUltimoIndice = encontrarUltimoIndice;
11
11
  exports.filtrarPor = filtrarPor;
12
12
  exports.incluido = incluido;
13
13
  exports.inteiro = inteiro;
14
+ exports.intervalo = intervalo;
14
15
  exports.mapear = mapear;
15
16
  exports.numero = numero;
16
17
  exports.ordenar = ordenar;
@@ -98,7 +99,7 @@ async function algum(interpretador, vetor, funcaoPesquisa) {
98
99
  linha: interpretador.linhaDeclaracaoAtual,
99
100
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
100
101
  }
101
- if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
102
+ if (valorFuncaoPesquisa.constructor !== estruturas_1.DeleguaFuncao) {
102
103
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
103
104
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
104
105
  linha: interpretador.linhaDeclaracaoAtual,
@@ -335,7 +336,7 @@ async function encontrar(interpretador, vetor, funcaoPesquisa) {
335
336
  linha: interpretador.linhaDeclaracaoAtual,
336
337
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
337
338
  }
338
- if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
339
+ if (valorFuncaoPesquisa.constructor !== estruturas_1.DeleguaFuncao) {
339
340
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
340
341
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
341
342
  linha: interpretador.linhaDeclaracaoAtual,
@@ -367,7 +368,7 @@ async function encontrarIndice(interpretador, vetor, funcaoPesquisa) {
367
368
  linha: interpretador.linhaDeclaracaoAtual,
368
369
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
369
370
  }
370
- if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
371
+ if (valorFuncaoPesquisa.constructor !== estruturas_1.DeleguaFuncao) {
371
372
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
372
373
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
373
374
  linha: interpretador.linhaDeclaracaoAtual,
@@ -399,7 +400,7 @@ async function encontrarUltimo(interpretador, vetor, funcaoPesquisa) {
399
400
  linha: interpretador.linhaDeclaracaoAtual,
400
401
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
401
402
  }
402
- if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
403
+ if (valorFuncaoPesquisa.constructor !== estruturas_1.DeleguaFuncao) {
403
404
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
404
405
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
405
406
  linha: interpretador.linhaDeclaracaoAtual,
@@ -430,7 +431,7 @@ async function encontrarUltimoIndice(interpretador, vetor, funcaoPesquisa) {
430
431
  linha: interpretador.linhaDeclaracaoAtual,
431
432
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
432
433
  }
433
- if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
434
+ if (valorFuncaoPesquisa.constructor !== estruturas_1.DeleguaFuncao) {
434
435
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
435
436
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
436
437
  linha: interpretador.linhaDeclaracaoAtual,
@@ -466,8 +467,7 @@ async function filtrarPor(interpretador, vetor, funcaoFiltragem) {
466
467
  linha: interpretador.linhaDeclaracaoAtual,
467
468
  }, 'Parâmetro inválido. O primeiro parâmetro da função filtrarPor() deve ser um vetor.'));
468
469
  }
469
- const construtorResolvido = valorFuncaoFiltragem.constructor.name.replaceAll('_', '');
470
- if (construtorResolvido !== 'DeleguaFuncao') {
470
+ if (valorFuncaoFiltragem.constructor !== estruturas_1.DeleguaFuncao) {
471
471
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
472
472
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
473
473
  linha: interpretador.linhaDeclaracaoAtual,
@@ -541,6 +541,29 @@ async function inteiro(interpretador, valorParaConverter) {
541
541
  const resultadoValidacao = validacaoComumNumeros(interpretador, valor);
542
542
  return resultadoValidacao || Promise.resolve(parseInt(valor));
543
543
  }
544
+ /**
545
+ * Cria um vetor com números inteiros no intervalo especificado.
546
+ * O valor inicial é inclusivo e o valor final é exclusivo.
547
+ * @param {InterpretadorInterface} interpretador A instância do interpretador.
548
+ * @param {VariavelInterface | number} valorInicial O valor inicial (inclusivo).
549
+ * @param {VariavelInterface | number} valorFinal O valor final (exclusivo).
550
+ * @returns {Promise<number[]>} Um vetor com os números no intervalo.
551
+ */
552
+ async function intervalo(interpretador, valorInicial, valorFinal) {
553
+ const inicio = interpretador.resolverValor(valorInicial);
554
+ const fim = interpretador.resolverValor(valorFinal);
555
+ if (typeof inicio !== 'number' || typeof fim !== 'number') {
556
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
557
+ hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
558
+ linha: interpretador.linhaDeclaracaoAtual,
559
+ }, 'Os dois parâmetros devem ser do tipo número.'));
560
+ }
561
+ const resultado = [];
562
+ for (let i = inicio; i < fim; i++) {
563
+ resultado.push(i);
564
+ }
565
+ return Promise.resolve(resultado);
566
+ }
544
567
  /**
545
568
  * Dado um vetor e uma função de mapeamento, executa a função de mapeamento
546
569
  * passando como argumento cada elemento do vetor.
@@ -565,8 +588,7 @@ async function mapear(interpretador, vetor, funcaoMapeamento) {
565
588
  linha: interpretador.linhaDeclaracaoAtual,
566
589
  }, 'Parâmetro inválido. O primeiro parâmetro da função mapear() deve ser um vetor.'));
567
590
  }
568
- const nomeConstrutorFuncaoMapeamento = valorFuncaoMapeamento.constructor.name.replaceAll('_', '');
569
- if (nomeConstrutorFuncaoMapeamento !== 'DeleguaFuncao') {
591
+ if (valorFuncaoMapeamento.constructor !== estruturas_1.DeleguaFuncao) {
570
592
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
571
593
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
572
594
  linha: interpretador.linhaDeclaracaoAtual,
@@ -660,7 +682,7 @@ async function paraCada(interpretador, vetor, funcaoFiltragem) {
660
682
  linha: interpretador.linhaDeclaracaoAtual,
661
683
  }, 'Parâmetro inválido. O primeiro parâmetro da função paraCada() deve ser um vetor.'));
662
684
  }
663
- if (valorFuncaoFiltragem.constructor.name !== 'DeleguaFuncao') {
685
+ if (valorFuncaoFiltragem.constructor !== estruturas_1.DeleguaFuncao) {
664
686
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
665
687
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
666
688
  linha: interpretador.linhaDeclaracaoAtual,
@@ -693,7 +715,7 @@ async function primeiroEmCondicao(interpretador, vetor, funcaoFiltragem) {
693
715
  linha: interpretador.linhaDeclaracaoAtual,
694
716
  }, 'Parâmetro inválido. O primeiro parâmetro da função primeiroEmCondicao() deve ser um vetor.'));
695
717
  }
696
- if (valorFuncaoFiltragem.constructor.name !== 'DeleguaFuncao') {
718
+ if (valorFuncaoFiltragem.constructor !== estruturas_1.DeleguaFuncao) {
697
719
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
698
720
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
699
721
  linha: interpretador.linhaDeclaracaoAtual,
@@ -747,7 +769,7 @@ async function reduzir(interpretador, vetor, funcaoReducao, valorInicial = null)
747
769
  linha: interpretador.linhaDeclaracaoAtual,
748
770
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
749
771
  }
750
- if (valorFuncaoReducao.constructor.name !== 'DeleguaFuncao') {
772
+ if (valorFuncaoReducao.constructor !== estruturas_1.DeleguaFuncao) {
751
773
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
752
774
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
753
775
  linha: interpretador.linhaDeclaracaoAtual,
@@ -834,7 +856,7 @@ async function todosEmCondicao(interpretador, vetor, funcaoCondicional) {
834
856
  linha: interpretador.linhaDeclaracaoAtual,
835
857
  }, 'Parâmetro inválido. O primeiro parâmetro da função todosEmCondicao() deve ser um vetor.'));
836
858
  }
837
- if (valorFuncaoCondicional.constructor.name !== 'DeleguaFuncao') {
859
+ if (valorFuncaoCondicional.constructor !== estruturas_1.DeleguaFuncao) {
838
860
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
839
861
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
840
862
  linha: interpretador.linhaDeclaracaoAtual,