@designliquido/delegua 0.68.0 → 0.70.0

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 (144) hide show
  1. package/analisador-semantico/analisador-semantico-base.d.ts +2 -1
  2. package/analisador-semantico/analisador-semantico-base.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico-base.js +8 -0
  4. package/analisador-semantico/analisador-semantico-base.js.map +1 -1
  5. package/analisador-semantico/analisador-semantico.d.ts +4 -1
  6. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  7. package/analisador-semantico/analisador-semantico.js +82 -11
  8. package/analisador-semantico/analisador-semantico.js.map +1 -1
  9. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts +3 -1
  10. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
  11. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +17 -0
  12. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
  13. package/avaliador-sintatico/avaliador-sintatico.d.ts +15 -12
  14. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  15. package/avaliador-sintatico/avaliador-sintatico.js +130 -82
  16. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  17. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +3 -2
  18. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  19. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +76 -31
  20. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  21. package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.d.ts +11 -6
  22. package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.d.ts.map +1 -1
  23. package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js +81 -41
  24. package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js.map +1 -1
  25. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.d.ts +5 -0
  26. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.d.ts.map +1 -1
  27. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js +46 -5
  28. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js.map +1 -1
  29. package/avaliador-sintatico/pilha-escopos.d.ts +1 -0
  30. package/avaliador-sintatico/pilha-escopos.d.ts.map +1 -1
  31. package/avaliador-sintatico/pilha-escopos.js +9 -0
  32. package/avaliador-sintatico/pilha-escopos.js.map +1 -1
  33. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  34. package/bibliotecas/biblioteca-global.js +11 -2
  35. package/bibliotecas/biblioteca-global.js.map +1 -1
  36. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts.map +1 -1
  37. package/bibliotecas/dialetos/pitugues/biblioteca-global.js +26 -8
  38. package/bibliotecas/dialetos/pitugues/biblioteca-global.js.map +1 -1
  39. package/bin/package.json +2 -2
  40. package/construtos/ajuda-como-construto.d.ts +18 -0
  41. package/construtos/ajuda-como-construto.d.ts.map +1 -0
  42. package/construtos/ajuda-como-construto.js +32 -0
  43. package/construtos/ajuda-como-construto.js.map +1 -0
  44. package/construtos/index.d.ts +2 -0
  45. package/construtos/index.d.ts.map +1 -1
  46. package/construtos/index.js +2 -0
  47. package/construtos/index.js.map +1 -1
  48. package/construtos/tupla-n.d.ts +11 -0
  49. package/construtos/tupla-n.d.ts.map +1 -0
  50. package/construtos/tupla-n.js +26 -0
  51. package/construtos/tupla-n.js.map +1 -0
  52. package/declaracoes/ajuda.d.ts +13 -0
  53. package/declaracoes/ajuda.d.ts.map +1 -0
  54. package/declaracoes/ajuda.js +25 -0
  55. package/declaracoes/ajuda.js.map +1 -0
  56. package/declaracoes/index.d.ts +1 -0
  57. package/declaracoes/index.d.ts.map +1 -1
  58. package/declaracoes/index.js +1 -0
  59. package/declaracoes/index.js.map +1 -1
  60. package/declaracoes/var.d.ts +1 -0
  61. package/declaracoes/var.d.ts.map +1 -1
  62. package/declaracoes/var.js +1 -0
  63. package/declaracoes/var.js.map +1 -1
  64. package/formatadores/formatador-delegua.d.ts +2 -1
  65. package/formatadores/formatador-delegua.d.ts.map +1 -1
  66. package/formatadores/formatador-delegua.js +10 -0
  67. package/formatadores/formatador-delegua.js.map +1 -1
  68. package/formatadores/formatador-pitugues.d.ts +2 -1
  69. package/formatadores/formatador-pitugues.d.ts.map +1 -1
  70. package/formatadores/formatador-pitugues.js +11 -0
  71. package/formatadores/formatador-pitugues.js.map +1 -1
  72. package/interfaces/visitante-comum-interface.d.ts +2 -1
  73. package/interfaces/visitante-comum-interface.d.ts.map +1 -1
  74. package/interfaces/visitante-delegua-interface.d.ts +4 -2
  75. package/interfaces/visitante-delegua-interface.d.ts.map +1 -1
  76. package/interpretador/comum.d.ts +1 -0
  77. package/interpretador/comum.d.ts.map +1 -1
  78. package/interpretador/comum.js +301 -0
  79. package/interpretador/comum.js.map +1 -1
  80. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +2 -1
  81. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
  82. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +28 -0
  83. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  84. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +2 -1
  85. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts.map +1 -1
  86. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +3 -0
  87. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  88. package/interpretador/dialetos/pitugues/comum.d.ts +2 -1
  89. package/interpretador/dialetos/pitugues/comum.d.ts.map +1 -1
  90. package/interpretador/dialetos/pitugues/comum.js +35 -9
  91. package/interpretador/dialetos/pitugues/comum.js.map +1 -1
  92. package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.d.ts +5 -1
  93. package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.d.ts.map +1 -1
  94. package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.js +35 -0
  95. package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.js.map +1 -1
  96. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts +5 -1
  97. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -1
  98. package/interpretador/dialetos/pitugues/interpretador-pitugues.js +35 -0
  99. package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
  100. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +2 -1
  101. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
  102. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +4 -0
  103. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  104. package/interpretador/interpretador-base.d.ts +2 -1
  105. package/interpretador/interpretador-base.d.ts.map +1 -1
  106. package/interpretador/interpretador-base.js +3 -0
  107. package/interpretador/interpretador-base.js.map +1 -1
  108. package/interpretador/interpretador.d.ts +12 -2
  109. package/interpretador/interpretador.d.ts.map +1 -1
  110. package/interpretador/interpretador.js +28 -0
  111. package/interpretador/interpretador.js.map +1 -1
  112. package/lexador/dialetos/lexador-pitugues.d.ts +1 -1
  113. package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
  114. package/lexador/dialetos/lexador-pitugues.js +20 -3
  115. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  116. package/lexador/palavras-reservadas.d.ts +13 -1
  117. package/lexador/palavras-reservadas.d.ts.map +1 -1
  118. package/lexador/palavras-reservadas.js +14 -2
  119. package/lexador/palavras-reservadas.js.map +1 -1
  120. package/package.json +2 -2
  121. package/tipos-de-dados/delegua.d.ts +2 -0
  122. package/tipos-de-dados/delegua.d.ts.map +1 -1
  123. package/tipos-de-dados/delegua.js +2 -0
  124. package/tipos-de-dados/delegua.js.map +1 -1
  125. package/tipos-de-simbolos/delegua.d.ts +2 -2
  126. package/tipos-de-simbolos/delegua.js +2 -2
  127. package/tipos-de-simbolos/delegua.js.map +1 -1
  128. package/tipos-de-simbolos/pitugues.d.ts +1 -0
  129. package/tipos-de-simbolos/pitugues.d.ts.map +1 -1
  130. package/tipos-de-simbolos/pitugues.js +1 -0
  131. package/tipos-de-simbolos/pitugues.js.map +1 -1
  132. package/tradutores/mermaid/index.d.ts +1 -0
  133. package/tradutores/mermaid/index.d.ts.map +1 -1
  134. package/tradutores/mermaid/index.js +1 -0
  135. package/tradutores/mermaid/index.js.map +1 -1
  136. package/tradutores/mermaid/subgrafo-funcao.d.ts +11 -0
  137. package/tradutores/mermaid/subgrafo-funcao.d.ts.map +1 -0
  138. package/tradutores/mermaid/subgrafo-funcao.js +14 -0
  139. package/tradutores/mermaid/subgrafo-funcao.js.map +1 -0
  140. package/tradutores/tradutor-mermaidjs.d.ts +12 -3
  141. package/tradutores/tradutor-mermaidjs.d.ts.map +1 -1
  142. package/tradutores/tradutor-mermaidjs.js +25 -12
  143. package/tradutores/tradutor-mermaidjs.js.map +1 -1
  144. package/umd/delegua.js +1731 -620
