@designliquido/delegua 0.52.0 → 0.52.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 (138) hide show
  1. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  2. package/analisador-semantico/analisador-semantico.js.map +1 -1
  3. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  4. package/avaliador-sintatico/avaliador-sintatico.js +2 -2
  5. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  6. package/avaliador-sintatico/comum.d.ts.map +1 -1
  7. package/avaliador-sintatico/comum.js.map +1 -1
  8. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.d.ts.map +1 -1
  9. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.js +5 -11
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.js.map +1 -1
  11. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  12. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +3 -1
  13. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  14. package/avaliador-sintatico/micro-avaliador-sintatico.d.ts.map +1 -1
  15. package/avaliador-sintatico/micro-avaliador-sintatico.js.map +1 -1
  16. package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.d.ts.map +1 -1
  17. package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.js.map +1 -1
  18. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  19. package/bibliotecas/biblioteca-global.js +44 -42
  20. package/bibliotecas/biblioteca-global.js.map +1 -1
  21. package/bibliotecas/primitivas-dicionario.d.ts.map +1 -1
  22. package/bibliotecas/primitivas-dicionario.js +3 -3
  23. package/bibliotecas/primitivas-dicionario.js.map +1 -1
  24. package/bibliotecas/primitivas-numero.d.ts.map +1 -1
  25. package/bibliotecas/primitivas-numero.js +7 -7
  26. package/bibliotecas/primitivas-numero.js.map +1 -1
  27. package/bibliotecas/primitivas-texto.d.ts.map +1 -1
  28. package/bibliotecas/primitivas-texto.js +16 -17
  29. package/bibliotecas/primitivas-texto.js.map +1 -1
  30. package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
  31. package/bibliotecas/primitivas-vetor.js +26 -27
  32. package/bibliotecas/primitivas-vetor.js.map +1 -1
  33. package/bin/package.json +5 -4
  34. package/construtos/acesso-elemento-matriz.d.ts.map +1 -1
  35. package/construtos/acesso-elemento-matriz.js +2 -2
  36. package/construtos/acesso-elemento-matriz.js.map +1 -1
  37. package/construtos/acesso-indice-variavel.d.ts.map +1 -1
  38. package/construtos/acesso-indice-variavel.js +2 -2
  39. package/construtos/acesso-indice-variavel.js.map +1 -1
  40. package/construtos/acesso-metodo-ou-propriedade.d.ts.map +1 -1
  41. package/construtos/acesso-metodo-ou-propriedade.js +2 -2
  42. package/construtos/acesso-metodo-ou-propriedade.js.map +1 -1
  43. package/construtos/atribuicao-por-indice.d.ts.map +1 -1
  44. package/construtos/atribuicao-por-indice.js +2 -2
  45. package/construtos/atribuicao-por-indice.js.map +1 -1
  46. package/construtos/atribuicao-por-indices-matriz.d.ts.map +1 -1
  47. package/construtos/atribuicao-por-indices-matriz.js +2 -2
  48. package/construtos/atribuicao-por-indices-matriz.js.map +1 -1
  49. package/construtos/atribuir.js +1 -1
  50. package/construtos/binario.d.ts.map +1 -1
  51. package/construtos/binario.js +2 -2
  52. package/construtos/binario.js.map +1 -1
  53. package/construtos/comentario-como-construto.d.ts +2 -2
  54. package/construtos/leia.js +1 -1
  55. package/construtos/leia.js.map +1 -1
  56. package/construtos/logico.d.ts.map +1 -1
  57. package/construtos/logico.js +2 -2
  58. package/construtos/logico.js.map +1 -1
  59. package/construtos/separador.d.ts +2 -2
  60. package/construtos/tuplas/deceto.d.ts.map +1 -1
  61. package/construtos/tuplas/deceto.js +2 -2
  62. package/construtos/tuplas/deceto.js.map +1 -1
  63. package/construtos/tuplas/dupla.d.ts.map +1 -1
  64. package/construtos/tuplas/dupla.js +2 -2
  65. package/construtos/tuplas/dupla.js.map +1 -1
  66. package/construtos/tuplas/noneto.d.ts.map +1 -1
  67. package/construtos/tuplas/noneto.js +2 -2
  68. package/construtos/tuplas/noneto.js.map +1 -1
  69. package/construtos/tuplas/octeto.d.ts.map +1 -1
  70. package/construtos/tuplas/octeto.js +2 -2
  71. package/construtos/tuplas/octeto.js.map +1 -1
  72. package/construtos/tuplas/quarteto.d.ts.map +1 -1
  73. package/construtos/tuplas/quarteto.js +2 -2
  74. package/construtos/tuplas/quarteto.js.map +1 -1
  75. package/construtos/tuplas/quinteto.d.ts.map +1 -1
  76. package/construtos/tuplas/quinteto.js +2 -2
  77. package/construtos/tuplas/quinteto.js.map +1 -1
  78. package/construtos/tuplas/septeto.d.ts.map +1 -1
  79. package/construtos/tuplas/septeto.js +2 -2
  80. package/construtos/tuplas/septeto.js.map +1 -1
  81. package/construtos/tuplas/sexteto.d.ts.map +1 -1
  82. package/construtos/tuplas/sexteto.js +2 -2
  83. package/construtos/tuplas/sexteto.js.map +1 -1
  84. package/construtos/tuplas/trio.d.ts.map +1 -1
  85. package/construtos/tuplas/trio.js +2 -2
  86. package/construtos/tuplas/trio.js.map +1 -1
  87. package/construtos/vetor.js +1 -1
  88. package/construtos/vetor.js.map +1 -1
  89. package/declaracoes/aleatorio.js.map +1 -1
  90. package/declaracoes/bloco.js +2 -2
  91. package/declaracoes/classe.js +1 -1
  92. package/declaracoes/classe.js.map +1 -1
  93. package/declaracoes/escreva-mesma-linha.js +1 -1
  94. package/declaracoes/escreva-mesma-linha.js.map +1 -1
  95. package/declaracoes/escreva.js +1 -1
  96. package/declaracoes/escreva.js.map +1 -1
  97. package/declaracoes/fazer.d.ts.map +1 -1
  98. package/declaracoes/fazer.js.map +1 -1
  99. package/declaracoes/inicio-algoritmo.js +1 -1
  100. package/declaracoes/inicio-algoritmo.js.map +1 -1
  101. package/declaracoes/para.d.ts.map +1 -1
  102. package/declaracoes/para.js +2 -2
  103. package/declaracoes/para.js.map +1 -1
  104. package/informacao-variavel-ou-constante.js +1 -1
  105. package/interfaces/interpretador-interface.d.ts.map +1 -1
  106. package/interpretador/dialetos/calango/interpretador-calango.d.ts +2 -2
  107. package/interpretador/dialetos/calango/interpretador-calango.d.ts.map +1 -1
  108. package/interpretador/dialetos/calango/interpretador-calango.js.map +1 -1
  109. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
  110. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +2 -2
  111. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  112. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
  113. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  114. package/interpretador/interpretador-base.d.ts.map +1 -1
  115. package/interpretador/interpretador-base.js +14 -17
  116. package/interpretador/interpretador-base.js.map +1 -1
  117. package/interpretador/interpretador.d.ts.map +1 -1
  118. package/interpretador/interpretador.js +7 -7
  119. package/interpretador/interpretador.js.map +1 -1
  120. package/interpretador/pilha-escopos-execucao.js.map +1 -1
  121. package/lexador/dialetos/lexador-calango.d.ts +2 -2
  122. package/lexador/dialetos/lexador-calango.d.ts.map +1 -1
  123. package/lexador/dialetos/lexador-calango.js +5 -4
  124. package/lexador/dialetos/lexador-calango.js.map +1 -1
  125. package/lexador/dialetos/palavras-reservadas/calango.d.ts.map +1 -1
  126. package/lexador/dialetos/palavras-reservadas/calango.js.map +1 -1
  127. package/package.json +5 -4
  128. package/quebras/index.js +1 -1
  129. package/tradutores/tradutor-assembly-x64.js +13 -13
  130. package/tradutores/tradutor-calango.d.ts.map +1 -1
  131. package/tradutores/tradutor-calango.js.map +1 -1
  132. package/tradutores/tradutor-javascript.d.ts.map +1 -1
  133. package/tradutores/tradutor-javascript.js.map +1 -1
  134. package/tradutores/tradutor-python.d.ts.map +1 -1
  135. package/tradutores/tradutor-python.js.map +1 -1
  136. package/tradutores/tradutor-reverso-tenda.d.ts.map +1 -1
  137. package/tradutores/tradutor-reverso-tenda.js.map +1 -1
  138. package/umd/delegua.js +172 -172
package/umd/delegua.js CHANGED
@@ -416,7 +416,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
416
416
  }
417
417
  }
418
418
  // Remover comentários, verificar se vírgulas fazem sentido.
419
- const valoresSemComentarios = valores.filter(v => v.constructor.name !== 'ComentarioComoConstruto');
419
+ const valoresSemComentarios = valores.filter((v) => v.constructor.name !== 'ComentarioComoConstruto');
420
420
  let elementoSeparador = false; // O primeiro elemento não pode ser separador.
421
421
  for (const elemento of valoresSemComentarios) {
422
422
  if (elementoSeparador) {
@@ -432,7 +432,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
432
432
  elementoSeparador = true;
433
433
  }
434
434
  }
435
- const valoresSemSeparadores = valoresSemComentarios.filter(v => v.constructor.name !== 'Separador');
435
+ const valoresSemSeparadores = valoresSemComentarios.filter((v) => v.constructor.name !== 'Separador');
436
436
  const tipoVetor = (0, inferenciador_1.inferirTipoVariavel)(valoresSemSeparadores);
437
437
  return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), valores, valores.length, tipoVetor);
438
438
  case delegua_2.default.EXPRESSAO_REGULAR:
@@ -3598,7 +3598,9 @@ class AvaliadorSintaticoPitugues {
3598
3598
  metodos.push(this.funcao('método', this.simbolos[this.atual - 1].tipo === pitugues_2.default.CONSTRUTOR));
3599
3599
  }
3600
3600
  this.superclasseAtual = undefined;
3601
- return new declaracoes_1.Classe(simbolo, superClasse, metodos);
3601
+ const definicaoClasse = new declaracoes_1.Classe(simbolo, superClasse, metodos);
3602
+ this.tiposDefinidosEmCodigo[definicaoClasse.simbolo.lexema] = definicaoClasse;
3603
+ return definicaoClasse;
3602
3604
  }
3603
3605
  declaracaoFalhar() {
3604
3606
  const simboloFalha = this.simbolos[this.atual - 1];
@@ -5435,7 +5437,7 @@ async function aleatorioEntre(interpretador, minimo, maximo) {
5435
5437
  if (arguments.length <= 0) {
5436
5438
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5437
5439
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5438
- linha: interpretador.linhaDeclaracaoAtual
5440
+ linha: interpretador.linhaDeclaracaoAtual,
5439
5441
  }, 'A função recebe ao menos um parâmetro.'));
5440
5442
  }
5441
5443
  const valorMinimo = minimo.hasOwnProperty('valor')
