@designliquido/delegua 0.11.2 → 0.11.4
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/bin/package.json +3 -3
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +1 -7
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.d.ts +8 -6
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js +30 -5
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js.map +1 -1
- package/fontes/bibliotecas/biblioteca-global.js +184 -26
- package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
- package/fontes/construtos/construto.d.ts +2 -1
- package/fontes/construtos/formatacao-escrita.d.ts +16 -0
- package/fontes/construtos/formatacao-escrita.js +22 -0
- package/fontes/construtos/formatacao-escrita.js.map +1 -0
- package/fontes/construtos/index.d.ts +1 -0
- package/fontes/construtos/index.js +1 -0
- package/fontes/construtos/index.js.map +1 -1
- package/fontes/declaracoes/escreva-mesma-linha.d.ts +8 -0
- package/fontes/declaracoes/escreva-mesma-linha.js +15 -0
- package/fontes/declaracoes/escreva-mesma-linha.js.map +1 -0
- package/fontes/declaracoes/index.d.ts +1 -0
- package/fontes/declaracoes/index.js +1 -0
- package/fontes/declaracoes/index.js.map +1 -1
- package/fontes/delegua.js +4 -4
- package/fontes/delegua.js.map +1 -1
- package/fontes/interfaces/interpretador-interface.d.ts +4 -0
- package/fontes/interfaces/resolvedor-interface.d.ts +3 -3
- package/fontes/interpretador/dialetos/egua-classico/index.d.ts +1 -0
- package/fontes/{resolvedor/dialetos → interpretador/dialetos/egua-classico}/index.js +1 -1
- package/fontes/interpretador/dialetos/egua-classico/index.js.map +1 -0
- package/fontes/interpretador/dialetos/{egua-classico.d.ts → egua-classico/interpretador-egua-classico.d.ts} +13 -11
- package/fontes/interpretador/dialetos/{egua-classico.js → egua-classico/interpretador-egua-classico.js} +29 -22
- package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -0
- package/fontes/{resolvedor → interpretador/dialetos/egua-classico/resolvedor}/erro-resolvedor.d.ts +1 -1
- package/fontes/{resolvedor → interpretador/dialetos/egua-classico/resolvedor}/erro-resolvedor.js +0 -0
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.js.map +1 -0
- package/fontes/{resolvedor → interpretador/dialetos/egua-classico/resolvedor}/index.d.ts +0 -0
- package/fontes/{resolvedor → interpretador/dialetos/egua-classico/resolvedor}/index.js +0 -0
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/index.js.map +1 -0
- package/fontes/{resolvedor → interpretador/dialetos/egua-classico/resolvedor}/pilha-escopos.d.ts +1 -1
- package/fontes/{resolvedor → interpretador/dialetos/egua-classico/resolvedor}/pilha-escopos.js +0 -0
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.js.map +1 -0
- package/fontes/{resolvedor/dialetos/egua-classico.d.ts → interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts} +13 -11
- package/fontes/{resolvedor/dialetos/egua-classico.js → interpretador/dialetos/egua-classico/resolvedor/resolvedor.js} +9 -3
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -0
- package/fontes/{resolvedor → interpretador/dialetos/egua-classico/resolvedor}/retorno-resolvedor.d.ts +1 -1
- package/fontes/{resolvedor → interpretador/dialetos/egua-classico/resolvedor}/retorno-resolvedor.js +0 -0
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.js.map +1 -0
- package/fontes/interpretador/dialetos/index.d.ts +1 -0
- package/fontes/interpretador/dialetos/index.js +1 -0
- package/fontes/interpretador/dialetos/index.js.map +1 -1
- package/fontes/interpretador/dialetos/visualg.d.ts +27 -0
- package/fontes/interpretador/dialetos/visualg.js +60 -0
- package/fontes/interpretador/dialetos/visualg.js.map +1 -0
- package/fontes/interpretador/interpretador.d.ts +11 -2
- package/fontes/interpretador/interpretador.js +47 -11
- package/fontes/interpretador/interpretador.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-egua-classico.d.ts +3 -0
- package/fontes/lexador/dialetos/lexador-egua-classico.js +3 -0
- package/fontes/lexador/dialetos/lexador-egua-classico.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-visualg.d.ts +4 -2
- package/fontes/lexador/dialetos/lexador-visualg.js +8 -11
- package/fontes/lexador/dialetos/lexador-visualg.js.map +1 -1
- package/fontes/lexador/lexador-base-linha-unica.d.ts +0 -6
- package/fontes/lexador/lexador-base-linha-unica.js +1 -9
- package/fontes/lexador/lexador-base-linha-unica.js.map +1 -1
- package/package.json +3 -3
- package/fontes/interpretador/dialetos/egua-classico.js.map +0 -1
- package/fontes/resolvedor/dialetos/egua-classico.js.map +0 -1
- package/fontes/resolvedor/dialetos/index.d.ts +0 -1
- package/fontes/resolvedor/dialetos/index.js.map +0 -1
- package/fontes/resolvedor/erro-resolvedor.js.map +0 -1
- package/fontes/resolvedor/index.js.map +0 -1
- package/fontes/resolvedor/pilha-escopos.js.map +0 -1
- package/fontes/resolvedor/retorno-resolvedor.js.map +0 -1
package/bin/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.3",
|
|
4
4
|
"description": "Linguagem de programação simples e moderna usando português estruturado, com suporte a múltiplos dialetos",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"lair": "ts-node execucao.ts",
|
|
10
10
|
"publicar-docs": "yarn gerar-documentacao-tecnica && copyfiles -V ./recursos/**/* ./docs && gh-pages -d docs",
|
|
11
11
|
"publicar-npm": "npm publish ./dist --access public",
|
|
12
|
-
"testes": "./bin/delegua-ts testes/exemplos/testes.egua",
|
|
12
|
+
"testes:egua": "./bin/delegua-ts testes/exemplos/testes.egua",
|
|
13
13
|
"testes:delegua:bhaskara": "./bin/delegua-ts testes/exemplos/dialetos/egua-classico/bhaskara.egua",
|
|
14
14
|
"testes:delegua:fibonacci": "./bin/delegua-ts testes/exemplos/dialetos/egua-classico/fibonacci.egua",
|
|
15
15
|
"testes:egua-classico": "./bin/delegua-ts --dialeto egua testes/exemplos/dialetos/egua-classico/testes.egua",
|
|
16
16
|
"testes:servidor-depuracao": "ts-node ./fontes/depuracao/servidor-depuracao.ts",
|
|
17
17
|
"testes-unitarios": "jest --coverage",
|
|
18
|
-
"testes-unitarios:insignias": "yarn
|
|
18
|
+
"testes-unitarios:insignias": "yarn jest-coverage-badges --output './recursos/imagens'",
|
|
19
19
|
"observar-testes-unitarios": "jest --watchAll",
|
|
20
20
|
"observar-testes-unitarios-com-coverage": "jest --coverage --watchAll",
|
|
21
21
|
"lint": "eslint . --ext .ts",
|
|
@@ -385,9 +385,7 @@ class AvaliadorSintaticoEguaP {
|
|
|
385
385
|
return declaracoes;
|
|
386
386
|
}
|
|
387
387
|
declaracaoSe() {
|
|
388
|
-
this.consumir(eguap_1.default.PARENTESE_ESQUERDO, "Esperado '(' após 'se'.");
|
|
389
388
|
const condicao = this.expressao();
|
|
390
|
-
this.consumir(eguap_1.default.PARENTESE_DIREITO, "Esperado ')' após condição do se.");
|
|
391
389
|
const caminhoEntao = this.resolverDeclaracao();
|
|
392
390
|
const caminhosSeSenao = [];
|
|
393
391
|
// TODO: `senãose` não existe na língua portuguesa, e a forma separada, `senão se`,
|
|
@@ -419,9 +417,7 @@ class AvaliadorSintaticoEguaP {
|
|
|
419
417
|
declaracaoEnquanto() {
|
|
420
418
|
try {
|
|
421
419
|
this.blocos += 1;
|
|
422
|
-
this.consumir(eguap_1.default.PARENTESE_ESQUERDO, "Esperado '(' após 'enquanto'.");
|
|
423
420
|
const condicao = this.expressao();
|
|
424
|
-
this.consumir(eguap_1.default.PARENTESE_DIREITO, "Esperado ')' após condicional.");
|
|
425
421
|
const corpo = this.resolverDeclaracao();
|
|
426
422
|
return new declaracoes_1.Enquanto(condicao, corpo);
|
|
427
423
|
}
|
|
@@ -433,7 +429,6 @@ class AvaliadorSintaticoEguaP {
|
|
|
433
429
|
try {
|
|
434
430
|
const simboloPara = this.simboloAnterior();
|
|
435
431
|
this.blocos += 1;
|
|
436
|
-
this.consumir(eguap_1.default.PARENTESE_ESQUERDO, "Esperado '(' após 'para'.");
|
|
437
432
|
let inicializador;
|
|
438
433
|
if (this.verificarSeSimboloAtualEIgualA(eguap_1.default.PONTO_E_VIRGULA)) {
|
|
439
434
|
inicializador = null;
|
|
@@ -452,7 +447,6 @@ class AvaliadorSintaticoEguaP {
|
|
|
452
447
|
if (!this.verificarTipoSimboloAtual(eguap_1.default.PARENTESE_DIREITO)) {
|
|
453
448
|
incrementar = this.expressao();
|
|
454
449
|
}
|
|
455
|
-
this.consumir(eguap_1.default.PARENTESE_DIREITO, "Esperado ')' após cláusulas");
|
|
456
450
|
const corpo = this.resolverDeclaracao();
|
|
457
451
|
return new declaracoes_1.Para(this.hashArquivo, Number(simboloPara.linha), inicializador, condicao, incrementar, corpo);
|
|
458
452
|
}
|
|
@@ -551,7 +545,7 @@ class AvaliadorSintaticoEguaP {
|
|
|
551
545
|
}
|
|
552
546
|
let blocoSenao = null;
|
|
553
547
|
if (this.verificarSeSimboloAtualEIgualA(eguap_1.default.SENAO, eguap_1.default.SENÃO)) {
|
|
554
|
-
this.consumir(eguap_1.default.DOIS_PONTOS, "Esperado ':' após a declaração '
|
|
548
|
+
this.consumir(eguap_1.default.DOIS_PONTOS, "Esperado ':' após a declaração 'senão'.");
|
|
555
549
|
blocoSenao = this.blocoEscopo();
|
|
556
550
|
}
|
|
557
551
|
let blocoFinalmente = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-eguap.js","sourceRoot":"","sources":["../../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-eguap.js","sourceRoot":"","sources":["../../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { RetornoLexador, RetornoAvaliadorSintatico } from '../../interfaces/retornos';
|
|
2
2
|
import { AvaliadorSintaticoBase } from '../avaliador-sintatico-base';
|
|
3
|
-
import { Declaracao, Enquanto, Escolha, Escreva, Fazer, Leia, Para, Se } from '../../declaracoes';
|
|
3
|
+
import { Declaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Fazer, Leia, Para, Se } from '../../declaracoes';
|
|
4
4
|
import { Construto, FuncaoConstruto } from '../../construtos';
|
|
5
5
|
export declare class AvaliadorSintaticoVisuAlg extends AvaliadorSintaticoBase {
|
|
6
|
-
validarSegmentoAlgoritmo
|
|
7
|
-
criarVetorNDimensional
|
|
8
|
-
validarDimensoesVetor
|
|
6
|
+
private validarSegmentoAlgoritmo;
|
|
7
|
+
private criarVetorNDimensional;
|
|
8
|
+
private validarDimensoesVetor;
|
|
9
9
|
/**
|
|
10
10
|
* Validação do segmento de declaração de variáveis (opcional).
|
|
11
11
|
* @returns Vetor de Construtos para inicialização de variáveis.
|
|
12
12
|
*/
|
|
13
|
-
validarSegmentoVar
|
|
14
|
-
validarSegmentoInicio
|
|
13
|
+
private validarSegmentoVar;
|
|
14
|
+
private validarSegmentoInicio;
|
|
15
15
|
estaNoFinal(): boolean;
|
|
16
16
|
metodoBibliotecaGlobal(): Construto;
|
|
17
17
|
primario(): Construto;
|
|
@@ -28,7 +28,9 @@ export declare class AvaliadorSintaticoVisuAlg extends AvaliadorSintaticoBase {
|
|
|
28
28
|
declaracaoEnquanto(): Enquanto;
|
|
29
29
|
private logicaCasosEscolha;
|
|
30
30
|
declaracaoEscolha(): Escolha;
|
|
31
|
+
private logicaComumEscreva;
|
|
31
32
|
declaracaoEscreva(): Escreva;
|
|
33
|
+
declaracaoEscrevaMesmaLinha(): EscrevaMesmaLinha;
|
|
32
34
|
/**
|
|
33
35
|
* Criação de declaração "repita".
|
|
34
36
|
* @returns Um construto do tipo Fazer
|
|
@@ -265,13 +265,38 @@ class AvaliadorSintaticoVisuAlg extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
265
265
|
this.consumir(visualg_1.default.QUEBRA_LINHA, "Esperado quebra de linha após palavra-chave 'fimescolha'.");
|
|
266
266
|
return new declaracoes_1.Escolha(identificador, caminhos, caminhoPadrao);
|
|
267
267
|
}
|
|
268
|
-
|
|
269
|
-
const simboloAtual = this.avancarEDevolverAnterior();
|
|
268
|
+
logicaComumEscreva() {
|
|
270
269
|
this.consumir(visualg_1.default.PARENTESE_ESQUERDO, "Esperado '(' antes dos valores em escreva.");
|
|
271
|
-
const
|
|
270
|
+
const argumentos = [];
|
|
271
|
+
do {
|
|
272
|
+
const valor = this.declaracao();
|
|
273
|
+
let espacos = 0;
|
|
274
|
+
let casasDecimais = 0;
|
|
275
|
+
if (this.verificarSeSimboloAtualEIgualA(visualg_1.default.DOIS_PONTOS)) {
|
|
276
|
+
// Espaços
|
|
277
|
+
const simboloEspacos = this.consumir(visualg_1.default.NUMERO, "Esperado número após sinal de dois-pontos após identificador como argumento.");
|
|
278
|
+
espacos = Number(simboloEspacos.lexema) - 1;
|
|
279
|
+
}
|
|
280
|
+
if (this.verificarSeSimboloAtualEIgualA(visualg_1.default.DOIS_PONTOS)) {
|
|
281
|
+
// Casas decimais
|
|
282
|
+
const simboloCasasDecimais = this.consumir(visualg_1.default.NUMERO, "Esperado número após segundo sinal de dois-pontos após identificador como argumento.");
|
|
283
|
+
casasDecimais = Number(simboloCasasDecimais.lexema);
|
|
284
|
+
}
|
|
285
|
+
argumentos.push(new construtos_1.FormatacaoEscrita(-1, -1, valor, espacos, casasDecimais));
|
|
286
|
+
} while (this.verificarSeSimboloAtualEIgualA(visualg_1.default.VIRGULA));
|
|
272
287
|
this.consumir(visualg_1.default.PARENTESE_DIREITO, "Esperado ')' após os valores em escreva.");
|
|
273
288
|
this.consumir(visualg_1.default.QUEBRA_LINHA, "Esperado quebra de linha após fechamento de parênteses pós instrução 'escreva'.");
|
|
274
|
-
return
|
|
289
|
+
return argumentos;
|
|
290
|
+
}
|
|
291
|
+
declaracaoEscreva() {
|
|
292
|
+
const simboloAtual = this.avancarEDevolverAnterior();
|
|
293
|
+
const argumentos = this.logicaComumEscreva();
|
|
294
|
+
return new declaracoes_1.Escreva(Number(simboloAtual.linha), -1, argumentos);
|
|
295
|
+
}
|
|
296
|
+
declaracaoEscrevaMesmaLinha() {
|
|
297
|
+
const simboloAtual = this.avancarEDevolverAnterior();
|
|
298
|
+
const argumentos = this.logicaComumEscreva();
|
|
299
|
+
return new declaracoes_1.EscrevaMesmaLinha(Number(simboloAtual.linha), -1, argumentos);
|
|
275
300
|
}
|
|
276
301
|
/**
|
|
277
302
|
* Criação de declaração "repita".
|
|
@@ -359,6 +384,7 @@ class AvaliadorSintaticoVisuAlg extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
359
384
|
case visualg_1.default.ESCOLHA:
|
|
360
385
|
return this.declaracaoEscolha();
|
|
361
386
|
case visualg_1.default.ESCREVA:
|
|
387
|
+
return this.declaracaoEscrevaMesmaLinha();
|
|
362
388
|
case visualg_1.default.ESCREVA_LINHA:
|
|
363
389
|
return this.declaracaoEscreva();
|
|
364
390
|
case visualg_1.default.FUNCAO:
|
|
@@ -369,7 +395,6 @@ class AvaliadorSintaticoVisuAlg extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
369
395
|
return this.declaracaoLeia();
|
|
370
396
|
case visualg_1.default.PARA:
|
|
371
397
|
return this.declaracaoPara();
|
|
372
|
-
case visualg_1.default.PARENTESE_ESQUERDO:
|
|
373
398
|
case visualg_1.default.PARENTESE_DIREITO:
|
|
374
399
|
throw new Error('Não deveria estar caindo aqui.');
|
|
375
400
|
case visualg_1.default.QUEBRA_LINHA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-visualg.js","sourceRoot":"","sources":["../../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-visualg.js","sourceRoot":"","sources":["../../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,29 @@ const funcao_padrao_1 = require("../estruturas/funcao-padrao");
|
|
|
6
6
|
const delegua_classe_1 = require("../estruturas/delegua-classe");
|
|
7
7
|
const estruturas_1 = require("../estruturas");
|
|
8
8
|
function default_1(interpretador, pilhaEscoposExecucao) {
|
|
9
|
+
const todosEmCondicao = async function (vetor, funcaoCondicional) {
|
|
10
|
+
if (vetor === null || vetor === undefined)
|
|
11
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, 'Parâmetro inválido. O primeiro parâmetro da função todosEmCondicao() não pode ser nulo.'));
|
|
12
|
+
const valorVetor = vetor.hasOwnProperty('valor')
|
|
13
|
+
? vetor.valor
|
|
14
|
+
: vetor;
|
|
15
|
+
const valorFuncaoCondicional = funcaoCondicional.hasOwnProperty('valor')
|
|
16
|
+
? funcaoCondicional.valor
|
|
17
|
+
: funcaoCondicional;
|
|
18
|
+
if (!Array.isArray(valorVetor)) {
|
|
19
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, 'Parâmetro inválido. O primeiro parâmetro da função todosEmCondicao() deve ser um vetor.'));
|
|
20
|
+
}
|
|
21
|
+
if (valorFuncaoCondicional.constructor.name !== 'DeleguaFuncao') {
|
|
22
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, 'Parâmetro inválido. O segundo parâmetro da função todosEmCondicao() deve ser uma função.'));
|
|
23
|
+
}
|
|
24
|
+
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
25
|
+
if (!await valorFuncaoCondicional.chamar(interpretador, [
|
|
26
|
+
valorVetor[indice],
|
|
27
|
+
]))
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
31
|
+
};
|
|
9
32
|
// Retorna um número aleatório entre 0 e 1.
|
|
10
33
|
pilhaEscoposExecucao.definirVariavel('aleatorio', new funcao_padrao_1.FuncaoPadrao(1, function () {
|
|
11
34
|
return Math.random();
|
|
@@ -13,19 +36,148 @@ function default_1(interpretador, pilhaEscoposExecucao) {
|
|
|
13
36
|
// Retorna um número aleatório de acordo com o parâmetro passado.
|
|
14
37
|
// Mínimo(inclusivo) - Máximo(exclusivo)
|
|
15
38
|
pilhaEscoposExecucao.definirVariavel('aleatorioEntre', new funcao_padrao_1.FuncaoPadrao(1, async function (minimo, maximo) {
|
|
39
|
+
// eslint-disable-next-line prefer-rest-params
|
|
40
|
+
if (!arguments[0]) {
|
|
41
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "A função recebe ao menos um parâmetro."));
|
|
42
|
+
}
|
|
16
43
|
const valorMinimo = minimo.hasOwnProperty('valor')
|
|
17
44
|
? minimo.valor
|
|
18
45
|
: minimo;
|
|
46
|
+
if (arguments.length === 1) {
|
|
47
|
+
if (typeof valorMinimo !== 'number') {
|
|
48
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "O parâmetro deve ser um número."));
|
|
49
|
+
}
|
|
50
|
+
;
|
|
51
|
+
return Math.floor(Math.random() * (0 - valorMinimo)) + valorMinimo;
|
|
52
|
+
}
|
|
53
|
+
if (arguments.length > 2) {
|
|
54
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "A quantidade de parâmetros máxima para esta função é 2."));
|
|
55
|
+
}
|
|
19
56
|
const valorMaximo = maximo.hasOwnProperty('valor')
|
|
20
57
|
? maximo.valor
|
|
21
58
|
: maximo;
|
|
22
59
|
if (typeof valorMinimo !== 'number' ||
|
|
23
60
|
typeof valorMaximo !== 'number') {
|
|
24
|
-
|
|
61
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, 'Os dois parâmetros devem ser do tipo número.'));
|
|
25
62
|
}
|
|
26
63
|
return Promise.resolve(Math.floor(Math.random() * (valorMaximo - valorMinimo)) +
|
|
27
64
|
valorMinimo);
|
|
28
65
|
}));
|
|
66
|
+
pilhaEscoposExecucao.definirVariavel('algum', new funcao_padrao_1.FuncaoPadrao(2, async function (vetor, funcaoPesquisa) {
|
|
67
|
+
const valorVetor = vetor.hasOwnProperty('valor')
|
|
68
|
+
? vetor.valor
|
|
69
|
+
: vetor;
|
|
70
|
+
const valorFuncaoPesquisa = funcaoPesquisa.hasOwnProperty('valor')
|
|
71
|
+
? funcaoPesquisa.valor
|
|
72
|
+
: funcaoPesquisa;
|
|
73
|
+
if (!Array.isArray(valorVetor)) {
|
|
74
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor."));
|
|
75
|
+
}
|
|
76
|
+
if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
|
|
77
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O segundo parâmetro da função deve ser uma função."));
|
|
78
|
+
}
|
|
79
|
+
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
80
|
+
if (await valorFuncaoPesquisa.chamar(interpretador, [valorVetor[indice]])) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
}));
|
|
86
|
+
pilhaEscoposExecucao.definirVariavel('encontrar', new funcao_padrao_1.FuncaoPadrao(1, async function (vetor, funcaoPesquisa) {
|
|
87
|
+
const valorVetor = vetor.hasOwnProperty('valor')
|
|
88
|
+
? vetor.valor
|
|
89
|
+
: vetor;
|
|
90
|
+
const valorFuncaoPesquisa = funcaoPesquisa.hasOwnProperty('valor')
|
|
91
|
+
? funcaoPesquisa.valor
|
|
92
|
+
: funcaoPesquisa;
|
|
93
|
+
if (!Array.isArray(valorVetor)) {
|
|
94
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor."));
|
|
95
|
+
}
|
|
96
|
+
if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
|
|
97
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O segundo parâmetro da função deve ser uma função."));
|
|
98
|
+
}
|
|
99
|
+
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
100
|
+
if (await valorFuncaoPesquisa.chamar(interpretador, [valorVetor[indice]])) {
|
|
101
|
+
return valorVetor[indice];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return null;
|
|
105
|
+
}));
|
|
106
|
+
pilhaEscoposExecucao.definirVariavel('encontrarUltimo', new funcao_padrao_1.FuncaoPadrao(1, async function (vetor, funcaoPesquisa) {
|
|
107
|
+
const valorVetor = vetor.hasOwnProperty('valor')
|
|
108
|
+
? vetor.valor
|
|
109
|
+
: vetor;
|
|
110
|
+
const valorFuncaoPesquisa = funcaoPesquisa.hasOwnProperty('valor')
|
|
111
|
+
? funcaoPesquisa.valor
|
|
112
|
+
: funcaoPesquisa;
|
|
113
|
+
if (!Array.isArray(valorVetor)) {
|
|
114
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor."));
|
|
115
|
+
}
|
|
116
|
+
if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
|
|
117
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O segundo parâmetro da função deve ser uma função."));
|
|
118
|
+
}
|
|
119
|
+
for (let indice = valorVetor.length - 1; indice >= 0; --indice) {
|
|
120
|
+
if (await valorFuncaoPesquisa.chamar(interpretador, [valorVetor[indice]])) {
|
|
121
|
+
return valorVetor[indice];
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}));
|
|
125
|
+
pilhaEscoposExecucao.definirVariavel('encontrarIndice', new funcao_padrao_1.FuncaoPadrao(2, async function (vetor, funcaoPesquisa) {
|
|
126
|
+
const valorVetor = vetor.hasOwnProperty('valor')
|
|
127
|
+
? vetor.valor
|
|
128
|
+
: vetor;
|
|
129
|
+
const valorFuncaoPesquisa = funcaoPesquisa.hasOwnProperty('valor')
|
|
130
|
+
? funcaoPesquisa.valor
|
|
131
|
+
: funcaoPesquisa;
|
|
132
|
+
if (!Array.isArray(valorVetor)) {
|
|
133
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor."));
|
|
134
|
+
}
|
|
135
|
+
if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
|
|
136
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O segundo parâmetro da função deve ser uma função."));
|
|
137
|
+
}
|
|
138
|
+
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
139
|
+
if (await valorFuncaoPesquisa.chamar(interpretador, [valorVetor[indice]])) {
|
|
140
|
+
return indice;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return -1;
|
|
144
|
+
}));
|
|
145
|
+
pilhaEscoposExecucao.definirVariavel('encontrarUltimoIndice', new funcao_padrao_1.FuncaoPadrao(2, async function (vetor, funcaoPesquisa) {
|
|
146
|
+
const valorVetor = vetor.hasOwnProperty('valor')
|
|
147
|
+
? vetor.valor
|
|
148
|
+
: vetor;
|
|
149
|
+
const valorFuncaoPesquisa = funcaoPesquisa.hasOwnProperty('valor')
|
|
150
|
+
? funcaoPesquisa.valor
|
|
151
|
+
: funcaoPesquisa;
|
|
152
|
+
if (!Array.isArray(valorVetor)) {
|
|
153
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor."));
|
|
154
|
+
}
|
|
155
|
+
if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
|
|
156
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O segundo parâmetro da função deve ser uma função."));
|
|
157
|
+
}
|
|
158
|
+
for (let indice = valorVetor.length - 1; indice >= 0; --indice) {
|
|
159
|
+
if (await valorFuncaoPesquisa.chamar(interpretador, [valorVetor[indice]])) {
|
|
160
|
+
return indice;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}));
|
|
164
|
+
pilhaEscoposExecucao.definirVariavel('incluido', new funcao_padrao_1.FuncaoPadrao(2, async function (vetor, valor) {
|
|
165
|
+
const valorVetor = vetor.hasOwnProperty('valor')
|
|
166
|
+
? vetor.valor
|
|
167
|
+
: vetor;
|
|
168
|
+
const valorValor = valor.hasOwnProperty('valor')
|
|
169
|
+
? valor.valor
|
|
170
|
+
: valor;
|
|
171
|
+
if (!Array.isArray(valorVetor)) {
|
|
172
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor."));
|
|
173
|
+
}
|
|
174
|
+
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
175
|
+
if (valorVetor[indice] == valorValor) {
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return false;
|
|
180
|
+
}));
|
|
29
181
|
pilhaEscoposExecucao.definirVariavel('inteiro', new funcao_padrao_1.FuncaoPadrao(1, async function (numero) {
|
|
30
182
|
if (numero === null || numero === undefined)
|
|
31
183
|
return Promise.resolve(0);
|
|
@@ -63,29 +215,8 @@ function default_1(interpretador, pilhaEscoposExecucao) {
|
|
|
63
215
|
}
|
|
64
216
|
return resultados;
|
|
65
217
|
}));
|
|
66
|
-
pilhaEscoposExecucao.definirVariavel('
|
|
67
|
-
|
|
68
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, 'Parâmetro inválido. O primeiro parâmetro da função todosEmCondicao() não pode ser nulo.'));
|
|
69
|
-
const valorVetor = vetor.hasOwnProperty('valor')
|
|
70
|
-
? vetor.valor
|
|
71
|
-
: vetor;
|
|
72
|
-
const valorFuncaoCondicional = funcaoCondicional.hasOwnProperty('valor')
|
|
73
|
-
? funcaoCondicional.valor
|
|
74
|
-
: funcaoCondicional;
|
|
75
|
-
if (!Array.isArray(valorVetor)) {
|
|
76
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, 'Parâmetro inválido. O primeiro parâmetro da função todosEmCondicao() deve ser um vetor.'));
|
|
77
|
-
}
|
|
78
|
-
if (valorFuncaoCondicional.constructor.name !== 'DeleguaFuncao') {
|
|
79
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, 'Parâmetro inválido. O segundo parâmetro da função todosEmCondicao() deve ser uma função.'));
|
|
80
|
-
}
|
|
81
|
-
for (let indice = 0; indice < valorVetor.length; ++indice) {
|
|
82
|
-
if (!await valorFuncaoCondicional.chamar(interpretador, [
|
|
83
|
-
valorVetor[indice],
|
|
84
|
-
]))
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
|
-
return true;
|
|
88
|
-
}));
|
|
218
|
+
pilhaEscoposExecucao.definirVariavel('todos', new funcao_padrao_1.FuncaoPadrao(2, todosEmCondicao));
|
|
219
|
+
pilhaEscoposExecucao.definirVariavel('todosEmCondicao', new funcao_padrao_1.FuncaoPadrao(2, todosEmCondicao));
|
|
89
220
|
pilhaEscoposExecucao.definirVariavel('filtrarPor', new funcao_padrao_1.FuncaoPadrao(1, async function (vetor, funcaoFiltragem) {
|
|
90
221
|
if (vetor === null || vetor === undefined)
|
|
91
222
|
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, 'Parâmetro inválido. O primeiro parâmetro da função filtrarPor() não pode ser nulo.'));
|
|
@@ -112,7 +243,7 @@ function default_1(interpretador, pilhaEscoposExecucao) {
|
|
|
112
243
|
}
|
|
113
244
|
return resultados;
|
|
114
245
|
}));
|
|
115
|
-
pilhaEscoposExecucao.definirVariavel('primeiroEmCondicao', new funcao_padrao_1.FuncaoPadrao(
|
|
246
|
+
pilhaEscoposExecucao.definirVariavel('primeiroEmCondicao', new funcao_padrao_1.FuncaoPadrao(2, async function (vetor, funcaoFiltragem) {
|
|
116
247
|
if (vetor === null || vetor === undefined)
|
|
117
248
|
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, 'Parâmetro inválido. O primeiro parâmetro da função primeiroEmCondicao() não pode ser nulo.'));
|
|
118
249
|
const valorVetor = vetor.hasOwnProperty('valor')
|
|
@@ -138,7 +269,7 @@ function default_1(interpretador, pilhaEscoposExecucao) {
|
|
|
138
269
|
}
|
|
139
270
|
return resultados[0];
|
|
140
271
|
}));
|
|
141
|
-
pilhaEscoposExecucao.definirVariavel('paraCada', new funcao_padrao_1.FuncaoPadrao(
|
|
272
|
+
pilhaEscoposExecucao.definirVariavel('paraCada', new funcao_padrao_1.FuncaoPadrao(2, async function (vetor, funcaoFiltragem) {
|
|
142
273
|
if (vetor === null || vetor === undefined)
|
|
143
274
|
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, 'Parâmetro inválido. O primeiro parâmetro da função paraCada() não pode ser nulo.'));
|
|
144
275
|
const valorVetor = vetor.hasOwnProperty('valor')
|
|
@@ -192,6 +323,33 @@ function default_1(interpretador, pilhaEscoposExecucao) {
|
|
|
192
323
|
}
|
|
193
324
|
return Promise.resolve(parseFloat(valor));
|
|
194
325
|
}));
|
|
326
|
+
pilhaEscoposExecucao.definirVariavel('reduzir', new funcao_padrao_1.FuncaoPadrao(3, async function (vetor, funcaoReducao, padrao = null) {
|
|
327
|
+
const valorVetor = vetor.hasOwnProperty('valor')
|
|
328
|
+
? vetor.valor
|
|
329
|
+
: vetor;
|
|
330
|
+
const valorFuncaoReducao = funcaoReducao.hasOwnProperty('valor')
|
|
331
|
+
? funcaoReducao.valor
|
|
332
|
+
: funcaoReducao;
|
|
333
|
+
const valorPadrao = padrao.hasOwnProperty('valor')
|
|
334
|
+
? padrao.valor
|
|
335
|
+
: padrao;
|
|
336
|
+
if (!Array.isArray(valorVetor)) {
|
|
337
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor."));
|
|
338
|
+
}
|
|
339
|
+
if (valorFuncaoReducao.constructor.name !== 'DeleguaFuncao') {
|
|
340
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O segundo parâmetro da função deve ser uma função."));
|
|
341
|
+
}
|
|
342
|
+
let resultado = valorPadrao;
|
|
343
|
+
let inicio = 0;
|
|
344
|
+
if (!resultado) {
|
|
345
|
+
resultado = vetor[0];
|
|
346
|
+
inicio = 1;
|
|
347
|
+
}
|
|
348
|
+
for (let index = inicio; index < vetor.length; ++index) {
|
|
349
|
+
resultado = await valorFuncaoReducao.chamar(interpretador, [resultado, vetor[index]]);
|
|
350
|
+
}
|
|
351
|
+
return resultado;
|
|
352
|
+
}));
|
|
195
353
|
pilhaEscoposExecucao.definirVariavel('tamanho', new funcao_padrao_1.FuncaoPadrao(1, async function (objeto) {
|
|
196
354
|
const valorObjeto = objeto.hasOwnProperty('valor')
|
|
197
355
|
? objeto.valor
|