@@ -44,7 +44,7 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
44
44
  sincronizar() {
45
45
  this.avancarEDevolverAnterior();
46
46
  while (!this.estaNoFinal()) {
47
- switch (this.simboloAtual().tipo) {
47
+ switch (this.simbolos[this.atual].tipo) {
48
48
  case prisma_1.default.CLASSE:
49
49
  case prisma_1.default.FUNCAO:
50
50
  case prisma_1.default.FUNÇÃO:
@@ -79,28 +79,9 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
79
79
  }
80
80
  throw this.erro(simboloErro, mensagemDeErro);
81
81
  }
82
- verificarTipoSimboloAtual(tipo) {
83
- if (this.estaNoFinal())
84
- return false;
85
- return this.simboloAtual().tipo === tipo;
86
- }
87
- verificarTipoProximoSimbolo(tipo) {
88
- if (this.estaNoFinal())
89
- return false;
90
- return this.simbolos[this.atual + 1].tipo === tipo;
91
- }
92
- simboloAtual() {
93
- return this.simbolos[this.atual];
94
- }
95
- simboloAnterior() {
96
- return this.simbolos[this.atual - 1];
97
- }
98
82
  simboloNaPosicao(posicao) {
99
83
  return this.simbolos[this.atual + posicao];
100
84
  }
101
- estaNoFinal() {
102
- return this.atual >= this.simbolos.length;
103
- }
104
85
  avancarEDevolverAnterior() {
105
86
  if (!this.estaNoFinal())
106
87
  this.atual += 1;
@@ -122,7 +103,7 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
122
103
  switch (simboloAtual.tipo) {
123
104
  case prisma_1.default.COLCHETE_ESQUERDO:
124
105
  this.avancarEDevolverAnterior();
125
- switch (this.simboloAtual().tipo) {
106
+ switch (this.simbolos[this.atual].tipo) {
126
107
  case prisma_1.default.COLCHETE_ESQUERDO: // Texto multilinhas
127
108
  return this.construtoTextoMultilinhas();
128
109
  default:
@@ -200,7 +181,7 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
200
181
  const simboloSuper = this.avancarEDevolverAnterior();
201
182
  return new construtos_1.Super(this.hashArquivo, simboloSuper, this.superclasseAtual);
202
183
  }
203
- throw this.erro(this.simboloAtual(), 'Esperado expressão.');
184
+ throw this.erro(this.simbolos[this.atual], 'Esperado expressão.');
204
185
  }
205
186
  expressaoImportar() {
206
187
  throw new Error('Método não implementado.');
@@ -241,7 +222,7 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
241
222
  if (!this.verificarTipoSimboloAtual(prisma_1.default.PARENTESE_DIREITO)) {
242
223
  do {
243
224
  if (argumentos.length >= 255) {
244
- throw this.erro(this.simboloAtual(), 'Não pode haver mais de 255 argumentos.');
225
+ throw this.erro(this.simbolos[this.atual], 'Não pode haver mais de 255 argumentos.');
245
226
  }
246
227
  argumentos.push(this.expressao());
247
228
  } while (this.verificarSeSimboloAtualEIgualA(prisma_1.default.VIRGULA));
@@ -481,14 +462,14 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
481
462
  throw this.erro(this.simboloAnterior(), "'quebre' deve estar dentro de um laço de repetição.");
482
463
  }
483
464
  this.consumir(prisma_1.default.PONTO_E_VIRGULA, "Esperado ';' após 'quebre'.");
484
- return new declaracoes_1.Sustar(this.simboloAtual());
465
+ return new declaracoes_1.Sustar(this.simbolos[this.atual]);
485
466
  }
486
467
  declaracaoContinua() {
487
468
  if (this.blocos < 1) {
488
469
  throw this.erro(this.simboloAnterior(), "'continua' precisa estar em um laço de repetição.");
489
470
  }
490
471
  this.consumir(prisma_1.default.PONTO_E_VIRGULA, "Esperado ';' após 'continua'.");
491
- return new declaracoes_1.Continua(this.simboloAtual());
472
+ return new declaracoes_1.Continua(this.simbolos[this.atual]);
492
473
  }
493
474
  declaracaoRetorna() {
494
475
  const palavraChave = this.simboloAnterior();
@@ -524,7 +505,7 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
524
505
  const parametros = [];
525
506
  do {
526
507
  if (parametros.length >= 255) {
527
- throw this.erro(this.simboloAtual(), 'Função não pode ter mais de 255 parâmetros.');
508
+ throw this.erro(this.simbolos[this.atual], 'Função não pode ter mais de 255 parâmetros.');
528
509
  }
529
510
  const parametro = {};
530
511
  parametro.abrangencia = 'padrao';
@@ -548,7 +529,8 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
548
529
  return funcaoDeclaracao;
549
530
  }
550
531
  resolverDeclaracao() {
551
- switch (this.simbolos[this.atual].tipo) {
532
+ const simboloAtual = this.simbolos[this.atual];
533
+ switch (simboloAtual.tipo) {
552
534
  case prisma_1.default.CONTINUA:
553
535
  this.avancarEDevolverAnterior();
554
536
  return this.declaracaoContinua();
@@ -563,6 +545,13 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
563
545
  case prisma_1.default.ENQUANTO:
564
546
  this.avancarEDevolverAnterior();
565
547
  return this.declaracaoEnquanto();
548
+ case prisma_1.default.IDENTIFICADOR:
549
+ const proximoSimbolo = this.simbolos[this.atual + 1];
550
+ if (proximoSimbolo && proximoSimbolo.tipo === prisma_1.default.IGUAL) {
551
+ return this.declaracaoOuAtribuicaoVariaveis();
552
+ }
553
+ // Avaliar como expressão normal, sair do `switch`.
554
+ break;
566
555
  case prisma_1.default.IMPRIMA:
567
556
  this.avancarEDevolverAnterior();
568
557
  return this.declaracaoEscreva();
@@ -583,6 +572,42 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
583
572
  }
584
573
  return this.declaracaoExpressao();
585
574
  }
575
+ declaracaoOuAtribuicaoVariaveis() {
576
+ const identificador = this.avancarEDevolverAnterior();
577
+ this.consumir(prisma_1.default.IGUAL, "Esperado '=' após identificador.");
578
+ if (this.estaNoFinal()) {
579
+ throw this.erro(this.simboloAnterior(), 'Esperado valor após o símbolo de igual.');
580
+ }
581
+ const valor = this.expressao();
582
+ const tipo = this.logicaComumInferenciaTiposVariaveisEConstantes(valor, 'qualquer');
583
+ if (this.pilhaEscopos.variavelJaDefinida(identificador.lexema)) {
584
+ return new declaracoes_1.Expressao(new construtos_1.Atribuir(identificador.hashArquivo, new construtos_1.Variavel(identificador.hashArquivo, identificador), valor));
585
+ }
586
+ const retornoVar = new declaracoes_1.Var(identificador, valor, tipo);
587
+ // Pelo manual de Prisma, variáveis implícitas estão sempre no escopo global.
588
+ retornoVar.escopo = 'global';
589
+ return retornoVar;
590
+ }
591
+ /**
592
+ * Segundo o manual de Prisma, os tipos válidos para a linguagem são:
593
+ * número, string , tabela, funcao , userdata, boolean, nulo.
594
+ * @param inicializador O construto do inicializador.
595
+ * @param tipoPrevio Se há um tipo prévio definido. `qualquer` não é válido em Prisma:
596
+ * O tipo sempre resolve para algum outro.
597
+ * @returns O tipo inferido.
598
+ */
599
+ logicaComumInferenciaTiposVariaveisEConstantes(inicializador, tipoPrevio) {
600
+ if (tipoPrevio !== 'qualquer') {
601
+ return tipoPrevio;
602
+ }
603
+ switch (inicializador.constructor) {
604
+ case construtos_1.Literal:
605
+ return inicializador.tipo;
606
+ // TODO: Terminar
607
+ default:
608
+ console.log(inicializador.constructor.name);
609
+ }
610
+ }
586
611
  declaracaoPara() {
587
612
  try {
588
613
  this.blocos += 1;
@@ -666,20 +691,35 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
666
691
  inicializarPilhaEscopos() {
667
692
  this.pilhaEscopos = new pilha_escopos_1.PilhaEscopos();
668
693
  this.pilhaEscopos.empilhar(new informacao_escopo_1.InformacaoEscopo());
669
- // Funções nativas básicas
670
- this.pilhaEscopos.definirInformacoesVariavel('aleatorio', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('aleatorio', 'número'));
671
- this.pilhaEscopos.definirInformacoesVariavel('inteiro', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('inteiro', 'inteiro', true, [
672
- new informacao_elemento_sintatico_1.InformacaoElementoSintatico('valor', 'qualquer'),
673
- ]));
674
- this.pilhaEscopos.definirInformacoesVariavel('numero', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('número', 'número', true, [
675
- new informacao_elemento_sintatico_1.InformacaoElementoSintatico('valorParaConverter', 'qualquer'),
676
- ]));
677
- this.pilhaEscopos.definirInformacoesVariavel('texto', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('texto', 'texto', true, [
678
- new informacao_elemento_sintatico_1.InformacaoElementoSintatico('valorParaConverter', 'qualquer'),
679
- ]));
680
- this.pilhaEscopos.definirInformacoesVariavel('tamanho', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('tamanho', 'inteiro', true, [
681
- new informacao_elemento_sintatico_1.InformacaoElementoSintatico('objeto', 'qualquer'),
682
- ]));
694
+ // TODO: verificar quais são as funções nativas básicas de Prisma
695
+ /* this.pilhaEscopos.definirInformacoesVariavel(
696
+ 'aleatorio',
697
+ new InformacaoElementoSintatico('aleatorio', 'número')
698
+ );
699
+ this.pilhaEscopos.definirInformacoesVariavel(
700
+ 'inteiro',
701
+ new InformacaoElementoSintatico('inteiro', 'inteiro', true, [
702
+ new InformacaoElementoSintatico('valor', 'qualquer'),
703
+ ])
704
+ );
705
+ this.pilhaEscopos.definirInformacoesVariavel(
706
+ 'numero',
707
+ new InformacaoElementoSintatico('número', 'número', true, [
708
+ new InformacaoElementoSintatico('valorParaConverter', 'qualquer'),
709
+ ])
710
+ );
711
+ this.pilhaEscopos.definirInformacoesVariavel(
712
+ 'texto',
713
+ new InformacaoElementoSintatico('texto', 'texto', true, [
714
+ new InformacaoElementoSintatico('valorParaConverter', 'qualquer'),
715
+ ])
716
+ );
717
+ this.pilhaEscopos.definirInformacoesVariavel(
718
+ 'tamanho',
719
+ new InformacaoElementoSintatico('tamanho', 'inteiro', true, [
720
+ new InformacaoElementoSintatico('objeto', 'qualquer'),
721
+ ])
722
+ ); */
683
723
  }
684
724
  analisar(retornoLexador, hashArquivo) {
685
725
  const inicioAnalise = (0, browser_process_hrtime_1.default)();
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-prisma.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico-prisma.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.ts"],"names":[],"mappings":"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"}
@@ -10,14 +10,19 @@ export declare class MicroAvaliadorSintaticoPitugues extends MicroAvaliadorSinta
10
10
  primario(): Construto;
11
11
  finalizarChamada(entidadeChamada: Construto): Construto;
12
12
  chamar(): Construto;
13
+ multiplicar(): Construto;
13
14
  unario(): Construto;
14
15
  exponenciacao(): Construto;
16
+ adicaoOuSubtracao(): Construto;
15
17
  protected bitShift(): Construto;
16
18
  protected bitE(): Construto;
17
19
  protected bitOu(): Construto;
18
20
  comparar(): Construto;
19
21
  protected em(): Construto;
20
22
  e(): Construto;
23
+ ou(): Construto;
24
+ atribuir(): Construto;
25
+ expressao(): Construto;
21
26
  analisar(retornoLexador: RetornoLexador<SimboloInterface>, linha: number): RetornoAvaliadorSintatico<Declaracao>;
22
27
  }
23
28
  //# sourceMappingURL=micro-avaliador-sintatico-pitugues.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"micro-avaliador-sintatico-pitugues.d.ts","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,SAAS,EAKZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAIhF;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,2BAA2B;IAC5E,QAAQ,IAAI,SAAS;IA+ErB,gBAAgB,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS;IAoBvD,MAAM,IAAI,SAAS;IA2BV,MAAM,IAAI,SAAS;IAgBnB,aAAa,IAAI,SAAS;IAYnC,SAAS,CAAC,QAAQ,IAAI,SAAS;IAiB/B,SAAS,CAAC,IAAI,IAAI,SAAS;IAY3B,SAAS,CAAC,KAAK,IAAI,SAAS;IAcnB,QAAQ,IAAI,SAAS;IAmB9B,SAAS,CAAC,EAAE,IAAI,SAAS;IAYhB,CAAC,IAAI,SAAS;IAYvB,QAAQ,CACJ,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAChD,KAAK,EAAE,MAAM,GACd,yBAAyB,CAAC,UAAU,CAAC;CAiB3C"}
1
+ {"version":3,"file":"micro-avaliador-sintatico-pitugues.d.ts","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,SAAS,EAMZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAa,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAMhF;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,2BAA2B;IAC5E,QAAQ,IAAI,SAAS;IAsFrB,gBAAgB,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS;IAoBvD,MAAM,IAAI,SAAS;IA2BnB,WAAW,IAAI,SAAS;IAmBf,MAAM,IAAI,SAAS;IAgBnB,aAAa,IAAI,SAAS;IAYnC,iBAAiB,IAAI,SAAS;IAiB9B,SAAS,CAAC,QAAQ,IAAI,SAAS;IAiB/B,SAAS,CAAC,IAAI,IAAI,SAAS;IAY3B,SAAS,CAAC,KAAK,IAAI,SAAS;IAcnB,QAAQ,IAAI,SAAS;IAmB9B,SAAS,CAAC,EAAE,IAAI,SAAS;IAYhB,CAAC,IAAI,SAAS;IAYvB,EAAE,IAAI,SAAS;IAYf,QAAQ,IAAI,SAAS;IAIrB,SAAS,IAAI,SAAS;IAItB,QAAQ,CACJ,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAChD,KAAK,EAAE,MAAM,GACd,yBAAyB,CAAC,UAAU,CAAC;CAkB3C"}
@@ -5,7 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.MicroAvaliadorSintaticoPitugues = void 0;
7
7
  const construtos_1 = require("../../construtos");
8
+ const declaracoes_1 = require("../../declaracoes");
8
9
  const micro_avaliador_sintatico_base_1 = require("../micro-avaliador-sintatico-base");
10
+ const inferenciador_1 = require("../../inferenciador");
9
11
  const pitugues_1 = __importDefault(require("../../tipos-de-simbolos/pitugues"));
10
12
  /**
11
13
  * O MicroAvaliadorSintatico funciona apenas dentro de interpolações de texto.
@@ -13,7 +15,6 @@ const pitugues_1 = __importDefault(require("../../tipos-de-simbolos/pitugues"));
13
15
  class MicroAvaliadorSintaticoPitugues extends micro_avaliador_sintatico_base_1.MicroAvaliadorSintaticoBase {
14
16
  primario() {
15
17
  const simboloAtual = this.simbolos[this.atual];
16
- let valores = [];
17
18
  switch (simboloAtual.tipo) {
18
19
  // TODO: Verificar se vamos usar isso.
19
20
  /* case tiposDeSimbolos.CHAVE_ESQUERDA:
@@ -42,7 +43,7 @@ class MicroAvaliadorSintaticoPitugues extends micro_avaliador_sintatico_base_1.M
42
43
  // TODO: Verificar se vamos usar isso.
43
44
  case pitugues_1.default.COLCHETE_ESQUERDO:
44
45
  this.avancarEDevolverAnterior();
45
- valores = [];
46
+ const valores = [];
46
47
  if (this.verificarSeSimboloAtualEIgualA(pitugues_1.default.COLCHETE_DIREITO)) {
47
48
  return new construtos_1.Vetor(-1, Number(this.linha), []);
48
49
  }
@@ -53,7 +54,8 @@ class MicroAvaliadorSintaticoPitugues extends micro_avaliador_sintatico_base_1.M
53
54
  this.consumir(pitugues_1.default.VIRGULA, 'Esperado vírgula antes da próxima expressão.');
54
55
  }
55
56
  }
56
- return new construtos_1.Vetor(-1, Number(this.linha), valores);
57
+ const tipoVetor = (0, inferenciador_1.inferirTipoVariavel)(valores);
58
+ return new construtos_1.Vetor(-1, Number(this.linha), valores, valores.length, tipoVetor);
57
59
  case pitugues_1.default.FALSO:
58
60
  this.avancarEDevolverAnterior();
59
61
  return new construtos_1.Literal(-1, Number(this.linha), false);
@@ -63,7 +65,12 @@ class MicroAvaliadorSintaticoPitugues extends micro_avaliador_sintatico_base_1.M
63
65
  case pitugues_1.default.NUMERO:
64
66
  case pitugues_1.default.TEXTO:
65
67
  const simboloNumeroTexto = this.avancarEDevolverAnterior();
66
- return new construtos_1.Literal(-1, Number(this.linha), simboloNumeroTexto.literal);
68
+ const tipoInferido = (0, inferenciador_1.inferirTipoVariavel)(simboloNumeroTexto.literal);
69
+ const tiposDadosElementar = (0, inferenciador_1.tipoInferenciaParaTipoDadosElementar)(tipoInferido);
70
+ return new construtos_1.Literal(-1, Number(this.linha), simboloNumeroTexto.literal, tiposDadosElementar);
71
+ case pitugues_1.default.IDENTIFICADOR:
72
+ const simboloIdentificador = this.avancarEDevolverAnterior();
73
+ return new construtos_1.Variavel(-1, simboloIdentificador);
67
74
  case pitugues_1.default.PARENTESE_ESQUERDO:
68
75
  this.avancarEDevolverAnterior();
69
76
  const expressao = this.ou();
@@ -109,6 +116,15 @@ class MicroAvaliadorSintaticoPitugues extends micro_avaliador_sintatico_base_1.M
109
116
  }
110
117
  return expressao;
111
118
  }
119
+ multiplicar() {
120
+ let expressao = this.exponenciacao();
121
+ while (this.verificarSeSimboloAtualEIgualA(pitugues_1.default.MULTIPLICACAO, pitugues_1.default.DIVISAO, pitugues_1.default.MODULO, pitugues_1.default.DIVISAO_INTEIRA)) {
122
+ const operador = this.simbolos[this.atual - 1];
123
+ const direito = this.exponenciacao();
124
+ expressao = new construtos_1.Binario(-1, expressao, operador, direito);
125
+ }
126
+ return expressao;
127
+ }
112
128
  unario() {
113
129
  if (this.verificarSeSimboloAtualEIgualA(pitugues_1.default.NEGACAO, pitugues_1.default.SUBTRACAO, pitugues_1.default.BIT_NOT)) {
114
130
  const operador = this.simbolos[this.atual - 1];
@@ -126,6 +142,15 @@ class MicroAvaliadorSintaticoPitugues extends micro_avaliador_sintatico_base_1.M
126
142
  }
127
143
  return expressao;
128
144
  }
145
+ adicaoOuSubtracao() {
146
+ let expressao = this.multiplicar();
147
+ while (this.verificarSeSimboloAtualEIgualA(pitugues_1.default.ADICAO, pitugues_1.default.SUBTRACAO)) {
148
+ const operador = this.simbolos[this.atual - 1];
149
+ const direito = this.multiplicar();
150
+ expressao = new construtos_1.Binario(-1, expressao, operador, direito);
151
+ }
152
+ return expressao;
153
+ }
129
154
  bitShift() {
130
155
  let expressao = this.adicaoOuSubtracao();
131
156
  while (this.verificarSeSimboloAtualEIgualA(pitugues_1.default.MENOR_MENOR, pitugues_1.default.MAIOR_MAIOR)) {
@@ -180,6 +205,21 @@ class MicroAvaliadorSintaticoPitugues extends micro_avaliador_sintatico_base_1.M
180
205
  }
181
206
  return expressao;
182
207
  }
208
+ ou() {
209
+ let expressao = this.e();
210
+ while (this.verificarSeSimboloAtualEIgualA(pitugues_1.default.OU)) {
211
+ const operador = this.simbolos[this.atual - 1];
212
+ const direito = this.e();
213
+ expressao = new construtos_1.Logico(-1, expressao, operador, direito);
214
+ }
215
+ return expressao;
216
+ }
217
+ atribuir() {
218
+ return this.ou();
219
+ }
220
+ expressao() {
221
+ return this.atribuir();
222
+ }
183
223
  analisar(retornoLexador, linha) {
184
224
  this.erros = [];
185
225
  this.atual = 0;
@@ -187,7 +227,8 @@ class MicroAvaliadorSintaticoPitugues extends micro_avaliador_sintatico_base_1.M
187
227
  this.simbolos = (retornoLexador === null || retornoLexador === void 0 ? void 0 : retornoLexador.simbolos) || [];
188
228
  const declaracoes = [];
189
229
  while (this.atual < this.simbolos.length) {
190
- declaracoes.push(this.declaracao());
230
+ const expressao = this.expressao();
231
+ declaracoes.push(new declaracoes_1.Expressao(expressao));
191
232
  }
192
233
  return {
193
234
  declaracoes: declaracoes,
@@ -1 +1 @@
1
- {"version":3,"file":"micro-avaliador-sintatico-pitugues.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"micro-avaliador-sintatico-pitugues.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.ts"],"names":[],"mappings":"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"}
@@ -16,5 +16,6 @@ export declare class PilhaEscopos implements PilhaInterface<InformacaoEscopo> {
16
16
  definirInformacoesVariavel(nomeVariavel: string, informacoes: InformacaoElementoSintatico | ElementoMontaoTipos): void;
17
17
  registrarReferenciaFuncao(nome: string, definicao: FuncaoDeclaracao): void;
18
18
  obterReferenciaFuncao(nome: string): FuncaoDeclaracao;
19
+ variavelJaDefinida(nome: string): boolean;
19
20
  }
20
21
  //# sourceMappingURL=pilha-escopos.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pilha-escopos.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/pilha-escopos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,2BAA2B,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,YAAa,YAAW,cAAc,CAAC,gBAAgB,CAAC;IACjE,KAAK,EAAE,gBAAgB,EAAE,CAAC;;IAM1B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAItC,MAAM,IAAI,OAAO;IAIjB,WAAW,IAAI,gBAAgB;IAK/B,aAAa,IAAI,gBAAgB;IAKjC,qBAAqB,CAAC,IAAI,EAAE,MAAM;IAIlC,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAW9C,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB;IAkB3D,0BAA0B,CACtB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,2BAA2B,GAAG,mBAAmB;IAMlE,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB;IAKnE,qBAAqB,CAAC,IAAI,EAAE,MAAM;CAUrC"}
1
+ {"version":3,"file":"pilha-escopos.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/pilha-escopos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,2BAA2B,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,YAAa,YAAW,cAAc,CAAC,gBAAgB,CAAC;IACjE,KAAK,EAAE,gBAAgB,EAAE,CAAC;;IAM1B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAItC,MAAM,IAAI,OAAO;IAIjB,WAAW,IAAI,gBAAgB;IAK/B,aAAa,IAAI,gBAAgB;IAKjC,qBAAqB,CAAC,IAAI,EAAE,MAAM;IAIlC,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAW9C,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB;IAkB3D,0BAA0B,CACtB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,2BAA2B,GAAG,mBAAmB;IAMlE,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB;IAKnE,qBAAqB,CAAC,IAAI,EAAE,MAAM;IAWlC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAU5C"}
@@ -64,6 +64,15 @@ class PilhaEscopos {
64
64
  }
65
65
  return null;
66
66
  }
67
+ variavelJaDefinida(nome) {
68
+ for (let i = 1; i <= this.pilha.length; i++) {
69
+ const informacaoEscopo = this.pilha[this.pilha.length - i];
70
+ if (informacaoEscopo.elementosSintaticos[nome] !== undefined) {
71
+ return true;
72
+ }
73
+ }
74
+ return false;
75
+ }
67
76
  }
68
77
  exports.PilhaEscopos = PilhaEscopos;
69
78
  //# sourceMappingURL=pilha-escopos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pilha-escopos.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/pilha-escopos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pilha-escopos.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/pilha-escopos.ts"],"names":[],"mappings":";;;AAIA,mEAA8D;AAE9D,MAAa,YAAY;IAGrB;QACI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,IAAsB;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa;QACT,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,qBAAqB,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,wBAAwB,CAAC,IAAY;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC3D,OAAO,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YAC3D,CAAC;QACL,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,wBAAwB,CAAC,IAAY;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC3D,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBACvE,IAAI,CAAC,CAAC,mBAAmB,YAAY,2CAAmB,CAAC,EAAE,CAAC;oBACxD,MAAM,IAAI,KAAK,CACX,gFAAgF,IAAI,EAAE,CACzF,CAAC;gBACN,CAAC;gBAED,OAAO,mBAAmB,CAAC;YAC/B,CAAC;QACL,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IAClF,CAAC;IAED,0BAA0B,CACtB,YAAoB,EACpB,WAA8D;QAE9D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;IAChE,CAAC;IAED,yBAAyB,CAAC,IAAY,EAAE,SAA2B;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACrD,CAAC;IAED,qBAAqB,CAAC,IAAY;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC1D,OAAO,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA5FD,oCA4FC"}
@@ -1 +1 @@
1
- {"version":3,"file":"biblioteca-global.d.ts","sourceRoot":"","sources":["../../fontes/bibliotecas/biblioteca-global.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"biblioteca-global.d.ts","sourceRoot":"","sources":["../../fontes/bibliotecas/biblioteca-global.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAWH,KAAK,EACR,MAAM,eAAe,CAAC;AAKvB;;;GAGG;AACH,wBAAsB,SAAS,CAAC,aAAa,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAChC,aAAa,EAAE,sBAAsB,EACrC,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAClC,MAAM,EAAE,iBAAiB,GAAG,MAAM,GACnC,OAAO,CAAC,MAAM,CAAC,CA8DjB;AAED;;;;;;GAMG;AACH,wBAAsB,KAAK,CACvB,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,cAAc,EAAE,iBAAiB,GAAG,GAAG,GACxC,OAAO,CAAC,OAAO,CAAC,CAsClB;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CACxB,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,GAC/B,OAAO,CAAC,GAAG,CAAC,CAoRd;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC3B,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,cAAc,EAAE,iBAAiB,GAAG,GAAG,GACxC,OAAO,CAAC,GAAG,CAAC,CAsCd;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACjC,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,cAAc,EAAE,iBAAiB,GAAG,GAAG,GACxC,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACjC,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,cAAc,EAAE,iBAAiB,GAAG,GAAG,GACxC,OAAO,CAAC,GAAG,CAAC,CAsCd;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACvC,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,cAAc,EAAE,iBAAiB,GAAG,GAAG,GACxC,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC5B,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,eAAe,EAAE,iBAAiB,GAAG,GAAG,kBA0D3C;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC1B,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,KAAK,EAAE,iBAAiB,GAAG,GAAG,GAC/B,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAiCD;;;;;GAKG;AACH,wBAAsB,OAAO,CACzB,aAAa,EAAE,sBAAsB,EACrC,kBAAkB,EAAE,iBAAiB,GAAG,GAAG,GAC5C,OAAO,CAAC,GAAG,CAAC,CASd;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC3B,aAAa,EAAE,sBAAsB,EACrC,YAAY,EAAE,iBAAiB,GAAG,MAAM,EACxC,UAAU,EAAE,iBAAiB,GAAG,MAAM,GACvC,OAAO,CAAC,MAAM,EAAE,CAAC,CAsCnB;AAED;;;;;;;GAOG;AACH,wBAAsB,MAAM,CACxB,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,gBAAgB,EAAE,iBAAiB,GAAG,GAAG,GAC1C,OAAO,CAAC,GAAG,EAAE,CAAC,CAgEhB;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CACxB,aAAa,EAAE,sBAAsB,EACrC,kBAAkB,EAAE,iBAAiB,GAAG,GAAG,GAC5C,OAAO,CAAC,GAAG,CAAC,CASd;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CACzB,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,GACtC,OAAO,CAAC,GAAG,EAAE,CAAC,CAqChB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC1B,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,eAAe,EAAE,iBAAiB,GAAG,GAAG,GACzC,OAAO,CAAC,GAAG,CAAC,CA8Cd;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACpC,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,eAAe,EAAE,iBAAiB,GAAG,GAAG,gBAoD3C;AAED;;;;;GAKG;AACH,wBAAsB,IAAI,CACtB,aAAa,EAAE,sBAAsB,EACrC,MAAM,EAAE,iBAAiB,GAAG,GAAG,GAChC,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CACzB,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,aAAa,EAAE,iBAAiB,GAAG,GAAG,EACtC,YAAY,GAAE,iBAAiB,GAAG,GAAU,gBA6C/C;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,aAAa,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,gBA+C/E;AAED;;;;;GAKG;AACH,wBAAsB,KAAK,CACvB,aAAa,EAAE,sBAAsB,EACrC,kBAAkB,EAAE,iBAAiB,GAAG,GAAG,GAC5C,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACjC,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAC9B,iBAAiB,EAAE,iBAAiB,GAAG,GAAG,GAC3C,OAAO,CAAC,OAAO,CAAC,CA8ClB;AAED;;;;;;GAMG;AACH,wBAAsB,KAAK,CACvB,aAAa,EAAE,sBAAsB,EACrC,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAAE,GACjC,OAAO,CAAC,KAAK,CAAC,CAgIhB"}
@@ -556,10 +556,19 @@ async function intervalo(interpretador, valorInicial, valorFinal) {
556
556
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
557
557
  hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
558
558
  linha: interpretador.linhaDeclaracaoAtual,
559
- }, 'Os dois parâmetros devem ser do tipo número.'));
559
+ }, 'Os dois parâmetros devem ser do tipo número ou inteiro.'));
560
+ }
561
+ if (isNaN(inicio) || isNaN(fim)) {
562
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
563
+ hashArquivo: interpretador.hashArquivoDeclaracaoAtual,
564
+ linha: interpretador.linhaDeclaracaoAtual,
565
+ }, 'Os dois parâmetros devem ser do tipo número ou inteiro.'));
560
566
  }
567
+ // Remove a parte decimal se houver
568
+ const inicioInteiro = Math.floor(inicio);
569
+ const fimInteiro = Math.floor(fim);
561
570
  const resultado = [];
562
- for (let i = inicio; i < fim; i++) {
571
+ for (let i = inicioInteiro; i < fimInteiro; i++) {
563
572
  resultado.push(i);
564
573
  }
565
574
  return Promise.resolve(resultado);