@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.
Files changed (71) hide show
  1. package/README.md +4 -4
  2. package/bin/package.json +1 -1
  3. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js.map +1 -1
  4. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.js +1 -1
  5. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.js.map +1 -1
  6. package/fontes/avaliador-sintatico/dialetos/index.d.ts +1 -1
  7. package/fontes/avaliador-sintatico/dialetos/index.js +1 -1
  8. package/fontes/avaliador-sintatico/dialetos/index.js.map +1 -1
  9. package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js +1 -1
  10. package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js.map +1 -1
  11. package/fontes/avaliador-sintatico/dialetos/{avaliador-sintatico-visualg.d.ts → visualg/avaliador-sintatico-visualg.d.ts} +5 -5
  12. package/fontes/avaliador-sintatico/dialetos/{avaliador-sintatico-visualg.js → visualg/avaliador-sintatico-visualg.js} +13 -8
  13. package/fontes/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js.map +1 -0
  14. package/fontes/avaliador-sintatico/dialetos/visualg/parametro-visualg.d.ts +7 -0
  15. package/fontes/avaliador-sintatico/dialetos/visualg/parametro-visualg.js +3 -0
  16. package/fontes/avaliador-sintatico/dialetos/visualg/parametro-visualg.js.map +1 -0
  17. package/fontes/bibliotecas/biblioteca-global.js +5 -4
  18. package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
  19. package/fontes/bibliotecas/dialetos/visualg/caracteres.js +10 -5
  20. package/fontes/bibliotecas/dialetos/visualg/caracteres.js.map +1 -1
  21. package/fontes/bibliotecas/dialetos/visualg/numerica.js +7 -3
  22. package/fontes/bibliotecas/dialetos/visualg/numerica.js.map +1 -1
  23. package/fontes/declaracoes/var.d.ts +1 -0
  24. package/fontes/declaracoes/var.js +1 -0
  25. package/fontes/declaracoes/var.js.map +1 -1
  26. package/fontes/estruturas/chamavel.d.ts +2 -1
  27. package/fontes/estruturas/chamavel.js.map +1 -1
  28. package/fontes/estruturas/delegua-funcao.d.ts +2 -1
  29. package/fontes/estruturas/delegua-funcao.js +25 -10
  30. package/fontes/estruturas/delegua-funcao.js.map +1 -1
  31. package/fontes/interfaces/dialeto/interpretador-birl-interface.d.ts +11 -0
  32. package/fontes/interfaces/dialeto/interpretador-birl-interface.js +3 -0
  33. package/fontes/interfaces/dialeto/interpretador-birl-interface.js.map +1 -0
  34. package/fontes/interfaces/interpretador-interface-birl.d.ts +22 -0
  35. package/fontes/interfaces/interpretador-interface-birl.js +3 -0
  36. package/fontes/interfaces/interpretador-interface-birl.js.map +1 -0
  37. package/fontes/interfaces/interpretador-interface.d.ts +4 -1
  38. package/fontes/interfaces/parametro-interface.d.ts +1 -0
  39. package/fontes/interfaces/variavel-interface.d.ts +1 -0
  40. package/fontes/interpretador/argumento-interface.d.ts +4 -0
  41. package/fontes/interpretador/argumento-interface.js +3 -0
  42. package/fontes/interpretador/argumento-interface.js.map +1 -0
  43. package/fontes/interpretador/dialetos/birl/comum.d.ts +16 -3
  44. package/fontes/interpretador/dialetos/birl/comum.js +206 -1
  45. package/fontes/interpretador/dialetos/birl/comum.js.map +1 -1
  46. package/fontes/interpretador/dialetos/birl/interpretador-birl-com-depuracao.d.ts +26 -0
  47. package/fontes/interpretador/dialetos/birl/interpretador-birl-com-depuracao.js +68 -0
  48. package/fontes/interpretador/dialetos/birl/interpretador-birl-com-depuracao.js.map +1 -0
  49. package/fontes/interpretador/dialetos/birl/interpretador-birl.d.ts +25 -39
  50. package/fontes/interpretador/dialetos/birl/interpretador-birl.js +42 -235
  51. package/fontes/interpretador/dialetos/birl/interpretador-birl.js.map +1 -1
  52. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +4 -4
  53. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +13 -6
  54. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  55. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +6 -6
  56. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +1 -1
  57. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  58. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +9 -9
  59. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +33 -33
  60. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  61. package/fontes/interpretador/interpretador-base.d.ts +2 -2
  62. package/fontes/interpretador/interpretador-base.js +10 -3
  63. package/fontes/interpretador/interpretador-base.js.map +1 -1
  64. package/fontes/interpretador/interpretador-com-depuracao.d.ts +1 -1
  65. package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -1
  66. package/fontes/interpretador/pilha-escopos-execucao.js +3 -9
  67. package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -1
  68. package/fontes/lexador/dialetos/lexador-birl.js +3 -2
  69. package/fontes/lexador/dialetos/lexador-birl.js.map +1 -1
  70. package/package.json +1 -1
  71. 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
- argumentos.push(await this.avaliar(expressao.argumentos[i]));
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 Delégua. Provavelmente você quer chamar um de seus componentes?', expressao.linha));
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
- const novosArgumentos = argumentos.slice(0, parametros.length - 1);
342
- novosArgumentos.push(argumentos.slice(parametros.length - 1, argumentos.length));
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
- // const mensagem = expressao.argumentos && expressao.argumentos[0] ? expressao.argumentos[0].valor : '> ';
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
- * Busca variáveis interpoladas.
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
- if (declaracao.inicializador !== null) {
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
- visitarExpressaoFormatacaoEscrita(declaracao) {
483
+ async visitarDeclaracaoFazer(declaracao) {
566
484
  throw new Error('Método não implementado.');
567
485
  }
568
- visitarDeclaracaoEscolha(declaracao) {
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
- let substituida = false;
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
- const stringOriginal = texto.valor;
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
- switch (dados.tipo) {
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
- let formatoTexto = '';
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
- throw new Error('Método não implementado.');
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.erros = [];
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 { RetornoInterpretador } from '../../../interfaces/retornos/retorno-interpretador';
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 { PilhaEscoposExecucao } from '../../pilha-escopos-execucao';
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 objeto_delegua_classe_1 = require("../../../estruturas/objeto-delegua-classe");
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
- argumentos.push(await this.avaliar(expressao.argumentos[i]));
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
- const novosArgumentos = argumentos.slice(0, parametros.length - 1);
239
- novosArgumentos.push(argumentos.slice(parametros.length - 1, argumentos.length));
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
  }