@@ -5445,7 +5447,7 @@ async function aleatorioEntre(interpretador, minimo, maximo) {
5445
5447
  if (typeof valorMinimo !== 'number') {
5446
5448
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5447
5449
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5448
- linha: interpretador.linhaDeclaracaoAtual
5450
+ linha: interpretador.linhaDeclaracaoAtual,
5449
5451
  }, 'O parâmetro deve ser um número.'));
5450
5452
  }
5451
5453
  return Math.floor(Math.random() * (0 - valorMinimo)) + valorMinimo;
@@ -5453,7 +5455,7 @@ async function aleatorioEntre(interpretador, minimo, maximo) {
5453
5455
  if (arguments.length > 3) {
5454
5456
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5455
5457
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5456
- linha: interpretador.linhaDeclaracaoAtual
5458
+ linha: interpretador.linhaDeclaracaoAtual,
5457
5459
  }, 'A quantidade de parâmetros máxima para esta função é 2.'));
5458
5460
  }
5459
5461
  const valorMaximo = maximo.hasOwnProperty('valor')
@@ -5462,7 +5464,7 @@ async function aleatorioEntre(interpretador, minimo, maximo) {
5462
5464
  if (typeof valorMinimo !== 'number' || typeof valorMaximo !== 'number') {
5463
5465
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5464
5466
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5465
- linha: interpretador.linhaDeclaracaoAtual
5467
+ linha: interpretador.linhaDeclaracaoAtual,
5466
5468
  }, 'Os dois parâmetros devem ser do tipo número.'));
5467
5469
  }
5468
5470
  return Promise.resolve(Math.floor(Math.random() * (valorMaximo - valorMinimo)) + valorMinimo);
@@ -5482,13 +5484,13 @@ async function algum(interpretador, vetor, funcaoPesquisa) {
5482
5484
  if (!Array.isArray(valorVetor)) {
5483
5485
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5484
5486
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5485
- linha: interpretador.linhaDeclaracaoAtual
5487
+ linha: interpretador.linhaDeclaracaoAtual,
5486
5488
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
5487
5489
  }
5488
5490
  if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
5489
5491
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5490
5492
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5491
- linha: interpretador.linhaDeclaracaoAtual
5493
+ linha: interpretador.linhaDeclaracaoAtual,
5492
5494
  }, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
5493
5495
  }
5494
5496
  for (let indice = 0; indice < valorVetor.length; ++indice) {
@@ -5514,13 +5516,13 @@ async function encontrar(interpretador, vetor, funcaoPesquisa) {
5514
5516
  if (!Array.isArray(valorVetor)) {
5515
5517
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5516
5518
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5517
- linha: interpretador.linhaDeclaracaoAtual
5519
+ linha: interpretador.linhaDeclaracaoAtual,
5518
5520
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
5519
5521
  }
5520
5522
  if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
5521
5523
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5522
5524
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5523
- linha: interpretador.linhaDeclaracaoAtual
5525
+ linha: interpretador.linhaDeclaracaoAtual,
5524
5526
  }, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
5525
5527
  }
5526
5528
  for (let indice = 0; indice < valorVetor.length; ++indice) {
@@ -5546,13 +5548,13 @@ async function encontrarIndice(interpretador, vetor, funcaoPesquisa) {
5546
5548
  if (!Array.isArray(valorVetor)) {
5547
5549
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5548
5550
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5549
- linha: interpretador.linhaDeclaracaoAtual
5551
+ linha: interpretador.linhaDeclaracaoAtual,
5550
5552
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
5551
5553
  }
5552
5554
  if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
5553
5555
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5554
5556
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5555
- linha: interpretador.linhaDeclaracaoAtual
5557
+ linha: interpretador.linhaDeclaracaoAtual,
5556
5558
  }, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
5557
5559
  }
5558
5560
  for (let indice = 0; indice < valorVetor.length; ++indice) {
@@ -5578,13 +5580,13 @@ async function encontrarUltimo(interpretador, vetor, funcaoPesquisa) {
5578
5580
  if (!Array.isArray(valorVetor)) {
5579
5581
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5580
5582
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5581
- linha: interpretador.linhaDeclaracaoAtual
5583
+ linha: interpretador.linhaDeclaracaoAtual,
5582
5584
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
5583
5585
  }
5584
5586
  if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
5585
5587
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5586
5588
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5587
- linha: interpretador.linhaDeclaracaoAtual
5589
+ linha: interpretador.linhaDeclaracaoAtual,
5588
5590
  }, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
5589
5591
  }
5590
5592
  for (let indice = valorVetor.length - 1; indice >= 0; --indice) {
@@ -5609,13 +5611,13 @@ async function encontrarUltimoIndice(interpretador, vetor, funcaoPesquisa) {
5609
5611
  if (!Array.isArray(valorVetor)) {
5610
5612
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5611
5613
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5612
- linha: interpretador.linhaDeclaracaoAtual
5614
+ linha: interpretador.linhaDeclaracaoAtual,
5613
5615
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
5614
5616
  }
5615
5617
  if (valorFuncaoPesquisa.constructor.name !== 'DeleguaFuncao') {
5616
5618
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5617
5619
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5618
- linha: interpretador.linhaDeclaracaoAtual
5620
+ linha: interpretador.linhaDeclaracaoAtual,
5619
5621
  }, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
5620
5622
  }
5621
5623
  for (let indice = valorVetor.length - 1; indice >= 0; --indice) {
@@ -5636,7 +5638,7 @@ async function filtrarPor(interpretador, vetor, funcaoFiltragem) {
5636
5638
  if (vetor === null || vetor === undefined)
5637
5639
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5638
5640
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5639
- linha: interpretador.linhaDeclaracaoAtual
5641
+ linha: interpretador.linhaDeclaracaoAtual,
5640
5642
  }, 'Parâmetro inválido. O primeiro parâmetro da função filtrarPor() não pode ser nulo.'));
5641
5643
  const valorVetor = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
5642
5644
  const valorFuncaoFiltragem = funcaoFiltragem.hasOwnProperty('valor')
@@ -5645,14 +5647,14 @@ async function filtrarPor(interpretador, vetor, funcaoFiltragem) {
5645
5647
  if (!Array.isArray(valorVetor)) {
5646
5648
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5647
5649
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5648
- linha: interpretador.linhaDeclaracaoAtual
5650
+ linha: interpretador.linhaDeclaracaoAtual,
5649
5651
  }, 'Parâmetro inválido. O primeiro parâmetro da função filtrarPor() deve ser um vetor.'));
5650
5652
  }
5651
5653
  const construtorResolvido = valorFuncaoFiltragem.constructor.name.replaceAll('_', '');
5652
5654
  if (construtorResolvido !== 'DeleguaFuncao') {
5653
5655
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5654
5656
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5655
- linha: interpretador.linhaDeclaracaoAtual
5657
+ linha: interpretador.linhaDeclaracaoAtual,
5656
5658
  }, 'Parâmetro inválido. O segundo parâmetro da função filtrarPor() deve ser uma função.'));
5657
5659
  }
5658
5660
  const resultados = [];
@@ -5683,7 +5685,7 @@ async function incluido(interpretador, vetor, valor) {
5683
5685
  if (!Array.isArray(valorVetor)) {
5684
5686
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5685
5687
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5686
- linha: interpretador.linhaDeclaracaoAtual
5688
+ linha: interpretador.linhaDeclaracaoAtual,
5687
5689
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
5688
5690
  }
5689
5691
  for (let indice = 0; indice < valorVetor.length; ++indice) {
@@ -5697,13 +5699,13 @@ function validacaoComumNumeros(interpretador, valorParaConverter) {
5697
5699
  if (isNaN(valorParaConverter)) {
5698
5700
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5699
5701
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5700
- linha: interpretador.linhaDeclaracaoAtual
5702
+ linha: interpretador.linhaDeclaracaoAtual,
5701
5703
  }, 'Valor não parece ser um número. Somente números ou textos com números podem ser convertidos para inteiro.'));
5702
5704
  }
5703
5705
  if (!/^(-)?\d+(\.\d+)?$/.test(valorParaConverter)) {
5704
5706
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5705
5707
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5706
- linha: interpretador.linhaDeclaracaoAtual
5708
+ linha: interpretador.linhaDeclaracaoAtual,
5707
5709
  }, '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.'));
5708
5710
  }
5709
5711
  return null;
@@ -5735,7 +5737,7 @@ async function mapear(interpretador, vetor, funcaoMapeamento) {
5735
5737
  if (vetor === null || vetor === undefined)
5736
5738
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5737
5739
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5738
- linha: interpretador.linhaDeclaracaoAtual
5740
+ linha: interpretador.linhaDeclaracaoAtual,
5739
5741
  }, 'Parâmetro inválido. O primeiro parâmetro da função mapear() não pode ser nulo.'));
5740
5742
  const valorVetor = interpretador.resolverValor(vetor);
5741
5743
  const valorFuncaoMapeamento = interpretador.resolverValor(funcaoMapeamento);
@@ -5744,19 +5746,21 @@ async function mapear(interpretador, vetor, funcaoMapeamento) {
5744
5746
  if (!Array.isArray(valorVetor)) {
5745
5747
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5746
5748
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5747
- linha: interpretador.linhaDeclaracaoAtual
5749
+ linha: interpretador.linhaDeclaracaoAtual,
5748
5750
  }, 'Parâmetro inválido. O primeiro parâmetro da função mapear() deve ser um vetor.'));
5749
5751
  }
5750
5752
  const nomeConstrutorFuncaoMapeamento = valorFuncaoMapeamento.constructor.name.replaceAll('_', '');
5751
5753
  if (nomeConstrutorFuncaoMapeamento !== 'DeleguaFuncao') {
5752
5754
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5753
5755
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5754
- linha: interpretador.linhaDeclaracaoAtual
5756
+ linha: interpretador.linhaDeclaracaoAtual,
5755
5757
  }, 'Parâmetro inválido. O segundo parâmetro da função mapear() deve ser uma função.'));
5756
5758
  }
5757
5759
  const resultados = [];
5758
5760
  for (let indice = 0; indice < valorVetor.length; ++indice) {
5759
- const informacoesRetorno = await valorFuncaoMapeamento.chamar(interpretador, [valorVetor[indice]]);
5761
+ const informacoesRetorno = await valorFuncaoMapeamento.chamar(interpretador, [
5762
+ valorVetor[indice],
5763
+ ]);
5760
5764
  if (!informacoesRetorno.hasOwnProperty('valorRetornado')) {
5761
5765
  console.warn(`Retorno inconsistente em mapear(): ${JSON.stringify(informacoesRetorno)}.`);
5762
5766
  continue;
@@ -5793,13 +5797,13 @@ async function ordenar(interpretador, vetor) {
5793
5797
  if (vetor === null || vetor === undefined)
5794
5798
  throw new excecoes_1.ErroEmTempoDeExecucao({
5795
5799
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5796
- linha: interpretador.linhaDeclaracaoAtual
5800
+ linha: interpretador.linhaDeclaracaoAtual,
5797
5801
  }, 'Parâmetro inválido. O primeiro parâmetro da função ordenar() não pode ser nulo.');
5798
5802
  const objeto = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
5799
5803
  if (!Array.isArray(objeto)) {
5800
5804
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5801
5805
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5802
- linha: interpretador.linhaDeclaracaoAtual
5806
+ linha: interpretador.linhaDeclaracaoAtual,
5803
5807
  }, 'Valor inválido. Objeto inserido não é um vetor.'));
5804
5808
  }
