@designliquido/delegua 0.24.0 → 0.24.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/README.md +4 -4
- package/bin/package.json +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.js +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/index.d.ts +1 -1
- package/fontes/avaliador-sintatico/dialetos/index.js +1 -1
- package/fontes/avaliador-sintatico/dialetos/index.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js +1 -1
- package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/{avaliador-sintatico-visualg.d.ts → visualg/avaliador-sintatico-visualg.d.ts} +5 -5
- package/fontes/avaliador-sintatico/dialetos/{avaliador-sintatico-visualg.js → visualg/avaliador-sintatico-visualg.js} +13 -8
- package/fontes/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js.map +1 -0
- package/fontes/avaliador-sintatico/dialetos/visualg/parametro-visualg.d.ts +7 -0
- package/fontes/avaliador-sintatico/dialetos/visualg/parametro-visualg.js +3 -0
- package/fontes/avaliador-sintatico/dialetos/visualg/parametro-visualg.js.map +1 -0
- package/fontes/bibliotecas/biblioteca-global.js +5 -4
- package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
- package/fontes/bibliotecas/dialetos/visualg/caracteres.js +10 -5
- package/fontes/bibliotecas/dialetos/visualg/caracteres.js.map +1 -1
- package/fontes/bibliotecas/dialetos/visualg/numerica.js +7 -3
- package/fontes/bibliotecas/dialetos/visualg/numerica.js.map +1 -1
- package/fontes/declaracoes/var.d.ts +1 -0
- package/fontes/declaracoes/var.js +1 -0
- package/fontes/declaracoes/var.js.map +1 -1
- package/fontes/estruturas/chamavel.d.ts +2 -1
- package/fontes/estruturas/chamavel.js.map +1 -1
- package/fontes/estruturas/delegua-funcao.d.ts +2 -1
- package/fontes/estruturas/delegua-funcao.js +25 -10
- package/fontes/estruturas/delegua-funcao.js.map +1 -1
- package/fontes/interfaces/dialeto/interpretador-birl-interface.d.ts +11 -0
- package/fontes/interfaces/dialeto/interpretador-birl-interface.js +3 -0
- package/fontes/interfaces/dialeto/interpretador-birl-interface.js.map +1 -0
- package/fontes/interfaces/interpretador-interface-birl.d.ts +22 -0
- package/fontes/interfaces/interpretador-interface-birl.js +3 -0
- package/fontes/interfaces/interpretador-interface-birl.js.map +1 -0
- package/fontes/interfaces/interpretador-interface.d.ts +4 -1
- package/fontes/interfaces/parametro-interface.d.ts +1 -0
- package/fontes/interfaces/variavel-interface.d.ts +1 -0
- package/fontes/interpretador/argumento-interface.d.ts +4 -0
- package/fontes/interpretador/argumento-interface.js +3 -0
- package/fontes/interpretador/argumento-interface.js.map +1 -0
- package/fontes/interpretador/dialetos/birl/comum.d.ts +16 -3
- package/fontes/interpretador/dialetos/birl/comum.js +206 -1
- package/fontes/interpretador/dialetos/birl/comum.js.map +1 -1
- package/fontes/interpretador/dialetos/birl/interpretador-birl-com-depuracao.d.ts +26 -0
- package/fontes/interpretador/dialetos/birl/interpretador-birl-com-depuracao.js +68 -0
- package/fontes/interpretador/dialetos/birl/interpretador-birl-com-depuracao.js.map +1 -0
- package/fontes/interpretador/dialetos/birl/interpretador-birl.d.ts +25 -39
- package/fontes/interpretador/dialetos/birl/interpretador-birl.js +42 -235
- package/fontes/interpretador/dialetos/birl/interpretador-birl.js.map +1 -1
- package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +4 -4
- package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +13 -6
- package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +6 -6
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +1 -1
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
- package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +9 -9
- package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +33 -33
- package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
- package/fontes/interpretador/interpretador-base.d.ts +2 -2
- package/fontes/interpretador/interpretador-base.js +10 -3
- package/fontes/interpretador/interpretador-base.js.map +1 -1
- package/fontes/interpretador/interpretador-com-depuracao.d.ts +1 -1
- package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -1
- package/fontes/interpretador/pilha-escopos-execucao.js +3 -9
- package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-birl.js +3 -2
- package/fontes/lexador/dialetos/lexador-birl.js.map +1 -1
- package/package.json +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js.map +0 -1
|
@@ -34,10 +34,12 @@ const excecoes_1 = require("../../../excecoes");
|
|
|
34
34
|
const quebras_1 = require("../../../quebras");
|
|
35
35
|
const birl_1 = __importDefault(require("../../../tipos-de-simbolos/birl"));
|
|
36
36
|
const inferenciador_1 = require("../../inferenciador");
|
|
37
|
+
const interpretador_base_1 = require("../../interpretador-base");
|
|
37
38
|
const pilha_escopos_execucao_1 = require("../../pilha-escopos-execucao");
|
|
38
39
|
const comum = __importStar(require("./comum"));
|
|
39
|
-
class InterpretadorBirl {
|
|
40
|
+
class InterpretadorBirl extends interpretador_base_1.InterpretadorBase {
|
|
40
41
|
constructor(diretorioBase, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
|
|
42
|
+
super(diretorioBase, false, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
|
|
41
43
|
this.funcaoDeRetorno = null;
|
|
42
44
|
this.funcaoDeRetornoMesmaLinha = null;
|
|
43
45
|
this.resultadoInterpretador = [];
|
|
@@ -301,10 +303,17 @@ class InterpretadorBirl {
|
|
|
301
303
|
: variavelEntidadeChamada;
|
|
302
304
|
let argumentos = [];
|
|
303
305
|
for (let i = 0; i < expressao.argumentos.length; i++) {
|
|
304
|
-
|
|
306
|
+
const variavelArgumento = expressao.argumentos[i];
|
|
307
|
+
const nomeArgumento = variavelArgumento.hasOwnProperty('simbolo') ?
|
|
308
|
+
variavelArgumento.simbolo.lexema :
|
|
309
|
+
undefined;
|
|
310
|
+
argumentos.push({
|
|
311
|
+
nome: nomeArgumento,
|
|
312
|
+
valor: await this.avaliar(variavelArgumento)
|
|
313
|
+
});
|
|
305
314
|
}
|
|
306
315
|
if (entidadeChamada instanceof estruturas_1.DeleguaModulo) {
|
|
307
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Entidade chamada é um módulo de
|
|
316
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Entidade chamada é um módulo de Birl. Provavelmente você quer chamar um de seus componentes?', expressao.linha));
|
|
308
317
|
}
|
|
309
318
|
if (entidadeChamada instanceof estruturas_1.MetodoPrimitiva) {
|
|
310
319
|
const argumentosResolvidos = [];
|
|
@@ -338,8 +347,8 @@ class InterpretadorBirl {
|
|
|
338
347
|
if (parametros &&
|
|
339
348
|
parametros.length > 0 &&
|
|
340
349
|
parametros[parametros.length - 1].abrangencia === 'multiplo') {
|
|
341
|
-
|
|
342
|
-
novosArgumentos.
|
|
350
|
+
let novosArgumentos = argumentos.slice(0, parametros.length - 1);
|
|
351
|
+
novosArgumentos = novosArgumentos.concat(argumentos.slice(parametros.length - 1, argumentos.length));
|
|
343
352
|
argumentos = novosArgumentos;
|
|
344
353
|
}
|
|
345
354
|
}
|
|
@@ -380,7 +389,7 @@ class InterpretadorBirl {
|
|
|
380
389
|
this.erros.push(erro);
|
|
381
390
|
}
|
|
382
391
|
}
|
|
383
|
-
visitarDeclaracaoDeAtribuicao(expressao) {
|
|
392
|
+
async visitarDeclaracaoDeAtribuicao(expressao) {
|
|
384
393
|
throw new Error('Método não implementado.');
|
|
385
394
|
}
|
|
386
395
|
procurarVariavel(simbolo) {
|
|
@@ -389,7 +398,7 @@ class InterpretadorBirl {
|
|
|
389
398
|
visitarExpressaoDeVariavel(expressao) {
|
|
390
399
|
return this.procurarVariavel(expressao.simbolo);
|
|
391
400
|
}
|
|
392
|
-
visitarDeclaracaoDeExpressao(declaracao) {
|
|
401
|
+
async visitarDeclaracaoDeExpressao(declaracao) {
|
|
393
402
|
throw new Error('Método não implementado.');
|
|
394
403
|
}
|
|
395
404
|
/**
|
|
@@ -399,61 +408,10 @@ class InterpretadorBirl {
|
|
|
399
408
|
* @returns Promise com o resultado da leitura.
|
|
400
409
|
*/
|
|
401
410
|
async visitarExpressaoLeia(expressao) {
|
|
402
|
-
|
|
403
|
-
/**
|
|
404
|
-
* Em Birl não se usa mensagem junto com o prompt, normalmente se usa um Escreva antes.
|
|
405
|
-
*/
|
|
406
|
-
const mensagem = '> ';
|
|
407
|
-
const promessaLeitura = () => new Promise((resolucao) => this.interfaceEntradaSaida.question(mensagem, (resposta) => {
|
|
408
|
-
resolucao(resposta);
|
|
409
|
-
}));
|
|
410
|
-
const valorLido = await promessaLeitura();
|
|
411
|
-
await comum.atribuirVariavel(this, expressao.argumentos[0], valorLido, expressao.argumentos[1].valor);
|
|
412
|
-
return;
|
|
411
|
+
await comum.visitarExpressaoLeia(this, expressao);
|
|
413
412
|
}
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
* @param {texto} textoOriginal O texto original com as variáveis interpoladas.
|
|
417
|
-
* @returns Uma lista de variáveis interpoladas.
|
|
418
|
-
*/
|
|
419
|
-
buscarVariaveisInterpolacao(textoOriginal) {
|
|
420
|
-
const variaveis = textoOriginal.match(this.regexInterpolacao);
|
|
421
|
-
return variaveis.map((s) => {
|
|
422
|
-
const nomeVariavel = s.replace(/[\$\{\}]*/g, '');
|
|
423
|
-
return {
|
|
424
|
-
variavel: nomeVariavel,
|
|
425
|
-
valor: this.pilhaEscoposExecucao.obterVariavelPorNome(nomeVariavel),
|
|
426
|
-
};
|
|
427
|
-
});
|
|
428
|
-
}
|
|
429
|
-
/**
|
|
430
|
-
* Retira a interpolação de um texto.
|
|
431
|
-
* @param {texto} texto O texto
|
|
432
|
-
* @param {any[]} variaveis A lista de variaveis interpoladas
|
|
433
|
-
* @returns O texto com o valor das variaveis.
|
|
434
|
-
*/
|
|
435
|
-
retirarInterpolacao(texto, variaveis) {
|
|
436
|
-
const valoresVariaveis = variaveis.map((v) => ({
|
|
437
|
-
valorResolvido: this.pilhaEscoposExecucao.obterVariavelPorNome(v.variavel),
|
|
438
|
-
variavel: v.variavel,
|
|
439
|
-
}));
|
|
440
|
-
let textoFinal = texto;
|
|
441
|
-
valoresVariaveis.forEach((elemento) => {
|
|
442
|
-
const valorFinal = elemento.valorResolvido.hasOwnProperty('valor')
|
|
443
|
-
? elemento.valorResolvido.valor
|
|
444
|
-
: elemento.valorResolvido;
|
|
445
|
-
textoFinal = textoFinal.replace('${' + elemento.variavel + '}', valorFinal);
|
|
446
|
-
});
|
|
447
|
-
return textoFinal;
|
|
448
|
-
}
|
|
449
|
-
visitarExpressaoLiteral(expressao) {
|
|
450
|
-
if (expressao.valor === birl_1.default.ADICAO) {
|
|
451
|
-
return 1;
|
|
452
|
-
}
|
|
453
|
-
if (expressao.valor === birl_1.default.SUBTRACAO) {
|
|
454
|
-
return -1;
|
|
455
|
-
}
|
|
456
|
-
return expressao.valor;
|
|
413
|
+
async visitarExpressaoLiteral(expressao) {
|
|
414
|
+
return comum.visitarExpressaoLiteral(expressao);
|
|
457
415
|
}
|
|
458
416
|
async visitarExpressaoLogica(expressao) {
|
|
459
417
|
const esquerda = await this.avaliar(expressao.esquerda);
|
|
@@ -482,44 +440,7 @@ class InterpretadorBirl {
|
|
|
482
440
|
return await this.avaliar(expressao.direita);
|
|
483
441
|
}
|
|
484
442
|
async visitarDeclaracaoPara(declaracao) {
|
|
485
|
-
|
|
486
|
-
if (declaracao.inicializador instanceof Array) {
|
|
487
|
-
if (declaracao.inicializador[0] instanceof construtos_1.Variavel) {
|
|
488
|
-
const valor = await this.avaliar(declaracao.inicializador[1]);
|
|
489
|
-
this.pilhaEscoposExecucao.atribuirVariavel(declaracao.inicializador[0].simbolo, valor);
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
else {
|
|
493
|
-
await this.avaliar(declaracao.inicializador);
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
let retornoExecucao;
|
|
497
|
-
while (!(retornoExecucao instanceof quebras_1.Quebra)) {
|
|
498
|
-
if (declaracao.condicao !== null && !this.eVerdadeiro(await this.avaliar(declaracao.condicao))) {
|
|
499
|
-
break;
|
|
500
|
-
}
|
|
501
|
-
try {
|
|
502
|
-
retornoExecucao = await this.executar(declaracao.corpo);
|
|
503
|
-
if (retornoExecucao instanceof quebras_1.SustarQuebra) {
|
|
504
|
-
return null;
|
|
505
|
-
}
|
|
506
|
-
if (retornoExecucao instanceof quebras_1.ContinuarQuebra) {
|
|
507
|
-
retornoExecucao = null;
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
catch (erro) {
|
|
511
|
-
this.erros.push({
|
|
512
|
-
erroInterno: erro,
|
|
513
|
-
linha: declaracao.linha,
|
|
514
|
-
hashArquivo: declaracao.hashArquivo,
|
|
515
|
-
});
|
|
516
|
-
return Promise.reject(erro);
|
|
517
|
-
}
|
|
518
|
-
if (declaracao.incrementar !== null) {
|
|
519
|
-
await this.avaliar(declaracao.incrementar);
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
return retornoExecucao;
|
|
443
|
+
return comum.visitarDeclaracaoPara(this, declaracao);
|
|
523
444
|
}
|
|
524
445
|
visitarDeclaracaoParaCada(declaracao) {
|
|
525
446
|
throw new Error('Método não implementado.');
|
|
@@ -556,19 +477,19 @@ class InterpretadorBirl {
|
|
|
556
477
|
}
|
|
557
478
|
return null;
|
|
558
479
|
}
|
|
559
|
-
visitarExpressaoFimPara(declaracao) {
|
|
560
|
-
throw new Error('Método não implementado.');
|
|
561
|
-
}
|
|
562
|
-
visitarDeclaracaoFazer(declaracao) {
|
|
480
|
+
async visitarExpressaoFimPara(declaracao) {
|
|
563
481
|
throw new Error('Método não implementado.');
|
|
564
482
|
}
|
|
565
|
-
|
|
483
|
+
async visitarDeclaracaoFazer(declaracao) {
|
|
566
484
|
throw new Error('Método não implementado.');
|
|
567
485
|
}
|
|
568
|
-
|
|
486
|
+
// async visitarExpressaoFormatacaoEscrita(declaracao: FormatacaoEscrita) {
|
|
487
|
+
// throw new Error('Método não implementado.');
|
|
488
|
+
// }
|
|
489
|
+
async visitarDeclaracaoEscolha(declaracao) {
|
|
569
490
|
throw new Error('Método não implementado.');
|
|
570
491
|
}
|
|
571
|
-
visitarDeclaracaoTente(declaracao) {
|
|
492
|
+
async visitarDeclaracaoTente(declaracao) {
|
|
572
493
|
throw new Error('Método não implementado.');
|
|
573
494
|
}
|
|
574
495
|
async visitarDeclaracaoEnquanto(declaracao) {
|
|
@@ -594,101 +515,17 @@ class InterpretadorBirl {
|
|
|
594
515
|
}
|
|
595
516
|
return retornoExecucao;
|
|
596
517
|
}
|
|
597
|
-
visitarDeclaracaoImportar(declaracao) {
|
|
598
|
-
throw new Error('Método não implementado.');
|
|
599
|
-
}
|
|
600
518
|
async substituirValor(stringOriginal, novoValor, simboloTipo) {
|
|
601
|
-
|
|
602
|
-
let resultado = '';
|
|
603
|
-
for (let i = 0; i < stringOriginal.length; i++) {
|
|
604
|
-
if (stringOriginal[i] === '%' && stringOriginal[i + 1] === simboloTipo && !substituida) {
|
|
605
|
-
switch (simboloTipo) {
|
|
606
|
-
case 'd':
|
|
607
|
-
case 'i':
|
|
608
|
-
case 'u':
|
|
609
|
-
case 'f':
|
|
610
|
-
case 'F':
|
|
611
|
-
case 'e':
|
|
612
|
-
case 'E':
|
|
613
|
-
case 'g':
|
|
614
|
-
case 'G':
|
|
615
|
-
case 'x':
|
|
616
|
-
case 'X':
|
|
617
|
-
case 'o':
|
|
618
|
-
case 'c':
|
|
619
|
-
case 's':
|
|
620
|
-
case 'p':
|
|
621
|
-
resultado += novoValor.hasOwnProperty('valor') ? novoValor.valor : novoValor;
|
|
622
|
-
break;
|
|
623
|
-
default:
|
|
624
|
-
resultado += stringOriginal[i];
|
|
625
|
-
break;
|
|
626
|
-
}
|
|
627
|
-
substituida = true;
|
|
628
|
-
i++;
|
|
629
|
-
}
|
|
630
|
-
else {
|
|
631
|
-
resultado += stringOriginal[i];
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
|
-
return resultado;
|
|
519
|
+
return comum.substituirValor(stringOriginal, novoValor, simboloTipo);
|
|
635
520
|
}
|
|
636
521
|
async resolveQuantidadeDeInterpolacoes(texto) {
|
|
637
|
-
|
|
638
|
-
const regex = /%[a-zA-Z]/g;
|
|
639
|
-
const matches = stringOriginal.match(regex);
|
|
640
|
-
return matches;
|
|
522
|
+
return comum.resolveQuantidadeDeInterpolacoes(texto);
|
|
641
523
|
}
|
|
642
524
|
async verificaTipoDaInterpolação(dados) {
|
|
643
|
-
|
|
644
|
-
case 'd':
|
|
645
|
-
case 'i':
|
|
646
|
-
case 'u':
|
|
647
|
-
const valor = dados.valor.hasOwnProperty('valor') ? dados.valor.valor : dados.valor;
|
|
648
|
-
if (typeof valor !== 'number') {
|
|
649
|
-
throw new Error('O valor interpolado não é um número.');
|
|
650
|
-
}
|
|
651
|
-
return true;
|
|
652
|
-
case 'c':
|
|
653
|
-
case 's':
|
|
654
|
-
const valorString = dados.valor.hasOwnProperty('valor') ? dados.valor.valor : dados.valor;
|
|
655
|
-
if (typeof valorString !== 'string') {
|
|
656
|
-
throw new Error('O valor interpolado não é um caractere.');
|
|
657
|
-
}
|
|
658
|
-
return true;
|
|
659
|
-
default:
|
|
660
|
-
throw new Error('Tipo de interpolação não suportado.');
|
|
661
|
-
}
|
|
525
|
+
return comum.verificaTipoDaInterpolação(dados);
|
|
662
526
|
}
|
|
663
527
|
async avaliarArgumentosEscreva(argumentos) {
|
|
664
|
-
|
|
665
|
-
let quantidadeInterpolacoes;
|
|
666
|
-
if (argumentos.length < 1) {
|
|
667
|
-
throw new Error('Escreva precisa de pelo menos um argumento.');
|
|
668
|
-
}
|
|
669
|
-
if (!(argumentos[0] instanceof construtos_1.Literal)) {
|
|
670
|
-
throw new Error('O primeiro argumento de Escreva precisa ser uma string.');
|
|
671
|
-
}
|
|
672
|
-
quantidadeInterpolacoes = await this.resolveQuantidadeDeInterpolacoes(argumentos[0]);
|
|
673
|
-
const resultadoAvaliacaoLiteral = await this.avaliar(argumentos[0]);
|
|
674
|
-
if (quantidadeInterpolacoes === null) {
|
|
675
|
-
formatoTexto = (resultadoAvaliacaoLiteral === null || resultadoAvaliacaoLiteral === void 0 ? void 0 : resultadoAvaliacaoLiteral.hasOwnProperty('valor')) ? resultadoAvaliacaoLiteral.valor : resultadoAvaliacaoLiteral;
|
|
676
|
-
return formatoTexto;
|
|
677
|
-
}
|
|
678
|
-
if (!(argumentos.length - 1 === quantidadeInterpolacoes.length)) {
|
|
679
|
-
throw new Error('Quantidade de argumentos não bate com quantidade de interpolacoes.');
|
|
680
|
-
}
|
|
681
|
-
formatoTexto = resultadoAvaliacaoLiteral;
|
|
682
|
-
for (let i = 0; i < quantidadeInterpolacoes.length; i++) {
|
|
683
|
-
const dados = {
|
|
684
|
-
tipo: quantidadeInterpolacoes[i].replace('%', ''),
|
|
685
|
-
valor: await this.avaliar(argumentos[i + 1])
|
|
686
|
-
};
|
|
687
|
-
if (this.verificaTipoDaInterpolação(dados)) {
|
|
688
|
-
formatoTexto = await this.substituirValor(formatoTexto, dados.valor, dados.tipo);
|
|
689
|
-
}
|
|
690
|
-
}
|
|
691
|
-
return formatoTexto.trimEnd();
|
|
528
|
+
return comum.avaliarArgumentosEscreva(this, argumentos);
|
|
692
529
|
}
|
|
693
530
|
/**
|
|
694
531
|
* Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
|
|
@@ -710,7 +547,7 @@ class InterpretadorBirl {
|
|
|
710
547
|
});
|
|
711
548
|
}
|
|
712
549
|
}
|
|
713
|
-
visitarExpressaoEscrevaMesmaLinha(declaracao) {
|
|
550
|
+
async visitarExpressaoEscrevaMesmaLinha(declaracao) {
|
|
714
551
|
throw new Error('Método não implementado.');
|
|
715
552
|
}
|
|
716
553
|
async visitarExpressaoBloco(declaracao) {
|
|
@@ -758,35 +595,35 @@ class InterpretadorBirl {
|
|
|
758
595
|
valor = await this.avaliar(declaracao.valor);
|
|
759
596
|
return new quebras_1.RetornoQuebra(valor);
|
|
760
597
|
}
|
|
761
|
-
visitarExpressaoDeleguaFuncao(expressao) {
|
|
762
|
-
|
|
763
|
-
}
|
|
598
|
+
// async visitarExpressaoDeleguaFuncao(expressao: any) {
|
|
599
|
+
// throw new Error('Método não implementado.');
|
|
600
|
+
// }
|
|
764
601
|
visitarExpressaoAtribuicaoPorIndice(expressao) {
|
|
765
602
|
throw new Error('Método não implementado.');
|
|
766
603
|
}
|
|
767
|
-
visitarExpressaoAcessoIndiceVariavel(expressao) {
|
|
604
|
+
async visitarExpressaoAcessoIndiceVariavel(expressao) {
|
|
768
605
|
throw new Error('Método não implementado.');
|
|
769
606
|
}
|
|
770
|
-
visitarExpressaoDefinirValor(expressao) {
|
|
607
|
+
async visitarExpressaoDefinirValor(expressao) {
|
|
771
608
|
throw new Error('Método não implementado.');
|
|
772
609
|
}
|
|
773
610
|
visitarDeclaracaoDefinicaoFuncao(declaracao) {
|
|
774
611
|
const funcao = new estruturas_1.DeleguaFuncao(declaracao.simbolo.lexema, declaracao.funcao);
|
|
775
612
|
this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, funcao);
|
|
776
613
|
}
|
|
777
|
-
visitarDeclaracaoClasse(declaracao) {
|
|
614
|
+
async visitarDeclaracaoClasse(declaracao) {
|
|
778
615
|
throw new Error('Método não implementado.');
|
|
779
616
|
}
|
|
780
|
-
visitarExpressaoAcessoMetodo(expressao) {
|
|
617
|
+
async visitarExpressaoAcessoMetodo(expressao) {
|
|
781
618
|
throw new Error('Método não implementado.');
|
|
782
619
|
}
|
|
783
620
|
visitarExpressaoIsto(expressao) {
|
|
784
621
|
throw new Error('Método não implementado.');
|
|
785
622
|
}
|
|
786
|
-
visitarExpressaoDicionario(expressao) {
|
|
623
|
+
async visitarExpressaoDicionario(expressao) {
|
|
787
624
|
throw new Error('Método não implementado.');
|
|
788
625
|
}
|
|
789
|
-
visitarExpressaoVetor(expressao) {
|
|
626
|
+
async visitarExpressaoVetor(expressao) {
|
|
790
627
|
throw new Error('Método não implementado.');
|
|
791
628
|
}
|
|
792
629
|
visitarExpressaoSuper(expressao) {
|
|
@@ -867,37 +704,7 @@ class InterpretadorBirl {
|
|
|
867
704
|
}
|
|
868
705
|
}
|
|
869
706
|
async interpretar(declaracoes, manterAmbiente) {
|
|
870
|
-
this
|
|
871
|
-
const escopoExecucao = {
|
|
872
|
-
declaracoes: declaracoes,
|
|
873
|
-
declaracaoAtual: 0,
|
|
874
|
-
ambiente: new espaco_variaveis_1.EspacoVariaveis(),
|
|
875
|
-
finalizado: false,
|
|
876
|
-
tipo: 'outro',
|
|
877
|
-
emLacoRepeticao: false,
|
|
878
|
-
};
|
|
879
|
-
this.pilhaEscoposExecucao.empilhar(escopoExecucao);
|
|
880
|
-
try {
|
|
881
|
-
const retornoOuErro = await this.executarUltimoEscopo(manterAmbiente);
|
|
882
|
-
if (retornoOuErro instanceof excecoes_1.ErroEmTempoDeExecucao) {
|
|
883
|
-
this.erros.push(retornoOuErro);
|
|
884
|
-
}
|
|
885
|
-
}
|
|
886
|
-
catch (erro) {
|
|
887
|
-
this.erros.push({
|
|
888
|
-
erroInterno: erro,
|
|
889
|
-
linha: -1,
|
|
890
|
-
hashArquivo: -1,
|
|
891
|
-
});
|
|
892
|
-
}
|
|
893
|
-
finally {
|
|
894
|
-
const retorno = {
|
|
895
|
-
erros: this.erros,
|
|
896
|
-
resultado: this.resultadoInterpretador,
|
|
897
|
-
};
|
|
898
|
-
this.resultadoInterpretador = [];
|
|
899
|
-
return retorno;
|
|
900
|
-
}
|
|
707
|
+
return comum.interpretar(this, declaracoes, manterAmbiente);
|
|
901
708
|
}
|
|
902
709
|
}
|
|
903
710
|
exports.InterpretadorBirl = InterpretadorBirl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-birl.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/birl/interpretador-birl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpretador-birl.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/birl/interpretador-birl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { EspacoVariaveis } from '../../../espaco-variaveis';
|
|
2
2
|
import { DeleguaFuncao } from '../../../estruturas/delegua-funcao';
|
|
3
|
-
import { InterpretadorInterface, SimboloInterface, ResolvedorInterface, VariavelInterface } from '../../../interfaces';
|
|
4
|
-
import { Classe, Const, Declaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Expressao, Fazer, FuncaoDeclaracao, Importar, Leia, Para, ParaCada, Se, Tente, Var } from '../../../declaracoes';
|
|
5
3
|
import { AcessoIndiceVariavel, Atribuir, Construto, FimPara, FormatacaoEscrita, Literal, Super, TipoDe, Variavel } from '../../../construtos';
|
|
6
|
-
import {
|
|
4
|
+
import { Classe, Const, Declaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Expressao, Fazer, FuncaoDeclaracao, Importar, Leia, Para, ParaCada, Se, Tente, Var } from '../../../declaracoes';
|
|
5
|
+
import { InterpretadorInterface, ResolvedorInterface, SimboloInterface, VariavelInterface } from '../../../interfaces';
|
|
7
6
|
import { ErroInterpretador } from '../../../interfaces/erros/erro-interpretador';
|
|
8
|
-
import {
|
|
7
|
+
import { RetornoInterpretador } from '../../../interfaces/retornos/retorno-interpretador';
|
|
9
8
|
import { ContinuarQuebra, RetornoQuebra, SustarQuebra } from '../../../quebras';
|
|
9
|
+
import { PilhaEscoposExecucao } from '../../pilha-escopos-execucao';
|
|
10
10
|
/**
|
|
11
11
|
* O Interpretador visita todos os elementos complexos gerados pelo analisador sintático (Parser)
|
|
12
12
|
* e de fato executa a lógica de programação descrita no código.
|
|
@@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.InterpretadorEguaClassico = void 0;
|
|
7
7
|
const espaco_variaveis_1 = require("../../../espaco-variaveis");
|
|
8
8
|
const chamavel_1 = require("../../../estruturas/chamavel");
|
|
9
|
-
const funcao_padrao_1 = require("../../../estruturas/funcao-padrao");
|
|
10
9
|
const delegua_classe_1 = require("../../../estruturas/delegua-classe");
|
|
11
10
|
const delegua_funcao_1 = require("../../../estruturas/delegua-funcao");
|
|
12
|
-
const
|
|
11
|
+
const funcao_padrao_1 = require("../../../estruturas/funcao-padrao");
|
|
13
12
|
const modulo_1 = require("../../../estruturas/modulo");
|
|
13
|
+
const objeto_delegua_classe_1 = require("../../../estruturas/objeto-delegua-classe");
|
|
14
14
|
const excecoes_1 = require("../../../excecoes");
|
|
15
|
-
const pilha_escopos_execucao_1 = require("../../pilha-escopos-execucao");
|
|
16
15
|
const quebras_1 = require("../../../quebras");
|
|
17
16
|
const inferenciador_1 = require("../../inferenciador");
|
|
17
|
+
const pilha_escopos_execucao_1 = require("../../pilha-escopos-execucao");
|
|
18
18
|
const egua_classico_1 = __importDefault(require("../../../tipos-de-simbolos/egua-classico"));
|
|
19
19
|
const biblioteca_global_1 = __importDefault(require("../../../bibliotecas/dialetos/egua-classico/biblioteca-global"));
|
|
20
20
|
const resolvedor_1 = require("./resolvedor/resolvedor");
|
|
@@ -209,7 +209,14 @@ class InterpretadorEguaClassico {
|
|
|
209
209
|
: variavelEntidadeChamada;
|
|
210
210
|
let argumentos = [];
|
|
211
211
|
for (let i = 0; i < expressao.argumentos.length; i++) {
|
|
212
|
-
|
|
212
|
+
const variavelArgumento = expressao.argumentos[i];
|
|
213
|
+
const nomeArgumento = variavelArgumento.hasOwnProperty('simbolo') ?
|
|
214
|
+
variavelArgumento.simbolo.lexema :
|
|
215
|
+
undefined;
|
|
216
|
+
argumentos.push({
|
|
217
|
+
nome: variavelArgumento,
|
|
218
|
+
valor: await this.avaliar(variavelArgumento)
|
|
219
|
+
});
|
|
213
220
|
}
|
|
214
221
|
if (!(entidadeChamada instanceof chamavel_1.Chamavel)) {
|
|
215
222
|
throw new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Só pode chamar função ou classe.', expressao.linha);
|
|
@@ -235,8 +242,8 @@ class InterpretadorEguaClassico {
|
|
|
235
242
|
}
|
|
236
243
|
else {
|
|
237
244
|
if (parametros && parametros.length > 0 && parametros[parametros.length - 1]['tipo'] === 'multiplo') {
|
|
238
|
-
|
|
239
|
-
novosArgumentos.
|
|
245
|
+
let novosArgumentos = argumentos.slice(0, parametros.length - 1);
|
|
246
|
+
novosArgumentos = novosArgumentos.concat(argumentos.slice(parametros.length - 1, argumentos.length));
|
|
240
247
|
argumentos = novosArgumentos;
|
|
241
248
|
}
|
|
242
249
|
}
|