@designliquido/delegua 0.49.0 → 0.49.2
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/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +3 -2
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/bibliotecas/biblioteca-global.d.ts.map +1 -1
- package/bibliotecas/biblioteca-global.js +167 -44
- package/bibliotecas/biblioteca-global.js.map +1 -1
- package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
- package/bibliotecas/primitivas-vetor.js +3 -0
- package/bibliotecas/primitivas-vetor.js.map +1 -1
- package/bin/package.json +1 -1
- package/formatadores/formatador-delegua.d.ts.map +1 -1
- package/formatadores/formatador-delegua.js +13 -2
- package/formatadores/formatador-delegua.js.map +1 -1
- package/interfaces/interpretador-interface.d.ts +2 -0
- package/interfaces/interpretador-interface.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +2 -0
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +2 -0
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +2 -0
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
- package/interpretador/interpretador.d.ts.map +1 -1
- package/interpretador/interpretador.js.map +1 -1
- package/package.json +1 -1
- package/umd/delegua.js +186 -48
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/umd/delegua.js
CHANGED
|
@@ -660,7 +660,8 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
660
660
|
continue;
|
|
661
661
|
}
|
|
662
662
|
const tipoArgumentoUtilizado = argumentoUtilizado.tipo.startsWith('funcao') ||
|
|
663
|
-
argumentoUtilizado.tipo.startsWith('função')
|
|
663
|
+
argumentoUtilizado.tipo.startsWith('função') ||
|
|
664
|
+
argumentoUtilizado instanceof construtos_1.FuncaoConstruto
|
|
664
665
|
? 'função'
|
|
665
666
|
: argumentoUtilizado.tipo;
|
|
666
667
|
const tipoArgumentoEntidadeChamada = argumentoEntidadeChamada.tipo.startsWith('funcao') ||
|
|
@@ -1680,7 +1681,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
1680
1681
|
throw this.erro(retornosNaoVazios[0].simboloChave, `Função declara explicitamente 'vazio', mas usa expressão 'retorna' com tipo de retorno diferente de vazio.`);
|
|
1681
1682
|
}
|
|
1682
1683
|
}
|
|
1683
|
-
const tiposRetornos = new Set(expressoesRetorna.map((e) => e.tipo));
|
|
1684
|
+
const tiposRetornos = new Set(expressoesRetorna.filter((e) => e.tipo !== 'qualquer').map((e) => e.tipo));
|
|
1684
1685
|
let retornaChamadoExplicitamente = tiposRetornos.size > 0;
|
|
1685
1686
|
if (tiposRetornos.size > 1 && tipoRetorno !== 'qualquer') {
|
|
1686
1687
|
let tiposEncontrados = Array.from(tiposRetornos).reduce((acumulador, valor) => (acumulador += valor + ', '), '');
|
|
@@ -5326,25 +5327,37 @@ async function aleatorio(interpretador) {
|
|
|
5326
5327
|
*/
|
|
5327
5328
|
async function aleatorioEntre(interpretador, minimo, maximo) {
|
|
5328
5329
|
if (arguments.length <= 0) {
|
|
5329
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5330
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5331
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5332
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5333
|
+
}, 'A função recebe ao menos um parâmetro.'));
|
|
5330
5334
|
}
|
|
5331
5335
|
const valorMinimo = minimo.hasOwnProperty('valor')
|
|
5332
5336
|
? minimo.valor
|
|
5333
5337
|
: minimo;
|
|
5334
5338
|
if (arguments.length === 2) {
|
|
5335
5339
|
if (typeof valorMinimo !== 'number') {
|
|
5336
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5340
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5341
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5342
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5343
|
+
}, 'O parâmetro deve ser um número.'));
|
|
5337
5344
|
}
|
|
5338
5345
|
return Math.floor(Math.random() * (0 - valorMinimo)) + valorMinimo;
|
|
5339
5346
|
}
|
|
5340
5347
|
if (arguments.length > 3) {
|
|
5341
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5348
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5349
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5350
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5351
|
+
}, 'A quantidade de parâmetros máxima para esta função é 2.'));
|
|
5342
5352
|
}
|
|
5343
5353
|
const valorMaximo = maximo.hasOwnProperty('valor')
|
|
5344
5354
|
? maximo.valor
|
|
5345
5355
|
: maximo;
|
|
5346
5356
|
if (typeof valorMinimo !== 'number' || typeof valorMaximo !== 'number') {
|
|
5347
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5357
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5358
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5359
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5360
|
+
}, 'Os dois parâmetros devem ser do tipo número.'));
|
|
5348
5361
|
}
|
|
5349
5362
|
return Promise.resolve(Math.floor(Math.random() * (valorMaximo - valorMinimo)) + valorMinimo);
|
|
5350
5363
|
}
|
|
@@ -5361,10 +5374,16 @@ async function algum(interpretador, vetor, funcaoPesquisa) {
|
|
|
5361
5374
|
? funcaoPesquisa.valor
|
|
5362
5375
|
: funcaoPesquisa;
|
|
5363
5376
|
if (!Array.isArray(valorVetor)) {
|
|
5364
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5377
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5378
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5379
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5380
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
|
|
5365
5381
|
}
|
|
5366
5382
|
if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
|
|
5367
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5383
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5384
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5385
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5386
|
+
}, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
|
|
5368
5387
|
}
|
|
5369
5388
|
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
5370
5389
|
if (await valorFuncaoPesquisa.chamar(interpretador, [valorVetor[indice]])) {
|
|
@@ -5387,10 +5406,16 @@ async function encontrar(interpretador, vetor, funcaoPesquisa) {
|
|
|
5387
5406
|
? funcaoPesquisa.valor
|
|
5388
5407
|
: funcaoPesquisa;
|
|
5389
5408
|
if (!Array.isArray(valorVetor)) {
|
|
5390
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5409
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5410
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5411
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5412
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
|
|
5391
5413
|
}
|
|
5392
5414
|
if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
|
|
5393
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5415
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5416
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5417
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5418
|
+
}, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
|
|
5394
5419
|
}
|
|
5395
5420
|
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
5396
5421
|
if (await valorFuncaoPesquisa.chamar(interpretador, [valorVetor[indice]])) {
|
|
@@ -5413,10 +5438,16 @@ async function encontrarIndice(interpretador, vetor, funcaoPesquisa) {
|
|
|
5413
5438
|
? funcaoPesquisa.valor
|
|
5414
5439
|
: funcaoPesquisa;
|
|
5415
5440
|
if (!Array.isArray(valorVetor)) {
|
|
5416
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5441
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5442
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5443
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5444
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
|
|
5417
5445
|
}
|
|
5418
5446
|
if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
|
|
5419
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5447
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5448
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5449
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5450
|
+
}, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
|
|
5420
5451
|
}
|
|
5421
5452
|
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
5422
5453
|
if (await valorFuncaoPesquisa.chamar(interpretador, [valorVetor[indice]])) {
|
|
@@ -5439,10 +5470,16 @@ async function encontrarUltimo(interpretador, vetor, funcaoPesquisa) {
|
|
|
5439
5470
|
? funcaoPesquisa.valor
|
|
5440
5471
|
: funcaoPesquisa;
|
|
5441
5472
|
if (!Array.isArray(valorVetor)) {
|
|
5442
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5473
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5474
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5475
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5476
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
|
|
5443
5477
|
}
|
|
5444
5478
|
if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
|
|
5445
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5479
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5480
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5481
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5482
|
+
}, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
|
|
5446
5483
|
}
|
|
5447
5484
|
for (let indice = valorVetor.length - 1; indice >= 0; --indice) {
|
|
5448
5485
|
if (await valorFuncaoPesquisa.chamar(interpretador, [valorVetor[indice]])) {
|
|
@@ -5464,10 +5501,16 @@ async function encontrarUltimoIndice(interpretador, vetor, funcaoPesquisa) {
|
|
|
5464
5501
|
? funcaoPesquisa.valor
|
|
5465
5502
|
: funcaoPesquisa;
|
|
5466
5503
|
if (!Array.isArray(valorVetor)) {
|
|
5467
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5504
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5505
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5506
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5507
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
|
|
5468
5508
|
}
|
|
5469
5509
|
if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
|
|
5470
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5510
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5511
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5512
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5513
|
+
}, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
|
|
5471
5514
|
}
|
|
5472
5515
|
for (let indice = valorVetor.length - 1; indice >= 0; --indice) {
|
|
5473
5516
|
if (await valorFuncaoPesquisa.chamar(interpretador, [valorVetor[indice]])) {
|
|
@@ -5485,17 +5528,26 @@ async function encontrarUltimoIndice(interpretador, vetor, funcaoPesquisa) {
|
|
|
5485
5528
|
*/
|
|
5486
5529
|
async function filtrarPor(interpretador, vetor, funcaoFiltragem) {
|
|
5487
5530
|
if (vetor === null || vetor === undefined)
|
|
5488
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5531
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5532
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5533
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5534
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função filtrarPor() não pode ser nulo.'));
|
|
5489
5535
|
const valorVetor = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
|
|
5490
5536
|
const valorFuncaoFiltragem = funcaoFiltragem.hasOwnProperty('valor')
|
|
5491
5537
|
? funcaoFiltragem.valor
|
|
5492
5538
|
: funcaoFiltragem;
|
|
5493
5539
|
if (!Array.isArray(valorVetor)) {
|
|
5494
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5540
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5541
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5542
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5543
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função filtrarPor() deve ser um vetor.'));
|
|
5495
5544
|
}
|
|
5496
5545
|
const construtorResolvido = valorFuncaoFiltragem.constructor.name.replaceAll('_', '');
|
|
5497
5546
|
if (construtorResolvido !== 'DeleguaFuncao') {
|
|
5498
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5547
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5548
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5549
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5550
|
+
}, 'Parâmetro inválido. O segundo parâmetro da função filtrarPor() deve ser uma função.'));
|
|
5499
5551
|
}
|
|
5500
5552
|
const resultados = [];
|
|
5501
5553
|
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
@@ -5519,7 +5571,10 @@ async function incluido(interpretador, vetor, valor) {
|
|
|
5519
5571
|
const valorVetor = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
|
|
5520
5572
|
const valorValor = valor.hasOwnProperty('valor') ? valor.valor : valor;
|
|
5521
5573
|
if (!Array.isArray(valorVetor)) {
|
|
5522
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5574
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5575
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5576
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5577
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
|
|
5523
5578
|
}
|
|
5524
5579
|
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
5525
5580
|
if (valorVetor[indice] == valorValor) {
|
|
@@ -5528,12 +5583,18 @@ async function incluido(interpretador, vetor, valor) {
|
|
|
5528
5583
|
}
|
|
5529
5584
|
return false;
|
|
5530
5585
|
}
|
|
5531
|
-
function validacaoComumNumeros(valorParaConverter) {
|
|
5586
|
+
function validacaoComumNumeros(interpretador, valorParaConverter) {
|
|
5532
5587
|
if (isNaN(valorParaConverter)) {
|
|
5533
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5588
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5589
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5590
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5591
|
+
}, 'Valor não parece ser um número. Somente números ou textos com números podem ser convertidos para inteiro.'));
|
|
5534
5592
|
}
|
|
5535
5593
|
if (!/^(-)?\d+(\.\d+)?$/.test(valorParaConverter)) {
|
|
5536
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5594
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5595
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5596
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5597
|
+
}, 'Valor não parece estar estruturado como um número (texto vazio, falso ou não definido). Somente números ou textos com números podem ser convertidos para inteiro.'));
|
|
5537
5598
|
}
|
|
5538
5599
|
return null;
|
|
5539
5600
|
}
|
|
@@ -5549,7 +5610,7 @@ async function inteiro(interpretador, valorParaConverter) {
|
|
|
5549
5610
|
const valor = valorParaConverter.hasOwnProperty('valor')
|
|
5550
5611
|
? valorParaConverter.valor
|
|
5551
5612
|
: valorParaConverter;
|
|
5552
|
-
const resultadoValidacao = validacaoComumNumeros(valor);
|
|
5613
|
+
const resultadoValidacao = validacaoComumNumeros(interpretador, valor);
|
|
5553
5614
|
return resultadoValidacao || Promise.resolve(parseInt(valor));
|
|
5554
5615
|
}
|
|
5555
5616
|
/**
|
|
@@ -5562,7 +5623,10 @@ async function inteiro(interpretador, valorParaConverter) {
|
|
|
5562
5623
|
*/
|
|
5563
5624
|
async function mapear(interpretador, vetor, funcaoMapeamento) {
|
|
5564
5625
|
if (vetor === null || vetor === undefined)
|
|
5565
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5626
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5627
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5628
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5629
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função mapear() não pode ser nulo.'));
|
|
5566
5630
|
const valorVetor = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
|
|
5567
5631
|
const valorFuncaoMapeamento = funcaoMapeamento.hasOwnProperty('valor')
|
|
5568
5632
|
? funcaoMapeamento.valor
|
|
@@ -5570,11 +5634,17 @@ async function mapear(interpretador, vetor, funcaoMapeamento) {
|
|
|
5570
5634
|
// TODO: As lógicas de validação abaixo deixam de fazer sentido com a validação de argumentos feita
|
|
5571
5635
|
// na avaliação sintática. Estudar remoção.
|
|
5572
5636
|
if (!Array.isArray(valorVetor)) {
|
|
5573
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5637
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5638
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5639
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5640
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função mapear() deve ser um vetor.'));
|
|
5574
5641
|
}
|
|
5575
5642
|
const nomeConstrutorFuncaoMapeamento = valorFuncaoMapeamento.constructor.name.replaceAll('_', '');
|
|
5576
5643
|
if (nomeConstrutorFuncaoMapeamento !== 'DeleguaFuncao') {
|
|
5577
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5644
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5645
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5646
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5647
|
+
}, 'Parâmetro inválido. O segundo parâmetro da função mapear() deve ser uma função.'));
|
|
5578
5648
|
}
|
|
5579
5649
|
const resultados = [];
|
|
5580
5650
|
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
@@ -5594,7 +5664,7 @@ async function numero(interpretador, valorParaConverter) {
|
|
|
5594
5664
|
const valor = valorParaConverter.hasOwnProperty('valor')
|
|
5595
5665
|
? valorParaConverter.valor
|
|
5596
5666
|
: valorParaConverter;
|
|
5597
|
-
const resultadoValidacao = validacaoComumNumeros(valor);
|
|
5667
|
+
const resultadoValidacao = validacaoComumNumeros(interpretador, valor);
|
|
5598
5668
|
return resultadoValidacao || Promise.resolve(Number(valor));
|
|
5599
5669
|
}
|
|
5600
5670
|
/**
|
|
@@ -5604,10 +5674,16 @@ async function numero(interpretador, valorParaConverter) {
|
|
|
5604
5674
|
*/
|
|
5605
5675
|
async function ordenar(interpretador, vetor) {
|
|
5606
5676
|
if (vetor === null || vetor === undefined)
|
|
5607
|
-
throw new excecoes_1.ErroEmTempoDeExecucao(
|
|
5677
|
+
throw new excecoes_1.ErroEmTempoDeExecucao({
|
|
5678
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5679
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5680
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função ordenar() não pode ser nulo.');
|
|
5608
5681
|
const objeto = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
|
|
5609
5682
|
if (!Array.isArray(objeto)) {
|
|
5610
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5683
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5684
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5685
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5686
|
+
}, 'Valor inválido. Objeto inserido não é um vetor.'));
|
|
5611
5687
|
}
|
|
5612
5688
|
let trocado;
|
|
5613
5689
|
const tamanho = objeto.length;
|
|
@@ -5631,7 +5707,10 @@ async function ordenar(interpretador, vetor) {
|
|
|
5631
5707
|
*/
|
|
5632
5708
|
async function paraCada(interpretador, vetor, funcaoFiltragem) {
|
|
5633
5709
|
if (vetor === null || vetor === undefined)
|
|
5634
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5710
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5711
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5712
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5713
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função paraCada() não pode ser nulo.'));
|
|
5635
5714
|
const valorVetor = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
|
|
5636
5715
|
const valorFuncaoFiltragem = funcaoFiltragem.hasOwnProperty('valor')
|
|
5637
5716
|
? funcaoFiltragem.valor
|
|
@@ -5639,10 +5718,16 @@ async function paraCada(interpretador, vetor, funcaoFiltragem) {
|
|
|
5639
5718
|
// TODO: As lógicas de validação abaixo deixam de fazer sentido com a validação de argumentos feita
|
|
5640
5719
|
// na avaliação sintática. Estudar remoção.
|
|
5641
5720
|
if (!Array.isArray(valorVetor)) {
|
|
5642
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5721
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5722
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5723
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5724
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função paraCada() deve ser um vetor.'));
|
|
5643
5725
|
}
|
|
5644
5726
|
if (valorFuncaoFiltragem.constructor.name !== 'DeleguaFuncao') {
|
|
5645
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5727
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5728
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5729
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5730
|
+
}, 'Parâmetro inválido. O segundo parâmetro da função paraCada() deve ser uma função.'));
|
|
5646
5731
|
}
|
|
5647
5732
|
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
5648
5733
|
await valorFuncaoFiltragem.chamar(interpretador, [valorVetor[indice]]);
|
|
@@ -5657,16 +5742,25 @@ async function paraCada(interpretador, vetor, funcaoFiltragem) {
|
|
|
5657
5742
|
*/
|
|
5658
5743
|
async function primeiroEmCondicao(interpretador, vetor, funcaoFiltragem) {
|
|
5659
5744
|
if (vetor === null || vetor === undefined)
|
|
5660
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5745
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5746
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5747
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5748
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função primeiroEmCondicao() não pode ser nulo.'));
|
|
5661
5749
|
const valorVetor = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
|
|
5662
5750
|
const valorFuncaoFiltragem = funcaoFiltragem.hasOwnProperty('valor')
|
|
5663
5751
|
? funcaoFiltragem.valor
|
|
5664
5752
|
: funcaoFiltragem;
|
|
5665
5753
|
if (!Array.isArray(valorVetor)) {
|
|
5666
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5754
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5755
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5756
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5757
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função primeiroEmCondicao() deve ser um vetor.'));
|
|
5667
5758
|
}
|
|
5668
5759
|
if (valorFuncaoFiltragem.constructor.name !== 'DeleguaFuncao') {
|
|
5669
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5760
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5761
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5762
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5763
|
+
}, 'Parâmetro inválido. O segundo parâmetro da função primeiroEmCondicao() deve ser uma função.'));
|
|
5670
5764
|
}
|
|
5671
5765
|
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
5672
5766
|
const valorResolvido = await valorFuncaoFiltragem.chamar(interpretador, [
|
|
@@ -5689,7 +5783,10 @@ async function real(interpretador, numero) {
|
|
|
5689
5783
|
return Promise.resolve(parseFloat('0'));
|
|
5690
5784
|
const valor = numero.hasOwnProperty('valor') ? numero.valor : numero;
|
|
5691
5785
|
if (!/^(-)?\d+(\.\d+)?$/.test(valor)) {
|
|
5692
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5786
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5787
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5788
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5789
|
+
}, 'Valor não parece estar estruturado como um número (texto/valor vazio, falso ou não definido). Somente números ou textos com números podem ser convertidos para real.'));
|
|
5693
5790
|
}
|
|
5694
5791
|
return Promise.resolve(parseFloat(valor));
|
|
5695
5792
|
}
|
|
@@ -5708,10 +5805,16 @@ async function reduzir(interpretador, vetor, funcaoReducao, valorInicial = null)
|
|
|
5708
5805
|
: funcaoReducao;
|
|
5709
5806
|
const valorPadrao = valorInicial.hasOwnProperty('valor') ? valorInicial.valor : valorInicial;
|
|
5710
5807
|
if (!Array.isArray(valorVetor)) {
|
|
5711
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5808
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5809
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5810
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5811
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
|
|
5712
5812
|
}
|
|
5713
5813
|
if (valorFuncaoReducao.constructor.name !== 'DeleguaFuncao') {
|
|
5714
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5814
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5815
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5816
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5817
|
+
}, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
|
|
5715
5818
|
}
|
|
5716
5819
|
let resultado = valorPadrao;
|
|
5717
5820
|
let inicio = 0;
|
|
@@ -5732,10 +5835,16 @@ async function reduzir(interpretador, vetor, funcaoReducao, valorInicial = null)
|
|
|
5732
5835
|
async function tamanho(interpretador, objeto) {
|
|
5733
5836
|
const valorObjeto = objeto.hasOwnProperty('valor') ? objeto.valor : objeto;
|
|
5734
5837
|
if (typeof valorObjeto === 'number') {
|
|
5735
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5838
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5839
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5840
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5841
|
+
}, 'Função global tamanho() não funciona com números.'));
|
|
5736
5842
|
}
|
|
5737
5843
|
if (valorObjeto instanceof objeto_delegua_classe_1.ObjetoDeleguaClasse) {
|
|
5738
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5844
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5845
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5846
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5847
|
+
}, 'Função global tamanho não funciona com objetos complexos.'));
|
|
5739
5848
|
}
|
|
5740
5849
|
if (valorObjeto instanceof estruturas_1.DeleguaFuncao) {
|
|
5741
5850
|
return Promise.resolve(valorObjeto.declaracao.parametros.length);
|
|
@@ -5774,16 +5883,25 @@ async function texto(interpretador, valorParaConverter) {
|
|
|
5774
5883
|
*/
|
|
5775
5884
|
async function todosEmCondicao(interpretador, vetor, funcaoCondicional) {
|
|
5776
5885
|
if (vetor === null || vetor === undefined)
|
|
5777
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5886
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5887
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5888
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5889
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função todosEmCondicao() não pode ser nulo.'));
|
|
5778
5890
|
const valorVetor = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
|
|
5779
5891
|
const valorFuncaoCondicional = funcaoCondicional.hasOwnProperty('valor')
|
|
5780
5892
|
? funcaoCondicional.valor
|
|
5781
5893
|
: funcaoCondicional;
|
|
5782
5894
|
if (!Array.isArray(valorVetor)) {
|
|
5783
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5895
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5896
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5897
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5898
|
+
}, 'Parâmetro inválido. O primeiro parâmetro da função todosEmCondicao() deve ser um vetor.'));
|
|
5784
5899
|
}
|
|
5785
5900
|
if (valorFuncaoCondicional.constructor.name !== 'DeleguaFuncao') {
|
|
5786
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5901
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5902
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5903
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5904
|
+
}, 'Parâmetro inválido. O segundo parâmetro da função todosEmCondicao() deve ser uma função.'));
|
|
5787
5905
|
}
|
|
5788
5906
|
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
5789
5907
|
if (!(await valorFuncaoCondicional.chamar(interpretador, [valorVetor[indice]])))
|
|
@@ -5803,7 +5921,10 @@ async function tupla(interpretador, vetor) {
|
|
|
5803
5921
|
// TODO: As lógicas de validação abaixo deixam de fazer sentido com a validação de argumentos feita
|
|
5804
5922
|
// na avaliação sintática. Estudar remoção.
|
|
5805
5923
|
if (!Array.isArray(valorVetor)) {
|
|
5806
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5924
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5925
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5926
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5927
|
+
}, 'Argumento de função nativa `tupla` não parece ser um vetor.'));
|
|
5807
5928
|
}
|
|
5808
5929
|
switch (valorVetor.length) {
|
|
5809
5930
|
case 2:
|
|
@@ -5826,7 +5947,10 @@ async function tupla(interpretador, vetor) {
|
|
|
5826
5947
|
return Promise.resolve(new construtos_1.Deceto(valorVetor[0], valorVetor[1], valorVetor[2], valorVetor[3], valorVetor[4], valorVetor[5], valorVetor[6], valorVetor[7], valorVetor[8], valorVetor[9]));
|
|
5827
5948
|
case 1:
|
|
5828
5949
|
default:
|
|
5829
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
5950
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
5951
|
+
hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
|
|
5952
|
+
linha: interpretador.linhaDeclaracaoAtual
|
|
5953
|
+
}, 'Para ser transformado em uma tupla, vetor precisa ter de 2 a 10 elementos.'));
|
|
5830
5954
|
}
|
|
5831
5955
|
}
|
|
5832
5956
|
|
|
@@ -6156,6 +6280,9 @@ exports.default = {
|
|
|
6156
6280
|
],
|
|
6157
6281
|
implementacao: (interpretador, nomePrimitiva, vetor, elemento) => {
|
|
6158
6282
|
vetor.push(elemento);
|
|
6283
|
+
interpretador.pilhaEscoposExecucao.atribuirVariavel({
|
|
6284
|
+
lexema: nomePrimitiva,
|
|
6285
|
+
}, vetor);
|
|
6159
6286
|
return Promise.resolve(vetor);
|
|
6160
6287
|
},
|
|
6161
6288
|
assinaturaFormato: 'vetor.adicionar(...elemento: qualquer)',
|
|
@@ -8312,7 +8439,8 @@ class FormatadorDelegua {
|
|
|
8312
8439
|
this.visitarExpressaoBinaria(expressao.valor);
|
|
8313
8440
|
}
|
|
8314
8441
|
else {
|
|
8315
|
-
this.
|
|
8442
|
+
this.formatarDeclaracaoOuConstruto(expressao.alvo);
|
|
8443
|
+
this.codigoFormatado += ` = `;
|
|
8316
8444
|
this.formatarDeclaracaoOuConstruto(expressao.valor);
|
|
8317
8445
|
}
|
|
8318
8446
|
this.codigoFormatado += `${this.quebraLinha}`;
|
|
@@ -8657,7 +8785,11 @@ class FormatadorDelegua {
|
|
|
8657
8785
|
if (expressao.parametros.length > 0) {
|
|
8658
8786
|
this.codigoFormatado = this.codigoFormatado.slice(0, -2);
|
|
8659
8787
|
}
|
|
8660
|
-
this.codigoFormatado += `)
|
|
8788
|
+
this.codigoFormatado += `)`;
|
|
8789
|
+
if (expressao.tipoExplicito && expressao.tipo) {
|
|
8790
|
+
this.codigoFormatado += `: ${expressao.tipo}`;
|
|
8791
|
+
}
|
|
8792
|
+
this.codigoFormatado += ' ';
|
|
8661
8793
|
this.formatarBlocoOuVetorDeclaracoes(expressao.corpo);
|
|
8662
8794
|
}
|
|
8663
8795
|
visitarExpressaoIsto(expressao) {
|
|
@@ -8730,6 +8862,12 @@ class FormatadorDelegua {
|
|
|
8730
8862
|
case delegua_1.default.DECREMENTAR:
|
|
8731
8863
|
operador = `--`;
|
|
8732
8864
|
break;
|
|
8865
|
+
case delegua_1.default.NEGACAO:
|
|
8866
|
+
operador = `!`;
|
|
8867
|
+
break;
|
|
8868
|
+
case delegua_1.default.SUBTRACAO:
|
|
8869
|
+
operador = `-`;
|
|
8870
|
+
break;
|
|
8733
8871
|
}
|
|
8734
8872
|
switch (expressao.incidenciaOperador) {
|
|
8735
8873
|
case 'ANTES':
|