5805
5809
  let trocado;
@@ -5826,7 +5830,7 @@ async function paraCada(interpretador, vetor, funcaoFiltragem) {
5826
5830
  if (vetor === null || vetor === undefined)
5827
5831
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5828
5832
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5829
- linha: interpretador.linhaDeclaracaoAtual
5833
+ linha: interpretador.linhaDeclaracaoAtual,
5830
5834
  }, 'Parâmetro inválido. O primeiro parâmetro da função paraCada() não pode ser nulo.'));
5831
5835
  const valorVetor = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
5832
5836
  const valorFuncaoFiltragem = funcaoFiltragem.hasOwnProperty('valor')
@@ -5837,13 +5841,13 @@ async function paraCada(interpretador, vetor, funcaoFiltragem) {
5837
5841
  if (!Array.isArray(valorVetor)) {
5838
5842
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5839
5843
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5840
- linha: interpretador.linhaDeclaracaoAtual
5844
+ linha: interpretador.linhaDeclaracaoAtual,
5841
5845
  }, 'Parâmetro inválido. O primeiro parâmetro da função paraCada() deve ser um vetor.'));
5842
5846
  }
5843
5847
  if (valorFuncaoFiltragem.constructor.name !== 'DeleguaFuncao') {
5844
5848
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5845
5849
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5846
- linha: interpretador.linhaDeclaracaoAtual
5850
+ linha: interpretador.linhaDeclaracaoAtual,
5847
5851
  }, 'Parâmetro inválido. O segundo parâmetro da função paraCada() deve ser uma função.'));
5848
5852
  }
5849
5853
  for (let indice = 0; indice < valorVetor.length; ++indice) {
@@ -5861,7 +5865,7 @@ async function primeiroEmCondicao(interpretador, vetor, funcaoFiltragem) {
5861
5865
  if (vetor === null || vetor === undefined)
5862
5866
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5863
5867
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5864
- linha: interpretador.linhaDeclaracaoAtual
5868
+ linha: interpretador.linhaDeclaracaoAtual,
5865
5869
  }, 'Parâmetro inválido. O primeiro parâmetro da função primeiroEmCondicao() não pode ser nulo.'));
5866
5870
  const valorVetor = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
5867
5871
  const valorFuncaoFiltragem = funcaoFiltragem.hasOwnProperty('valor')
@@ -5870,13 +5874,13 @@ async function primeiroEmCondicao(interpretador, vetor, funcaoFiltragem) {
5870
5874
  if (!Array.isArray(valorVetor)) {
5871
5875
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5872
5876
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5873
- linha: interpretador.linhaDeclaracaoAtual
5877
+ linha: interpretador.linhaDeclaracaoAtual,
5874
5878
  }, 'Parâmetro inválido. O primeiro parâmetro da função primeiroEmCondicao() deve ser um vetor.'));
5875
5879
  }
5876
5880
  if (valorFuncaoFiltragem.constructor.name !== 'DeleguaFuncao') {
5877
5881
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5878
5882
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5879
- linha: interpretador.linhaDeclaracaoAtual
5883
+ linha: interpretador.linhaDeclaracaoAtual,
5880
5884
  }, 'Parâmetro inválido. O segundo parâmetro da função primeiroEmCondicao() deve ser uma função.'));
5881
5885
  }
5882
5886
  for (let indice = 0; indice < valorVetor.length; ++indice) {
@@ -5902,7 +5906,7 @@ async function real(interpretador, numero) {
5902
5906
  if (!/^(-)?\d+(\.\d+)?$/.test(valor)) {
5903
5907
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5904
5908
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5905
- linha: interpretador.linhaDeclaracaoAtual
5909
+ linha: interpretador.linhaDeclaracaoAtual,
5906
5910
  }, '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.'));
5907
5911
  }
5908
5912
  return Promise.resolve(parseFloat(valor));
@@ -5924,13 +5928,13 @@ async function reduzir(interpretador, vetor, funcaoReducao, valorInicial = null)
5924
5928
  if (!Array.isArray(valorVetor)) {
5925
5929
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5926
5930
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5927
- linha: interpretador.linhaDeclaracaoAtual
5931
+ linha: interpretador.linhaDeclaracaoAtual,
5928
5932
  }, 'Parâmetro inválido. O primeiro parâmetro da função deve ser um vetor.'));
5929
5933
  }
5930
5934
  if (valorFuncaoReducao.constructor.name !== 'DeleguaFuncao') {
5931
5935
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5932
5936
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5933
- linha: interpretador.linhaDeclaracaoAtual
5937
+ linha: interpretador.linhaDeclaracaoAtual,
5934
5938
  }, 'Parâmetro inválido. O segundo parâmetro da função deve ser uma função.'));
5935
5939
  }
5936
5940
  let resultado = valorPadrao;
@@ -5954,13 +5958,13 @@ async function tamanho(interpretador, objeto) {
5954
5958
  if (typeof valorObjeto === 'number') {
5955
5959
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5956
5960
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5957
- linha: interpretador.linhaDeclaracaoAtual
5961
+ linha: interpretador.linhaDeclaracaoAtual,
5958
5962
  }, 'Função global tamanho() não funciona com números.'));
5959
5963
  }
5960
5964
  if (valorObjeto instanceof objeto_delegua_classe_1.ObjetoDeleguaClasse) {
5961
5965
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
5962
5966
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
5963
- linha: interpretador.linhaDeclaracaoAtual
5967
+ linha: interpretador.linhaDeclaracaoAtual,
5964
5968
  }, 'Função global tamanho não funciona com objetos complexos.'));
5965
5969
  }
5966
5970
  if (valorObjeto instanceof estruturas_1.DeleguaFuncao) {
@@ -6002,7 +6006,7 @@ async function todosEmCondicao(interpretador, vetor, funcaoCondicional) {
6002
6006
  if (vetor === null || vetor === undefined)
6003
6007
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
6004
6008
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
6005
- linha: interpretador.linhaDeclaracaoAtual
6009
+ linha: interpretador.linhaDeclaracaoAtual,
6006
6010
  }, 'Parâmetro inválido. O primeiro parâmetro da função todosEmCondicao() não pode ser nulo.'));
6007
6011
  const valorVetor = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
6008
6012
  const valorFuncaoCondicional = funcaoCondicional.hasOwnProperty('valor')
@@ -6011,13 +6015,13 @@ async function todosEmCondicao(interpretador, vetor, funcaoCondicional) {
6011
6015
  if (!Array.isArray(valorVetor)) {
6012
6016
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
6013
6017
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
6014
- linha: interpretador.linhaDeclaracaoAtual
6018
+ linha: interpretador.linhaDeclaracaoAtual,
6015
6019
  }, 'Parâmetro inválido. O primeiro parâmetro da função todosEmCondicao() deve ser um vetor.'));
6016
6020
  }
6017
6021
  if (valorFuncaoCondicional.constructor.name !== 'DeleguaFuncao') {
6018
6022
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
6019
6023
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
6020
- linha: interpretador.linhaDeclaracaoAtual
6024
+ linha: interpretador.linhaDeclaracaoAtual,
6021
6025
  }, 'Parâmetro inválido. O segundo parâmetro da função todosEmCondicao() deve ser uma função.'));
6022
6026
  }
6023
6027
  for (let indice = 0; indice < valorVetor.length; ++indice) {
@@ -6040,7 +6044,7 @@ async function tupla(interpretador, vetor) {
6040
6044
  if (!Array.isArray(valorVetor)) {
6041
6045
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
6042
6046
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
6043
- linha: interpretador.linhaDeclaracaoAtual
6047
+ linha: interpretador.linhaDeclaracaoAtual,
6044
6048
  }, 'Argumento de função nativa `tupla` não parece ser um vetor.'));
6045
6049
  }
6046
6050
  switch (valorVetor.length) {
@@ -6066,7 +6070,7 @@ async function tupla(interpretador, vetor) {
6066
6070
  default:
6067
6071
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
6068
6072
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
6069
- linha: interpretador.linhaDeclaracaoAtual
6073
+ linha: interpretador.linhaDeclaracaoAtual,
6070
6074
  }, 'Para ser transformado em uma tupla, vetor precisa ter de 2 a 10 elementos.'));
6071
6075
  }
6072
6076
  }
