@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.
- package/analisador-semantico/analisador-semantico-base.d.ts +2 -1
- package/analisador-semantico/analisador-semantico-base.d.ts.map +1 -1
- package/analisador-semantico/analisador-semantico-base.js +3 -0
- package/analisador-semantico/analisador-semantico-base.js.map +1 -1
- package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
- package/analisador-semantico/analisador-semantico.js +22 -24
- package/analisador-semantico/analisador-semantico.js.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +16 -12
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/comum.js +11 -10
- package/avaliador-sintatico/comum.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +8 -7
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +139 -90
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +32 -34
- package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
- package/bibliotecas/biblioteca-global.d.ts +9 -0
- package/bibliotecas/biblioteca-global.d.ts.map +1 -1
- package/bibliotecas/biblioteca-global.js +35 -13
- package/bibliotecas/biblioteca-global.js.map +1 -1
- package/bibliotecas/dialetos/egua-classico/biblioteca-global.js +10 -10
- package/bibliotecas/dialetos/egua-classico/biblioteca-global.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts +9 -0
- package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/biblioteca-global.js +33 -11
- package/bibliotecas/dialetos/pitugues/biblioteca-global.js.map +1 -1
- package/bin/package.json +1 -1
- package/construtos/funcao.d.ts +3 -2
- package/construtos/funcao.d.ts.map +1 -1
- package/construtos/funcao.js +1 -0
- package/construtos/funcao.js.map +1 -1
- package/construtos/isto.d.ts +4 -4
- package/construtos/isto.d.ts.map +1 -1
- package/construtos/isto.js +2 -2
- package/construtos/isto.js.map +1 -1
- package/declaracoes/escreva.d.ts +2 -1
- package/declaracoes/escreva.d.ts.map +1 -1
- package/declaracoes/escreva.js.map +1 -1
- package/declaracoes/index.d.ts +1 -0
- package/declaracoes/index.d.ts.map +1 -1
- package/declaracoes/index.js +1 -0
- package/declaracoes/index.js.map +1 -1
- package/declaracoes/texto-documentacao.d.ts +12 -0
- package/declaracoes/texto-documentacao.d.ts.map +1 -0
- package/declaracoes/texto-documentacao.js +21 -0
- package/declaracoes/texto-documentacao.js.map +1 -0
- package/formatadores/formatador-delegua.d.ts +2 -1
- package/formatadores/formatador-delegua.d.ts.map +1 -1
- package/formatadores/formatador-delegua.js +4 -1
- package/formatadores/formatador-delegua.js.map +1 -1
- package/formatadores/formatador-pitugues.d.ts +70 -60
- package/formatadores/formatador-pitugues.d.ts.map +1 -1
- package/formatadores/formatador-pitugues.js +390 -227
- package/formatadores/formatador-pitugues.js.map +1 -1
- package/interfaces/visitante-comum-interface.d.ts +2 -1
- package/interfaces/visitante-comum-interface.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +2 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +4 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +2 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +7 -4
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
- package/interpretador/dialetos/pitugues/comum.js +13 -13
- package/interpretador/dialetos/pitugues/comum.js.map +1 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +2 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +3 -0
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
- package/interpretador/estruturas/delegua-funcao.d.ts.map +1 -1
- package/interpretador/estruturas/delegua-funcao.js.map +1 -1
- package/interpretador/estruturas/metodo-primitiva.d.ts +3 -1
- package/interpretador/estruturas/metodo-primitiva.d.ts.map +1 -1
- package/interpretador/estruturas/metodo-primitiva.js +5 -2
- package/interpretador/estruturas/metodo-primitiva.js.map +1 -1
- package/interpretador/interpretador-base.d.ts +5 -4
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +60 -26
- package/interpretador/interpretador-base.js.map +1 -1
- package/interpretador/interpretador.d.ts.map +1 -1
- package/interpretador/interpretador.js +21 -19
- package/interpretador/interpretador.js.map +1 -1
- package/package.json +1 -1
- package/tradutores/tradutor-assembly-x64.d.ts +78 -3
- package/tradutores/tradutor-assembly-x64.d.ts.map +1 -1
- package/tradutores/tradutor-assembly-x64.js +562 -73
- package/tradutores/tradutor-assembly-x64.js.map +1 -1
- 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
|
|
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
|
|
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
|
|
529
|
-
case
|
|
528
|
+
switch (expressao.constructor) {
|
|
529
|
+
case construtos_1.Variavel:
|
|
530
530
|
return new construtos_1.Atribuir(this.hashArquivo, expressao, valor);
|
|
531
|
-
case
|
|
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
|
|
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
|
|
634
|
-
case
|
|
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
|
|
780
|
-
case
|
|
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
|
|
782
|
+
case construtos_1.Chamada:
|
|
785
783
|
const entidadeChamadaChamada = inicializador.entidadeChamada;
|
|
786
|
-
switch (entidadeChamadaChamada.constructor
|
|
787
|
-
case
|
|
784
|
+
switch (entidadeChamadaChamada.constructor) {
|
|
785
|
+
case construtos_1.AcessoMetodo:
|
|
788
786
|
const entidadeChamadaAcessoMetodo = entidadeChamadaChamada;
|
|
789
787
|
return entidadeChamadaAcessoMetodo.tipoRetornoMetodo;
|
|
790
|
-
case
|
|
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
|
|
797
|
+
case construtos_1.AcessoPropriedade:
|
|
800
798
|
const entidadeChamadaAcessoPropriedade = entidadeChamadaChamada;
|
|
801
799
|
return entidadeChamadaAcessoPropriedade.tipoRetornoPropriedade;
|
|
802
|
-
case
|
|
800
|
+
case construtos_1.ArgumentoReferenciaFuncao:
|
|
803
801
|
// TODO: Voltar aqui se necessário.
|
|
804
802
|
return 'qualquer';
|
|
805
|
-
case
|
|
803
|
+
case construtos_1.ReferenciaFuncao:
|
|
806
804
|
const entidadeChamadaReferenciaFuncao = entidadeChamadaChamada;
|
|
807
805
|
return entidadeChamadaReferenciaFuncao.tipo;
|
|
808
|
-
case
|
|
806
|
+
case construtos_1.Variavel:
|
|
809
807
|
const entidadeChamadaVariavel = entidadeChamadaChamada;
|
|
810
808
|
return entidadeChamadaVariavel.tipo;
|
|
811
809
|
}
|
|
812
810
|
break;
|
|
813
|
-
case
|
|
811
|
+
case construtos_1.FuncaoConstruto:
|
|
814
812
|
const funcaoConstruto = inicializador;
|
|
815
813
|
return `função<${funcaoConstruto.tipo}>`;
|
|
816
|
-
case
|
|
814
|
+
case construtos_1.Leia:
|
|
817
815
|
return 'texto';
|
|
818
|
-
case
|
|
819
|
-
case
|
|
820
|
-
case
|
|
821
|
-
case
|
|
822
|
-
case
|
|
823
|
-
case
|
|
824
|
-
case
|
|
825
|
-
case
|
|
826
|
-
case
|
|
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
|
|
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":"AAIA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAWH,KAAK,EACR,MAAM,eAAe,CAAC;AAKvB;;;GAGG;AACH,wBAAsB,SAAS,CAAC,aAAa,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAChC,aAAa,EAAE,sBAAsB,EACrC,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAClC,MAAM,EAAE,iBAAiB,GAAG,MAAM,GACnC,OAAO,CAAC,MAAM,CAAC,CA8DjB;AAED;;;;;;GAMG;AACH,wBAAsB,KAAK,CACvB,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,cAAc,EAAE,iBAAiB,GAAG,GAAG,GACxC,OAAO,CAAC,OAAO,CAAC,CAsClB;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CACxB,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,GAC/B,OAAO,CAAC,GAAG,CAAC,CAoRd;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC3B,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,cAAc,EAAE,iBAAiB,GAAG,GAAG,GACxC,OAAO,CAAC,GAAG,CAAC,CAsCd;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACjC,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,cAAc,EAAE,iBAAiB,GAAG,GAAG,GACxC,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACjC,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,cAAc,EAAE,iBAAiB,GAAG,GAAG,GACxC,OAAO,CAAC,GAAG,CAAC,CAsCd;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACvC,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,cAAc,EAAE,iBAAiB,GAAG,GAAG,GACxC,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC5B,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,eAAe,EAAE,iBAAiB,GAAG,GAAG,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|