@@ -6079,7 +6083,7 @@ const contemComum = (nome) => {
6079
6083
  return {
6080
6084
  tipoRetorno: 'lógico',
6081
6085
  argumentos: [
6082
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('chave', 'qualquer', true, [], 'O elemento como chave do dicionário.')
6086
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('chave', 'qualquer', true, [], 'O elemento como chave do dicionário.'),
6083
6087
  ],
6084
6088
  implementacao: (interpretador, nomePrimitiva, valor, chave) => Promise.resolve(chave in valor),
6085
6089
  assinaturaFormato: `dicionário.${nome}(chave: qualquer)`,
@@ -6091,7 +6095,7 @@ const contemComum = (nome) => {
6091
6095
  `escreva(d.${nome}("a")) // verdadeiro\n` +
6092
6096
  `escreva(d.${nome}("f")) // falso\n\`\`\`` +
6093
6097
  '\n\n## Formas de uso\n',
6094
- exemploCodigo: 'dicionário.contem("minhaChave")'
6098
+ exemploCodigo: 'dicionário.contem("minhaChave")',
6095
6099
  };
6096
6100
  };
6097
6101
  exports.default = {
@@ -6109,7 +6113,7 @@ exports.default = {
6109
6113
  'var d = {"a": 1, "b": 2, "c": 3}\n' +
6110
6114
  'escreva(d.chaves()) // ["a", "b", "c"]\n```' +
6111
6115
  '\n\n## Formas de uso\n',
6112
- exemploCodigo: 'dicionário.chaves()'
6116
+ exemploCodigo: 'dicionário.chaves()',
6113
6117
  },
6114
6118
  contem: contemComum('contem'),
6115
6119
  contém: contemComum('contém'),
@@ -6147,7 +6151,7 @@ exports.default = {
6147
6151
  'var n = -5\n' +
6148
6152
  'escreva(n.absoluto()) // 5\n```' +
6149
6153
  '\n\n## Formas de uso\n',
6150
- exemploCodigo: 'numero.absoluto()'
6154
+ exemploCodigo: 'numero.absoluto()',
6151
6155
  },
6152
6156
  arredondarParaBaixo: {
6153
6157
  tipoRetorno: 'número',
@@ -6163,7 +6167,7 @@ exports.default = {
6163
6167
  'var n = 2.5\n' +
6164
6168
  'escreva(n.arredondarParaBaixo()) // 2\n```' +
6165
6169
  '\n\n## Formas de uso\n',
6166
- exemploCodigo: 'numero.arredondarParaBaixo()'
6170
+ exemploCodigo: 'numero.arredondarParaBaixo()',
6167
6171
  },
6168
6172
  arredondarParaCima: {
6169
6173
  tipoRetorno: 'número',
@@ -6179,12 +6183,12 @@ exports.default = {
6179
6183
  'var n = 2.5\n' +
6180
6184
  'escreva(n.arredondarParaCima()) // 3\n```' +
6181
6185
  '\n\n## Formas de uso\n',
6182
- exemploCodigo: 'numero.arredondarParaCima()'
6186
+ exemploCodigo: 'numero.arredondarParaCima()',
6183
6187
  },
6184
6188
  formatar: {
6185
6189
  tipoRetorno: 'texto',
6186
6190
  argumentos: [
6187
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('opcoesFormatacao', 'dicionário', false, [], 'Dicionário com opções de formatação, como número de casas decimais.')
6191
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('opcoesFormatacao', 'dicionário', false, [], 'Dicionário com opções de formatação, como número de casas decimais.'),
6188
6192
  ],
6189
6193
  implementacao: (interpretador, nomePrimitiva, valor, opcoes) => {
6190
6194
  let minimoCasasDecimais = 2;
@@ -6197,7 +6201,7 @@ exports.default = {
6197
6201
  }
6198
6202
  return Promise.resolve(valor.toLocaleString('pt-BR', {
6199
6203
  minimumFractionDigits: minimoCasasDecimais,
6200
- maximumFractionDigits: maximoCasasDecimais
6204
+ maximumFractionDigits: maximoCasasDecimais,
6201
6205
  }));
6202
6206
  },
6203
6207
  assinaturaFormato: 'número.formatar(opcoesFormatacao)',
@@ -6209,8 +6213,8 @@ exports.default = {
6209
6213
  'escreva(n.formatar()) // 1.234,56\n' +
6210
6214
  'escreva(n.formatar({ minimoCasasDecimais: 2, maximoCasasDecimais: 3 })) // 1.234,568\n```' +
6211
6215
  '\n\n## Formas de uso\n',
6212
- exemploCodigo: 'numero.formatar({ maximoCasasDecimais: 2 })'
6213
- }
6216
+ exemploCodigo: 'numero.formatar({ maximoCasasDecimais: 2 })',
6217
+ },
6214
6218
  };
6215
6219
 
6216
6220
  },{"../informacao-variavel-ou-constante":110}],20:[function(require,module,exports){
@@ -6229,7 +6233,7 @@ exports.default = {
6229
6233
  '\n\n```delegua\nvar t = " meu texto com espaços no início e no fim "\n' +
6230
6234
  'escreva("|" + t.aparar() + "|") // "|meu texto com espaços no início e no fim|"\n```' +
6231
6235
  '\n\n ### Formas de uso \n',
6232
- exemploCodigo: 'texto.aparar()'
6236
+ exemploCodigo: 'texto.aparar()',
6233
6237
  },
6234
6238
  apararFim: {
6235
6239
  tipoRetorno: 'texto',
@@ -6242,7 +6246,7 @@ exports.default = {
6242
6246
  '\n\n```delegua\nvar t = " meu texto com espaços no início e no fim "\n' +
6243
6247
  'escreva("|" + t.apararFim() + "|") // "| meu texto com espaços no início e no fim|"\n```' +
6244
6248
  '\n\n ### Formas de uso \n',
6245
- exemploCodigo: 'texto.apararFim()'
6249
+ exemploCodigo: 'texto.apararFim()',
6246
6250
  },
6247
6251
  apararInicio: {
6248
6252
  tipoRetorno: 'texto',
@@ -6255,12 +6259,12 @@ exports.default = {
6255
6259
  '\n\n```delegua\nvar t = " meu texto com espaços no início e no fim "\n' +
6256
6260
  'escreva("|" + t.apararInicio() + "|") // "|meu texto com espaços no início e no fim |"\n```' +
6257
6261
  '\n\n ### Formas de uso \n',
6258
- exemploCodigo: 'texto.apararInicio()'
6262
+ exemploCodigo: 'texto.apararInicio()',
6259
6263
  },
6260
6264
  concatenar: {
6261
6265
  tipoRetorno: 'texto',
6262
6266
  argumentos: [
6263
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('outroTexto', 'texto', true, [], 'O texto a ser concatenado.')
6267
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('outroTexto', 'texto', true, [], 'O texto a ser concatenado.'),
6264
6268
  ],
6265
6269
  implementacao: (interpretador, nomePrimitiva, ...texto) => Promise.resolve(''.concat(...texto)),
6266
6270
  assinaturaFormato: 'texto.concatenar(...outroTexto: texto)',
@@ -6271,7 +6275,7 @@ exports.default = {
6271
6275
  'var t2 = "dois três"\n' +
6272
6276
  'escreva(t1.concatenar(t2)) // "umdois três"\n```' +
6273
6277
  '\n\n ### Formas de uso \n',
6274
- exemploCodigo: 'texto.concatenar(outroTexto)'
6278
+ exemploCodigo: 'texto.concatenar(outroTexto)',
6275
6279
  },
6276
6280
  dividir: {
6277
6281
  tipoRetorno: 'texto[]',
@@ -6290,9 +6294,9 @@ exports.default = {
6290
6294
  'Divide o texto pelo separador passado como parâmetro.' +
6291
6295
  '\n\n ## Exemplo de Código\n' +
6292
6296
  '\n\n```delegua\nvar t = "um dois três"\n' +
6293
- 't.dividir(\' \') // [\'um\',\'dois\',\'três\']\n```' +
6297
+ "t.dividir(' ') // ['um','dois','três']\n```" +
6294
6298
  '\n\n ### Formas de uso \n',
6295
- exemploCodigo: 'texto.dividir(\'<delimitador (, ; \' \')>\')'
6299
+ exemploCodigo: "texto.dividir('<delimitador (, ; ' ')>')",
6296
6300
  },
6297
6301
  fatiar: {
6298
6302
  tipoRetorno: 'texto',
@@ -6311,13 +6315,12 @@ exports.default = {
6311
6315
  't.fatiar(8, 12) // "três"\n' +
6312
6316
  't.fatiar(8) // "três quatro", ou seja, seleciona tudo da posição 8 até o final do texto.\n```' +
6313
6317
  '\n\n ### Formas de uso \n',
6314
- exemploCodigo: 'texto.fatiar(início, final)\n' +
6315
- 'texto.fatiar(aPartirDaPosicao)'
6318
+ exemploCodigo: 'texto.fatiar(início, final)\n' + 'texto.fatiar(aPartirDaPosicao)',
6316
6319
  },
6317
6320
  inclui: {
6318
6321
  tipoRetorno: 'texto',
6319
6322
  argumentos: [
6320
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('elemento', 'texto', true, [], 'O elemento a ser verificado se está contido no texto.')
6323
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('elemento', 'texto', true, [], 'O elemento a ser verificado se está contido no texto.'),
6321
6324
  ],
6322
6325
  implementacao: (interpretador, nomePrimitiva, texto, elemento) => Promise.resolve(texto.includes(elemento)),
6323
6326
  assinaturaFormato: 'inclui(elemento: texto)',
@@ -6328,7 +6331,7 @@ exports.default = {
6328
6331
  't.inclui("dois") // verdadeiro\n' +
6329
6332
  't.inclui("quatro") // falso\n```' +
6330
6333
  '\n\n ### Formas de uso \n',
6331
- exemploCodigo: 'texto.inclui(\'palavra\')'
6334
+ exemploCodigo: "texto.inclui('palavra')",
6332
6335
  },
6333
6336
  inverter: {
6334
6337
  tipoRetorno: 'texto',
@@ -6341,7 +6344,7 @@ exports.default = {
6341
6344
  '\n\n```delegua\nvar t = "um dois três"\n' +
6342
6345
  't.inverter() // "sêrt siod mu"```' +
6343
6346
  '\n\n ### Formas de uso \n',
6344
- exemploCodigo: 'texto.inverter()'
6347
+ exemploCodigo: 'texto.inverter()',
6345
6348
  },
6346
6349
  maiusculo: {
6347
6350
  tipoRetorno: 'texto',
@@ -6354,7 +6357,7 @@ exports.default = {
6354
6357
  '\n\n```delegua\nvar t = "tudo em minúsculo"\n' +
6355
6358
  'escreva(t.maiusculo()) // "TUDO EM MINÚSCULO"\n```' +
6356
6359
  '\n\n ### Formas de uso \n',
6357
- exemploCodigo: 'texto.maiusculo()'
6360
+ exemploCodigo: 'texto.maiusculo()',
6358
6361
  },
6359
6362
  minusculo: {
6360
6363
  tipoRetorno: 'texto',
@@ -6367,7 +6370,7 @@ exports.default = {
6367
6370
  '\n\n```delegua\nvar t = "TUDO EM MAIÚSCULO"\n' +
6368
6371
  'escreva(t.minusculo()) // "tudo em maiúsculo"\n```' +
6369
6372
  '\n\n ### Formas de uso \n',
6370
- exemploCodigo: 'texto.minusculo()'
6373
+ exemploCodigo: 'texto.minusculo()',
6371
6374
  },
6372
6375
  substituir: {
6373
6376
  tipoRetorno: 'texto',
@@ -6383,7 +6386,7 @@ exports.default = {
6383
6386
  '\n\n```delegua\nvar t = "Eu gosto de caju"\n' +
6384
6387
  't.substituir("caju", "graviola") // Resultado será "Eu gosto de graviola"\n```' +
6385
6388
  '\n\n ### Formas de uso \n',
6386
- exemploCodigo: 'texto.substituir(\'palavra a ser substituída\',\'nova palavra\')'
6389
+ exemploCodigo: "texto.substituir('palavra a ser substituída','nova palavra')",
6387
6390
  },
6388
6391
  subtexto: {
6389
6392
  tipoRetorno: 'texto',
@@ -6399,7 +6402,7 @@ exports.default = {
6399
6402
  '\n\n```delegua\nvar t = "Eu gosto de caju e de graviola"\n' +
6400
6403
  't.subtexto(3, 16) // Resultado será "gosto de caju"\n```' +
6401
6404
  '\n\n ### Formas de uso \n',
6402
- exemploCodigo: 'texto.subtexto(posiçãoInicial, posiçãoFinal)'
6405
+ exemploCodigo: 'texto.subtexto(posiçãoInicial, posiçãoFinal)',
6403
6406
  },
6404
6407
  tamanho: {
6405
6408
  tipoRetorno: 'inteiro',
@@ -6412,7 +6415,7 @@ exports.default = {
6412
6415
  '\n\n```delegua\nvar t = "Um dois três quatro"\n' +
6413
6416
  't.tamanho() // 19\n```' +
6414
6417
  '\n\n ### Formas de uso \n',
6415
- exemploCodigo: 'texto.tamanho()'
6418
+ exemploCodigo: 'texto.tamanho()',
6416
6419
  },
6417
6420
  };
6418
6421
 
@@ -6424,7 +6427,7 @@ exports.default = {
6424
6427
  adicionar: {
6425
6428
  tipoRetorno: 'qualquer[]',
6426
6429
  argumentos: [
6427
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('elemento', 'qualquer', true, [], 'Os elementos a serem adicionados ao vetor.')
6430
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('elemento', 'qualquer', true, [], 'Os elementos a serem adicionados ao vetor.'),
6428
6431
  ],
6429
6432
  implementacao: (interpretador, nomePrimitiva, vetor, elemento) => {
6430
6433
  vetor.push(elemento);
@@ -6442,12 +6445,12 @@ exports.default = {
6442
6445
  'v.adicionar(3)\n' +
6443
6446
  'escreva(v) // [7, 5, 3]\n```' +
6444
6447
  '\n\n ### Formas de uso \n',
6445
- exemploCodigo: 'vetor.adicionar(elemento)'
6448
+ exemploCodigo: 'vetor.adicionar(elemento)',
6446
6449
  },
6447
6450
  concatenar: {
6448
6451
  tipoRetorno: 'qualquer[]',
6449
6452
  argumentos: [
6450
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('outroVetor', 'qualquer[]', true, [], 'O outro vetorm ou outros vetores, a serem concatenados a este vetor.')
6453
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('outroVetor', 'qualquer[]', true, [], 'O outro vetorm ou outros vetores, a serem concatenados a este vetor.'),
6451
6454
  ],
6452
6455
  implementacao: (interpretador, nomePrimitiva, vetor, outroVetor) => {
6453
6456
  return Promise.resolve(vetor.concat(outroVetor));
@@ -6459,13 +6462,11 @@ exports.default = {
6459
6462
  '\n\n```delegua\nvar v = [7, 5, 3]\n' +
6460
6463
  'escreva(v.concatenar([1, 2, 4])) // [7, 5, 3, 1, 2, 4]\n```' +
6461
6464
  '\n\n ### Formas de uso \n',
6462
- exemploCodigo: 'vetor.concatenar(...argumentos)'
6465
+ exemploCodigo: 'vetor.concatenar(...argumentos)',
6463
6466
  },
6464
6467
  empilhar: {
6465
6468
  tipoRetorno: 'qualquer[]',
6466
- argumentos: [
6467
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('elemento', 'qualquer', true, [], '')
6468
- ],
6469
+ argumentos: [new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('elemento', 'qualquer', true, [], '')],
6469
6470
  implementacao: (interpretador, nomePrimitiva, vetor, elemento) => {
6470
6471
  vetor.push(elemento);
6471
6472
  return Promise.resolve(vetor);
@@ -6480,7 +6481,7 @@ exports.default = {
6480
6481
  'v.empilhar(3)\n' +
6481
6482
  'escreva(v) // [7, 5, 3]\n```' +
6482
6483
  '\n\n ### Formas de uso \n',
6483
- exemploCodigo: 'vetor.empilhar(elemento)'
6484
+ exemploCodigo: 'vetor.empilhar(elemento)',
6484
6485
  },
6485
6486
  encaixar: {
6486
6487
  tipoRetorno: 'qualquer[]',
@@ -6520,12 +6521,12 @@ exports.default = {
6520
6521
  '\n\n ### Formas de uso \n' +
6521
6522
  'Fatiar suporta sobrecarga do método.\n\n',
6522
6523
  exemploCodigo: 'vetor.fatiar(<a partir desta posição>)\n' +
6523
- 'vetor.fatiar(<a partir desta posição>, <até esta posição>)'
6524
+ 'vetor.fatiar(<a partir desta posição>, <até esta posição>)',
6524
6525
  },
6525
6526
  filtrarPor: {
6526
6527
  tipoRetorno: 'qualquer[]',
6527
6528
  argumentos: [
6528
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('funcao', 'função', true, [], 'A função de filtragem.')
6529
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('funcao', 'função', true, [], 'A função de filtragem.'),
6529
6530
  ],
6530
6531
  implementacao: async (interpretador, nomePrimitiva, vetor, funcao) => {
6531
6532
  if (funcao === undefined || funcao === null) {
@@ -6534,7 +6535,8 @@ exports.default = {
6534
6535
  const retorno = [];
6535
6536
  for (let elemento of vetor) {
6536
6537
  const resultadoChamada = await funcao.chamar(interpretador, [elemento]);
6537
- if (resultadoChamada.hasOwnProperty('valorRetornado') && resultadoChamada.valorRetornado.valor === true) {
6538
+ if (resultadoChamada.hasOwnProperty('valorRetornado') &&
6539
+ resultadoChamada.valorRetornado.valor === true) {
6538
6540
  retorno.push(elemento);
6539
6541
  }
6540
6542
  }
@@ -6549,12 +6551,12 @@ exports.default = {
6549
6551
  'var funcaoNumerosImpares = funcao (n) { retorna n % 2 > 0 }\n' +
6550
6552
  'escreva(v.filtrarPor(funcaoNumerosImpares)) // "[1, 3, 5]"\n```' +
6551
6553
  '\n\n ### Formas de uso \n',
6552
- exemploCodigo: 'vetor.filtrarPor(funcao (argumento) { <corpo da função com retorna> })'
6554
+ exemploCodigo: 'vetor.filtrarPor(funcao (argumento) { <corpo da função com retorna> })',
6553
6555
  },
6554
6556
  inclui: {
6555
6557
  tipoRetorno: 'lógico',
6556
6558
  argumentos: [
6557
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('elemento', 'qualquer', true, [], 'O elemento a ser verificado se está presente no vetor.')
6559
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('elemento', 'qualquer', true, [], 'O elemento a ser verificado se está presente no vetor.'),
6558
6560
  ],
6559
6561
  implementacao: (interpretador, nomePrimitiva, vetor, elemento) => Promise.resolve(vetor.includes(elemento)),
6560
6562
  assinaturaFormato: 'vetor.inclui(elemento: qualquer)',
@@ -6565,7 +6567,7 @@ exports.default = {
6565
6567
  'escreva(v.inclui(2)) // verdadeiro\n' +
6566
6568
  'escreva(v.inclui(4)) // falso\n```' +
6567
6569
  '\n\n ### Formas de uso \n',
6568
- exemploCodigo: 'vetor.inclui(elemento)'
6570
+ exemploCodigo: 'vetor.inclui(elemento)',
6569
6571
  },
6570
6572
  inverter: {
6571
6573
  tipoRetorno: 'qualquer[]',
@@ -6578,12 +6580,12 @@ exports.default = {
6578
6580
  '\n\n```delegua\nvar v = [1, 2, 3]\n' +
6579
6581
  'escreva(v.inverter()) // [3, 2, 1]\n```' +
6580
6582
  '\n\n ### Formas de uso \n',
6581
- exemploCodigo: 'vetor.inverter()'
6583
+ exemploCodigo: 'vetor.inverter()',
6582
6584
  },
6583
6585
  juntar: {
6584
6586
  tipoRetorno: 'texto',
6585
6587
  argumentos: [
6586
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('separador', 'texto', true, [], 'O separador entre elementos do vetor para o texto.')
6588
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('separador', 'texto', true, [], 'O separador entre elementos do vetor para o texto.'),
6587
6589
  ],
6588
6590
  implementacao: (interpretador, nomePrimitiva, vetor, separador) => Promise.resolve(vetor.join(separador)),
6589
6591
  assinaturaFormato: 'vetor.juntar(separador: texto)',
@@ -6593,12 +6595,12 @@ exports.default = {
6593
6595
  '\n\n```delegua\nvar v = [1, 2, 3]\n' +
6594
6596
  'escreva(v.juntar(":")) // "1:2:3"\n```' +
6595
6597
  '\n\n ### Formas de uso \n',
6596
- exemploCodigo: 'vetor.juntar()'
6598
+ exemploCodigo: 'vetor.juntar()',
6597
6599
  },
6598
6600
  mapear: {
6599
6601
  tipoRetorno: 'qualquer[]',
6600
6602
  argumentos: [
6601
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('funcao', 'função', true, [], 'A função que transforma cada elemento de um vetor em outro elemento a ser retornado em um novo vetor.')
6603
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('funcao', 'função', true, [], 'A função que transforma cada elemento de um vetor em outro elemento a ser retornado em um novo vetor.'),
6602
6604
  ],
6603
6605
  implementacao: async (interpretador, nomePrimitiva, vetor, funcao) => {
6604
6606
  if (funcao === undefined || funcao === null) {
@@ -6620,12 +6622,12 @@ exports.default = {
6620
6622
  'var funcaoPotenciasDeDois = funcao (n) { retorna n ** 2 }\n' +
6621
6623
  'escreva(v.mapear(funcaoPotenciasDeDois)) // [1, 4, 9, 16, 25]\n```' +
6622
6624
  '\n\n ### Formas de uso \n',
6623
- exemploCodigo: 'vetor.mapear(funcao (argumento) { <corpo da função com retorna> })'
6625
+ exemploCodigo: 'vetor.mapear(funcao (argumento) { <corpo da função com retorna> })',
6624
6626
  },
6625
6627
  ordenar: {
6626
6628
  tipoRetorno: 'qualquer[]',
6627
6629
  argumentos: [
6628
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('funcaoOrdenacao', 'função', false, [], '(Opcional) Função para guiar a ordenação.')
6630
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('funcaoOrdenacao', 'função', false, [], '(Opcional) Função para guiar a ordenação.'),
6629
6631
  ],
6630
6632
  implementacao: async (interpretador, nomePrimitiva, vetor, funcaoOrdenacao) => {
6631
6633
  if (funcaoOrdenacao !== undefined && funcaoOrdenacao !== null) {
@@ -6674,12 +6676,12 @@ exports.default = {
6674
6676
  'var v = ["aaa", "a", "aba", "abb", "abc"]\n' +
6675
6677
  'escreva(v.ordenar()) // ["a", "aaa", "aba", "abb", "abc"]\n```' +
6676
6678
  '\n\n ### Formas de uso \n',
6677
- exemploCodigo: 'vetor.ordenar()'
6679
+ exemploCodigo: 'vetor.ordenar()',
6678
6680
  },
6679
6681
  remover: {
6680
6682
  tipoRetorno: 'qualquer[]',
6681
6683
  argumentos: [
6682
- new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('elemento', 'qualquer', true, [], 'O elemento a ser removido do vetor.')
6684
+ new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('elemento', 'qualquer', true, [], 'O elemento a ser removido do vetor.'),
6683
6685
  ],
6684
6686
  implementacao: (interpretador, nomePrimitiva, vetor, elemento) => {
6685
6687
  const index = vetor.indexOf(elemento);
@@ -6695,7 +6697,7 @@ exports.default = {
6695
6697
  'vetor.remover(2)\n' +
6696
6698
  'escreva(vetor) // [1, 3]\n```' +
6697
6699
  '\n\n ### Formas de uso \n',
6698
- exemploCodigo: 'vetor.remover(elemento)'
6700
+ exemploCodigo: 'vetor.remover(elemento)',
6699
6701
  },
6700
6702
  removerPrimeiro: {
6701
6703
  tipoRetorno: 'qualquer',
@@ -6713,7 +6715,7 @@ exports.default = {
6713
6715
  'escreva(primeiroElemento) // 1\n' +
6714
6716
  'escreva(vetor) // [2, 3]\n```' +
6715
6717
  '\n\n ### Formas de uso \n',
6716
- exemploCodigo: 'vetor.removerPrimeiro()'
6718
+ exemploCodigo: 'vetor.removerPrimeiro()',
6717
6719
  },
6718
6720
  removerUltimo: {
6719
6721
  tipoRetorno: 'qualquer',
@@ -6731,7 +6733,7 @@ exports.default = {
6731
6733
  'escreva(ultimoElemento) // 3\n' +
6732
6734
  'escreva(vetor) // [1, 2]\n```' +
6733
6735
  '\n\n ### Formas de uso \n',
6734
- exemploCodigo: 'vetor.removerUltimo()'
6736
+ exemploCodigo: 'vetor.removerUltimo()',
6735
6737
  },
6736
6738
  somar: {
6737
6739
  tipoRetorno: 'qualquer',
@@ -6746,7 +6748,7 @@ exports.default = {
6746
6748
  '\n\n```delegua\nvar vetor = [1, 2, 3, 4, 5]\n' +
6747
6749
  'escreva(vetor.somar()) // 15\n```' +
6748
6750
  '\n\n ### Formas de uso \n',
6749
- exemploCodigo: 'vetor.somar()'
6751
+ exemploCodigo: 'vetor.somar()',
6750
6752
  },
6751
6753
  tamanho: {
6752
6754
  tipoRetorno: 'número',
@@ -6759,7 +6761,7 @@ exports.default = {
6759
6761
  '\n\n```delegua\nvar vetor = [0, 1, 2, 3, 4]\n' +
6760
6762
  'escreva(vetor.tamanho()) // 5\n```' +
6761
6763
  '\n\n ### Formas de uso \n',
6762
- exemploCodigo: 'vetor.tamanho()'
6764
+ exemploCodigo: 'vetor.tamanho()',
6763
6765
  },
6764
6766
  };
6765
6767
 
@@ -6780,10 +6782,10 @@ class AcessoElementoMatriz {
6780
6782
  return await visitante.visitarExpressaoAcessoElementoMatriz(this);
6781
6783
  }
6782
6784
  paraTexto() {
6783
- return `<acesso-elemento-matriz entidadeChamada=${this.entidadeChamada.paraTexto()} ` +
6785
+ return (`<acesso-elemento-matriz entidadeChamada=${this.entidadeChamada.paraTexto()} ` +
6784
6786
  `indicePrimário=${this.indicePrimario.paraTexto()} ` +
6785
6787
  `indiceSecundário=${this.indiceSecundario.paraTexto()} ` +
6786
- `/>`;
6788
+ `/>`);
6787
6789
  }
6788
6790
  }
6789
6791
  exports.AcessoElementoMatriz = AcessoElementoMatriz;
@@ -6808,9 +6810,9 @@ class AcessoIndiceVariavel {
6808
6810
  return await visitante.visitarExpressaoAcessoIndiceVariavel(this);
6809
6811
  }
6810
6812
  paraTexto() {
6811
- return `<acesso-índice-variável entidadeChamada=${this.entidadeChamada.paraTexto()} ` +
6813
+ return (`<acesso-índice-variável entidadeChamada=${this.entidadeChamada.paraTexto()} ` +
6812
6814
  `índice=${this.indice.paraTexto()} ` +
6813
- `/>`;
6815
+ `/>`);
6814
6816
  }
6815
6817
  }
6816
6818
  exports.AcessoIndiceVariavel = AcessoIndiceVariavel;
@@ -6837,9 +6839,9 @@ class AcessoMetodoOuPropriedade {
6837
6839
  return await visitante.visitarExpressaoAcessoMetodoOuPropriedade(this);
6838
6840
  }
6839
6841
  paraTexto() {
6840
- return `<acesso-método-ou-propriedade objeto=${this.objeto.paraTexto()} ` +
6842
+ return (`<acesso-método-ou-propriedade objeto=${this.objeto.paraTexto()} ` +
6841
6843
  `métodoOuPropriedade=${this.simbolo.lexema} ` +
6842
- `/>`;
6844
+ `/>`);
6843
6845
  }
6844
6846
  }
6845
6847
  exports.AcessoMetodoOuPropriedade = AcessoMetodoOuPropriedade;
@@ -6952,10 +6954,10 @@ class AtribuicaoPorIndice {
6952
6954
  return await visitante.visitarExpressaoAtribuicaoPorIndice(this);
6953
6955
  }
6954
6956
  paraTexto() {
6955
- return `<atribuição-por-índice objeto=${this.objeto.paraTexto()} ` +
6957
+ return (`<atribuição-por-índice objeto=${this.objeto.paraTexto()} ` +
6956
6958
  `índice=${this.indice.paraTexto()} ` +
6957
6959
  `valor=${this.valor.paraTexto()} ` +
6958
- `/>`;
6960
+ `/>`);
6959
6961
  }
6960
6962
  }
6961
6963
  exports.AtribuicaoPorIndice = AtribuicaoPorIndice;
@@ -6977,11 +6979,11 @@ class AtribuicaoPorIndicesMatriz {
6977
6979
  return await visitante.visitarExpressaoAtribuicaoPorIndicesMatriz(this);
6978
6980
  }
6979
6981
  paraTexto() {
6980
- return `<atribuição-por-índices-matriz objeto=${this.objeto.paraTexto()} ` +
6982
+ return (`<atribuição-por-índices-matriz objeto=${this.objeto.paraTexto()} ` +
6981
6983
  `índice-primário=${this.indicePrimario.paraTexto()} ` +
6982
6984
  `índice-secundário=${this.indiceSecundario.paraTexto()} ` +
6983
6985
  `valor=${this.valor.paraTexto()} ` +
6984
- ` />`;
6986
+ ` />`);
6985
6987
  }
6986
6988
  }
6987
6989
  exports.AtribuicaoPorIndicesMatriz = AtribuicaoPorIndicesMatriz;
@@ -7013,7 +7015,7 @@ class Atribuir {
7013
7015
  return await visitante.visitarExpressaoDeAtribuicao(this);
7014
7016
  }
7015
7017
  paraTexto() {
7016
- let indiceResolvido = "índice=(não definido)";
7018
+ let indiceResolvido = 'índice=(não definido)';
7017
7019
  if (this.indice) {
7018
7020
  indiceResolvido = `índice=${this.indice.paraTexto()}`;
7019
7021
  }
@@ -7079,10 +7081,10 @@ class Binario {
7079
7081
  return await visitante.visitarExpressaoBinaria(this);
7080
7082
  }
7081
7083
  paraTexto() {
7082
- return `<binário esquerda=${this.esquerda.paraTexto()} operador=${this.operador.lexema} ` +
7084
+ return (`<binário esquerda=${this.esquerda.paraTexto()} operador=${this.operador.lexema} ` +
7083
7085
  `direita=${this.direita.paraTexto()} ` +
7084
7086
  `tipo=${this.tipo} ` +
7085
- `/>`;
7087
+ `/>`);
7086
7088
  }
7087
7089
  }
7088
7090
  exports.Binario = Binario;
@@ -7447,7 +7449,7 @@ class Leia {
7447
7449
  return await visitante.visitarExpressaoLeia(this);
7448
7450
  }
7449
7451
  paraTexto() {
7450
- return `<leia argumentos=[${this.argumentos.reduce((anterior, atual) => anterior += atual.paraTexto(), "")}] />`;
7452
+ return `<leia argumentos=[${this.argumentos.reduce((anterior, atual) => (anterior += atual.paraTexto()), '')}] />`;
7451
7453
  }
7452
7454
  }
7453
7455
  exports.Leia = Leia;
@@ -7488,9 +7490,9 @@ class Logico {
7488
7490
  return await visitante.visitarExpressaoLogica(this);
7489
7491
  }
7490
7492
  paraTexto() {
7491
- return `<lógico esquerda=${this.esquerda.paraTexto()} operador=${this.operador.lexema} ` +
7493
+ return (`<lógico esquerda=${this.esquerda.paraTexto()} operador=${this.operador.lexema} ` +
7492
7494
  `direita=${this.direita.paraTexto()} ` +
7493
- `/>`;
7495
+ `/>`);
7494
7496
  }
7495
7497
  }
7496
7498
  exports.Logico = Logico;
@@ -7646,7 +7648,7 @@ class Deceto extends tupla_1.Tupla {
7646
7648
  this.decimo = valor;
7647
7649
  }
7648
7650
  paraTexto() {
7649
- return `<deceto primeiro=${this.primeiro.paraTexto()} ` +
7651
+ return (`<deceto primeiro=${this.primeiro.paraTexto()} ` +
7650
7652
  `segundo=${this.segundo.paraTexto()} ` +
7651
7653
  `terceiro=${this.terceiro.paraTexto()} ` +
7652
7654
  `quarto=${this.quarto.paraTexto()} ` +
@@ -7656,7 +7658,7 @@ class Deceto extends tupla_1.Tupla {
7656
7658
  `oitavo=${this.oitavo.paraTexto()} ` +
7657
7659
  `nono=${this.nono.paraTexto()} ` +
7658
7660
  `décimo=${this.decimo.paraTexto()} ` +
7659
- ` />`;
7661
+ ` />`);
7660
7662
  }
7661
7663
  }
7662
7664
  exports.Deceto = Deceto;
@@ -7673,9 +7675,9 @@ class Dupla extends tupla_1.Tupla {
7673
7675
  this.segundo = segundo;
7674
7676
  }
7675
7677
  paraTexto() {
7676
- return `<dupla primeiro=${this.primeiro.paraTexto()} ` +
7678
+ return (`<dupla primeiro=${this.primeiro.paraTexto()} ` +
7677
7679
  `segundo=${this.segundo.paraTexto()} ` +
7678
- ` />`;
7680
+ ` />`);
7679
7681
  }
7680
7682
  }
7681
7683
  exports.Dupla = Dupla;
@@ -7773,7 +7775,7 @@ class Noneto extends tupla_1.Tupla {
7773
7775
  this.setimo = valor;
7774
7776
  }
7775
7777
  paraTexto() {
7776
- return `<noneto primeiro=${this.primeiro.paraTexto()} ` +
7778
+ return (`<noneto primeiro=${this.primeiro.paraTexto()} ` +
7777
7779
  `segundo=${this.segundo.paraTexto()} ` +
7778
7780
  `terceiro=${this.terceiro.paraTexto()} ` +
7779
7781
  `quarto=${this.quarto.paraTexto()} ` +
@@ -7782,7 +7784,7 @@ class Noneto extends tupla_1.Tupla {
7782
7784
  `sétimo=${this.setimo.paraTexto()} ` +
7783
7785
  `oitavo=${this.oitavo.paraTexto()} ` +
7784
7786
  `nono=${this.nono.paraTexto()} ` +
7785
- ` />`;
7787
+ ` />`);
7786
7788
  }
7787
7789
  }
7788
7790
  exports.Noneto = Noneto;
@@ -7811,7 +7813,7 @@ class Octeto extends tupla_1.Tupla {
7811
7813
  this.setimo = valor;
7812
7814
  }
7813
7815
  paraTexto() {
7814
- return `<octeto primeiro=${this.primeiro.paraTexto()} ` +
7816
+ return (`<octeto primeiro=${this.primeiro.paraTexto()} ` +
7815
7817
  `segundo=${this.segundo.paraTexto()} ` +
7816
7818
  `terceiro=${this.terceiro.paraTexto()} ` +
7817
7819
  `quarto=${this.quarto.paraTexto()} ` +
@@ -7819,7 +7821,7 @@ class Octeto extends tupla_1.Tupla {
7819
7821
  `sexto=${this.sexto.paraTexto()} ` +
7820
7822
  `sétimo=${this.setimo.paraTexto()} ` +
7821
7823
  `oitavo=${this.oitavo.paraTexto()} ` +
7822
- ` />`;
7824
+ ` />`);
7823
7825
  }
7824
7826
  }
7825
7827
  exports.Octeto = Octeto;
@@ -7838,11 +7840,11 @@ class Quarteto extends tupla_1.Tupla {
7838
7840
  this.quarto = quarto;
7839
7841
  }
7840
7842
  paraTexto() {
7841
- return `<quarteto primeiro=${this.primeiro.paraTexto()} ` +
7843
+ return (`<quarteto primeiro=${this.primeiro.paraTexto()} ` +
7842
7844
  `segundo=${this.segundo.paraTexto()} ` +
7843
7845
  `terceiro=${this.terceiro.paraTexto()} ` +
7844
7846
  `quarto=${this.quarto.paraTexto()} ` +
7845
- ` />`;
7847
+ ` />`);
7846
7848
  }
7847
7849
  }
7848
7850
  exports.Quarteto = Quarteto;
@@ -7862,12 +7864,12 @@ class Quinteto extends tupla_1.Tupla {
7862
7864
  this.quinto = quinto;
7863
7865
  }
7864
7866
  paraTexto() {
7865
- return `<quinteto primeiro=${this.primeiro.paraTexto()} ` +
7867
+ return (`<quinteto primeiro=${this.primeiro.paraTexto()} ` +
7866
7868
  `segundo=${this.segundo.paraTexto()} ` +
7867
7869
  `terceiro=${this.terceiro.paraTexto()} ` +
7868
7870
  `quarto=${this.quarto.paraTexto()} ` +
7869
7871
  `quinto=${this.quinto.paraTexto()} ` +
7870
- ` />`;
7872
+ ` />`);
7871
7873
  }
7872
7874
  }
7873
7875
  exports.Quinteto = Quinteto;
@@ -7895,14 +7897,14 @@ class Septeto extends tupla_1.Tupla {
7895
7897
  this.setimo = valor;
7896
7898
  }
7897
7899
  paraTexto() {
7898
- return `<septeto primeiro=${this.primeiro.paraTexto()} ` +
7900
+ return (`<septeto primeiro=${this.primeiro.paraTexto()} ` +
7899
7901
  `segundo=${this.segundo.paraTexto()} ` +
7900
7902
  `terceiro=${this.terceiro.paraTexto()} ` +
7901
7903
  `quarto=${this.quarto.paraTexto()} ` +
7902
7904
  `quinto=${this.quinto.paraTexto()} ` +
7903
7905
  `sexto=${this.sexto.paraTexto()} ` +
7904
7906
  `sétimo=${this.setimo.paraTexto()} ` +
7905
- ` />`;
7907
+ ` />`);
7906
7908
  }
7907
7909
  }
7908
7910
  exports.Septeto = Septeto;
@@ -7923,13 +7925,13 @@ class Sexteto extends tupla_1.Tupla {
7923
7925
  this.sexto = sexto;
7924
7926
  }
7925
7927
  paraTexto() {
7926
- return `<sexteto primeiro=${this.primeiro.paraTexto()} ` +
7928
+ return (`<sexteto primeiro=${this.primeiro.paraTexto()} ` +
7927
7929
  `segundo=${this.segundo.paraTexto()} ` +
7928
7930
  `terceiro=${this.terceiro.paraTexto()} ` +
7929
7931
  `quarto=${this.quarto.paraTexto()} ` +
7930
7932
  `quinto=${this.quinto.paraTexto()} ` +
7931
7933
  `sexto=${this.sexto.paraTexto()} ` +
7932
- ` />`;
7934
+ ` />`);
7933
7935
  }
7934
7936
  }
7935
7937
  exports.Sexteto = Sexteto;
@@ -7947,10 +7949,10 @@ class Trio extends tupla_1.Tupla {
7947
7949
  this.terceiro = terceiro;
7948
7950
  }
7949
7951
  paraTexto() {
7950
- return `<trio primeiro=${this.primeiro.paraTexto()} ` +
7952
+ return (`<trio primeiro=${this.primeiro.paraTexto()} ` +
7951
7953
  `segundo=${this.segundo.paraTexto()} ` +
7952
7954
  `terceiro=${this.terceiro.paraTexto()} ` +
7953
- ` />`;
7955
+ ` />`);
7954
7956
  }
7955
7957
  }
7956
7958
  exports.Trio = Trio;
@@ -8017,7 +8019,7 @@ class Vetor {
8017
8019
  return await visitante.visitarExpressaoVetor(this);
8018
8020
  }
8019
8021
  paraTexto() {
8020
- return `<vetor tipo=${this.tipo} valores=${this.valores.reduce((anterior, atual) => anterior += atual.paraTexto(), "")} />`;
8022
+ return `<vetor tipo=${this.tipo} valores=${this.valores.reduce((anterior, atual) => (anterior += atual.paraTexto()), '')} />`;
8021
8023
  }
8022
8024
  }
8023
8025
  exports.Vetor = Vetor;
@@ -8057,11 +8059,11 @@ class Bloco extends declaracao_1.Declaracao {
8057
8059
  return await visitante.visitarExpressaoBloco(this);
8058
8060
  }
8059
8061
  paraTexto() {
8060
- let resultado = "<bloco>";
8062
+ let resultado = '<bloco>';
8061
8063
  for (const declaracao of this.declaracoes) {
8062
8064
  resultado += `${declaracao.paraTexto()}`;
8063
8065
  }
8064
- resultado += "</bloco>";
8066
+ resultado += '</bloco>';
8065
8067
  return resultado;
8066
8068
  }
8067
8069
  }
@@ -8111,7 +8113,7 @@ class Classe extends declaracao_1.Declaracao {
8111
8113
  if (this.superClasse) {
8112
8114
  resultado += `herda=${this.superClasse} `;
8113
8115
  }
8114
- resultado += ">";
8116
+ resultado += '>';
8115
8117
  for (const propriedade of this.propriedades) {
8116
8118
  resultado += `${propriedade.paraTexto()}`;
8117
8119
  }
@@ -8305,7 +8307,7 @@ class EscrevaMesmaLinha extends declaracao_1.Declaracao {
8305
8307
  return await visitante.visitarDeclaracaoEscrevaMesmaLinha(this);
8306
8308
  }
8307
8309
  paraTexto() {
8308
- return `<escreva-mesma-linha argumentos=${this.argumentos.reduce((anterior, atual) => anterior += atual.paraTexto(), "")} />`;
8310
+ return `<escreva-mesma-linha argumentos=${this.argumentos.reduce((anterior, atual) => (anterior += atual.paraTexto()), '')} />`;
8309
8311
  }
8310
8312
  }
8311
8313
  exports.EscrevaMesmaLinha = EscrevaMesmaLinha;
@@ -8324,7 +8326,7 @@ class Escreva extends declaracao_1.Declaracao {
8324
8326
  return await visitante.visitarDeclaracaoEscreva(this);
8325
8327
  }
8326
8328
  paraTexto() {
8327
- return `<escreva argumentos=${this.argumentos.reduce((anterior, atual) => anterior += atual.paraTexto(), "")} />`;
8329
+ return `<escreva argumentos=${this.argumentos.reduce((anterior, atual) => (anterior += atual.paraTexto()), '')} />`;
8328
8330
  }
8329
8331
  }
8330
8332
  exports.Escreva = Escreva;
@@ -8494,7 +8496,7 @@ __exportStar(require("./var-multiplo"), exports);
8494
8496
  Object.defineProperty(exports, "__esModule", { value: true });
8495
8497
  exports.InicioAlgoritmo = void 0;
8496
8498
  const declaracao_1 = require("./declaracao");
8497
- // TODO: Localizar dialeto que usa este construto e mover
8499
+ // TODO: Localizar dialeto que usa este construto e mover
8498
8500
  // esta classe para ele.
8499
8501
  class InicioAlgoritmo extends declaracao_1.Declaracao {
8500
8502
  constructor(linha, hashArquivo) {
@@ -8556,9 +8558,9 @@ class Para extends declaracao_1.Declaracao {
8556
8558
  return await visitante.visitarDeclaracaoPara(this);
8557
8559
  }
8558
8560
  paraTexto() {
8559
- let inicializador = "";
8561
+ let inicializador = '';
8560
8562
  if (Array.isArray(this.inicializador)) {
8561
- inicializador = this.inicializador.reduce((anterior, atual) => anterior += atual.paraTexto() + ` `, "inicialização=");
8563
+ inicializador = this.inicializador.reduce((anterior, atual) => (anterior += atual.paraTexto() + ` `), 'inicialização=');
8562
8564
  }
8563
8565
  else if (this.inicializador) {
8564
8566
  inicializador = `inicialização=${this.inicializador.paraTexto()} `;
@@ -9971,7 +9973,7 @@ function tipoInferenciaParaTipoDadosElementar(tipoInferencia) {
9971
9973
  Object.defineProperty(exports, "__esModule", { value: true });
9972
9974
  exports.InformacaoVariavelOuConstante = void 0;
9973
9975
  class InformacaoVariavelOuConstante {
9974
- constructor(nome, tipo, obrigatorio = true, argumentos = [], documentacao = "") {
9976
+ constructor(nome, tipo, obrigatorio = true, argumentos = [], documentacao = '') {
9975
9977
  this.argumentos = [];
9976
9978
  this.nome = nome;
9977
9979
  this.tipo = tipo;
@@ -11117,7 +11119,7 @@ class InterpretadorBase {
11117
11119
  return valor;
11118
11120
  }
11119
11121
  const valorAnteriorIncremento = valor;
11120
- // TODO: Provavelmente isso está incorreto. Descobrir se operando resolve para
11122
+ // TODO: Provavelmente isso está incorreto. Descobrir se operando resolve para
11121
11123
  // `Construto` ou para `Simbolo`.
11122
11124
  this.pilhaEscoposExecucao.atribuirVariavel(expressao.operando.simbolo, ++valor);
11123
11125
  return valorAnteriorIncremento;
@@ -11130,7 +11132,7 @@ class InterpretadorBase {
11130
11132
  return valor;
11131
11133
  }
11132
11134
  const valorAnteriorDecremento = valor;
11133
- // TODO: Provavelmente isso está incorreto. Descobrir se operando resolve para
11135
+ // TODO: Provavelmente isso está incorreto. Descobrir se operando resolve para
11134
11136
  // `Construto` ou para `Simbolo`.
11135
11137
  this.pilhaEscoposExecucao.atribuirVariavel(expressao.operando.simbolo, --valor);
11136
11138
  return valorAnteriorDecremento;
@@ -11536,8 +11538,7 @@ class InterpretadorBase {
11536
11538
  // para vetor de duplas.
11537
11539
  // TODO: Converter elementos para `Construto` se necessário.
11538
11540
  if (declaracao.vetor.tipo === 'dicionário') {
11539
- valorVetorResolvido = Object.entries(valorVetorResolvido)
11540
- .map(v => new construtos_1.Dupla(v[0], v[1]));
11541
+ valorVetorResolvido = Object.entries(valorVetorResolvido).map((v) => new construtos_1.Dupla(v[0], v[1]));
11541
11542
  }
11542
11543
  if (!Array.isArray(valorVetorResolvido)) {
11543
11544
  return Promise.reject("Variável ou literal provida em instrução 'para cada' não é um vetor.");
@@ -11744,7 +11745,7 @@ class InterpretadorBase {
11744
11745
  this.funcaoDeRetornoMesmaLinha(formatoTexto);
11745
11746
  return {
11746
11747
  tipo: 'vazio',
11747
- tipoExplicito: false
11748
+ tipoExplicito: false,
11748
11749
  };
11749
11750
  }
11750
11751
  catch (erro) {
@@ -11767,7 +11768,7 @@ class InterpretadorBase {
11767
11768
  this.funcaoDeRetorno(formatoTexto);
11768
11769
  return {
11769
11770
  tipo: 'vazio',
11770
- tipoExplicito: false
11771
+ tipoExplicito: false,
11771
11772
  };
11772
11773
  }
11773
11774
  catch (erro) {
@@ -11827,7 +11828,7 @@ class InterpretadorBase {
11827
11828
  this.pilhaEscoposExecucao.definirConstante(declaracao.simbolo.lexema, valorFinal, declaracao.tipo);
11828
11829
  return {
11829
11830
  tipo: declaracao.tipo,
11830
- tipoExplicito: declaracao.tipoExplicito
11831
+ tipoExplicito: declaracao.tipoExplicito,
11831
11832
  };
11832
11833
  }
11833
11834
  /**
@@ -12030,7 +12031,7 @@ class InterpretadorBase {
12030
12031
  if (objeto.constructor === Object) {
12031
12032
  if (expressao.simbolo.lexema in primitivas_dicionario_1.default) {
12032
12033
  const metodoDePrimitivaDicionario = primitivas_dicionario_1.default[expressao.simbolo.lexema].implementacao;
12033
- return new metodo_primitiva_1.MetodoPrimitiva("", objeto, metodoDePrimitivaDicionario);
12034
+ return new metodo_primitiva_1.MetodoPrimitiva('', objeto, metodoDePrimitivaDicionario);
12034
12035
  }
12035
12036
  return objeto[expressao.simbolo.lexema];
12036
12037
  }
@@ -12074,8 +12075,7 @@ class InterpretadorBase {
12074
12075
  dicionario[chaveLogico] = promises[1];
12075
12076
  continue;
12076
12077
  }
12077
- dicionario[promises[0]] =
12078
- this.resolverValor(promises[1]);
12078
+ dicionario[promises[0]] = this.resolverValor(promises[1]);
12079
12079
  }
12080
12080
  return dicionario;
12081
12081
  }
@@ -12084,7 +12084,7 @@ class InterpretadorBase {
12084
12084
  for (let i = 0; i < expressao.valores.length; i++) {
12085
12085
  valores.push(await this.avaliar(expressao.valores[i]));
12086
12086
  }
12087
- return valores.filter(v => v !== null && v !== undefined);
12087
+ return valores.filter((v) => v !== null && v !== undefined);
12088
12088
  }
12089
12089
  visitarExpressaoSuper(expressao) {
12090
12090
  const objeto = this.pilhaEscoposExecucao.obterVariavelPorNome('isto');
@@ -12102,8 +12102,8 @@ class InterpretadorBase {
12102
12102
  tipoResolvido = tipoResolvido.replace('função<', '').replace('>', '');
12103
12103
  }
12104
12104
  this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, valorFinal, tipoResolvido);
12105
- // TODO: É relevante registrar uma declaração de variável no
12106
- // resultado do interpretador?
12105
+ // TODO: É relevante registrar uma declaração de variável no
12106
+ // resultado do interpretador?
12107
12107
  /* return {
12108
12108
  tipo: declaracao.tipo,
12109
12109
  tipoExplicito: declaracao.tipoExplicito
@@ -12131,8 +12131,7 @@ class InterpretadorBase {
12131
12131
  }
12132
12132
  if (objeto.valor instanceof estruturas_1.ObjetoPadrao)
12133
12133
  return objeto.valor.paraTexto();
12134
- if (objeto instanceof estruturas_1.ObjetoDeleguaClasse ||
12135
- objeto instanceof estruturas_1.DeleguaFuncao)
12134
+ if (objeto instanceof estruturas_1.ObjetoDeleguaClasse || objeto instanceof estruturas_1.DeleguaFuncao)
12136
12135
  return objeto.paraTexto();
12137
12136
  if (objeto instanceof quebras_1.RetornoQuebra) {
12138
12137
  if (typeof objeto.valor === 'boolean')
@@ -12219,7 +12218,7 @@ class InterpretadorBase {
12219
12218
  hashArquivo: declaracao.hashArquivo,
12220
12219
  linha: declaracao.linha,
12221
12220
  valorRetornado: resultado,
12222
- tipo: tipoResultado
12221
+ tipo: tipoResultado,
12223
12222
  };
12224
12223
  }
12225
12224
  /**
@@ -12236,7 +12235,7 @@ class InterpretadorBase {
12236
12235
  const ultimoEscopo = this.pilhaEscoposExecucao.topoDaPilha();
12237
12236
  let retornoExecucao;
12238
12237
  try {
12239
- for (; !(retornoExecucao instanceof quebras_1.Quebra) &&
12238
+ for (; !(retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.Quebra) &&
12240
12239
  ultimoEscopo.declaracaoAtual < ultimoEscopo.declaracoes.length; ultimoEscopo.declaracaoAtual++) {
12241
12240
  const declaracaoAtual = ultimoEscopo.declaracoes[ultimoEscopo.declaracaoAtual];
12242
12241
  this.linhaDeclaracaoAtual = declaracaoAtual.linha;
@@ -12392,8 +12391,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
12392
12391
  }
12393
12392
  if (objeto.valor instanceof estruturas_1.ObjetoPadrao)
12394
12393
  return objeto.valor.paraTexto();
12395
- if (objeto instanceof estruturas_1.ObjetoDeleguaClasse ||
12396
- objeto instanceof estruturas_1.DeleguaFuncao)
12394
+ if (objeto instanceof estruturas_1.ObjetoDeleguaClasse || objeto instanceof estruturas_1.DeleguaFuncao)
12397
12395
  return objeto.paraTexto();
12398
12396
  if (objeto instanceof quebras_1.RetornoQuebra) {
12399
12397
  if (typeof objeto.valor === 'boolean')
@@ -12469,7 +12467,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
12469
12467
  this.pilhaEscoposExecucao.registrarReferenciaFuncao(declaracao.id, funcao);
12470
12468
  return {
12471
12469
  tipo: `função<${funcao.declaracao.tipo || 'qualquer'}>`,
12472
- tipoExplicito: funcao.declaracao.tipoExplicito
12470
+ tipoExplicito: funcao.declaracao.tipoExplicito,
12473
12471
  };
12474
12472
  }
12475
12473
  async visitarExpressaoAcessoIndiceVariavel(expressao) {
@@ -12673,7 +12671,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
12673
12671
  }
12674
12672
  break;
12675
12673
  }
12676
- // Objeto de uma classe JavaScript regular (ou seja, com construtor e propriedades)
12674
+ // Objeto de uma classe JavaScript regular (ou seja, com construtor e propriedades)
12677
12675
  // que possua a propriedade.
12678
12676
  // Exemplos: classes de LinConEs, como `RetornoComando`, ou bibliotecas globais com objetos próprios.
12679
12677
  if (objeto.hasOwnProperty && objeto.hasOwnProperty(expressao.simbolo.lexema)) {
@@ -12699,7 +12697,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
12699
12697
  // Outro caso que `instanceof` simplesmente não funciona para casos em Liquido,
12700
12698
  // então testamos também o nome do construtor.
12701
12699
  if (objeto instanceof estruturas_1.ObjetoDeleguaClasse ||
12702
- objeto.constructor && objeto.constructor.name === 'ObjetoDeleguaClasse') {
12700
+ (objeto.constructor && objeto.constructor.name === 'ObjetoDeleguaClasse')) {
12703
12701
  return objeto.obterMetodo(expressao.nomePropriedade) || null;
12704
12702
  }
12705
12703
  // Objeto simples do JavaScript, ou dicionário de Delégua.
@@ -12942,7 +12940,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
12942
12940
  return valorTipoDe.tipo;
12943
12941
  case 'Vetor':
12944
12942
  const vetor = valorTipoDe;
12945
- const apenasValores = vetor.valores.filter(v => !['ComentarioComoConstruto', 'Separador'].includes(v.constructor.name));
12943
+ const apenasValores = vetor.valores.filter((v) => !['ComentarioComoConstruto', 'Separador'].includes(v.constructor.name));
12946
12944
  return (0, inferenciador_1.inferirTipoVariavel)(apenasValores);
12947
12945
  default:
12948
12946
  return (0, inferenciador_1.inferirTipoVariavel)(valorTipoDe);
@@ -12988,7 +12986,8 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
12988
12986
  const escopoFinalizado = this.pilhaEscoposExecucao.removerUltimo();
12989
12987
  const escopoAnterior = this.pilhaEscoposExecucao.topoDaPilha();
12990
12988
  this.montao.excluirReferencias(...escopoFinalizado.espacoMemoria.enderecosMontao);
12991
- if (manterAmbiente || (retornoExecucao && retornoExecucao.valorRetornado.preservarEscopo === true)) {
12989
+ if (manterAmbiente ||
12990
+ (retornoExecucao && retornoExecucao.valorRetornado.preservarEscopo === true)) {
12992
12991
  escopoAnterior.espacoMemoria.valores = Object.assign(escopoAnterior.espacoMemoria.valores, ultimoEscopo.espacoMemoria.valores);
12993
12992
  }
12994
12993
  }
@@ -13428,8 +13427,8 @@ class LexadorCalango {
13428
13427
  eFinalDoCodigo() {
13429
13428
  if (this.linha > this.codigo.length - 1)
13430
13429
  return true;
13431
- return this.linha == this.codigo.length - 1 &&
13432
- this.codigo[this.codigo.length - 1].length <= this.atual;
13430
+ return (this.linha == this.codigo.length - 1 &&
13431
+ this.codigo[this.codigo.length - 1].length <= this.atual);
13433
13432
  }
13434
13433
  eUltimaLinha() {
13435
13434
  return this.linha >= this.codigo.length - 1;
@@ -13503,7 +13502,8 @@ class LexadorCalango {
13503
13502
  }
13504
13503
  identificarPalavraChave() {
13505
13504
  const linhaPrimeiroCaracter = this.linha;
13506
- while (this.eAlfabetoOuDigito(this.simboloAtual()) && this.linha === linhaPrimeiroCaracter) {
13505
+ while (this.eAlfabetoOuDigito(this.simboloAtual()) &&
13506
+ this.linha === linhaPrimeiroCaracter) {
13507
13507
  this.avancar();
13508
13508
  }
13509
13509
  let textoPalavraChave;
@@ -13602,7 +13602,7 @@ class LexadorCalango {
13602
13602
  }
13603
13603
  return {
13604
13604
  simbolos: this.simbolos,
13605
- erros: this.erros
13605
+ erros: this.erros,
13606
13606
  };
13607
13607
  }
13608
13608
  }
@@ -16282,7 +16282,7 @@ class Quebra {
16282
16282
  }
16283
16283
  exports.Quebra = Quebra;
16284
16284
  class RetornoQuebra extends Quebra {
16285
- constructor(valor, tipo = "qualquer") {
16285
+ constructor(valor, tipo = 'qualquer') {
16286
16286
  super();
16287
16287
  this.valor = valor;
16288
16288
  this.tipo = tipo;