@designliquido/potigol 0.11.9 → 0.11.11

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 (53) hide show
  1. package/analisador-semantico/analisador-semantico-potigol.d.ts +2 -1
  2. package/analisador-semantico/analisador-semantico-potigol.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico-potigol.js +21 -0
  4. package/analisador-semantico/analisador-semantico-potigol.js.map +1 -1
  5. package/avaliador-sintatico/avaliador-sintatico-potigol.d.ts +1 -1
  6. package/avaliador-sintatico/avaliador-sintatico-potigol.d.ts.map +1 -1
  7. package/avaliador-sintatico/avaliador-sintatico-potigol.js +114 -16
  8. package/avaliador-sintatico/avaliador-sintatico-potigol.js.map +1 -1
  9. package/avaliador-sintatico/micro-avaliador-sintatico-potigol.d.ts.map +1 -1
  10. package/avaliador-sintatico/micro-avaliador-sintatico-potigol.js +3 -1
  11. package/avaliador-sintatico/micro-avaliador-sintatico-potigol.js.map +1 -1
  12. package/declaracoes/index.d.ts +1 -0
  13. package/declaracoes/index.d.ts.map +1 -1
  14. package/declaracoes/index.js +1 -0
  15. package/declaracoes/index.js.map +1 -1
  16. package/declaracoes/para-em-gere.d.ts +14 -0
  17. package/declaracoes/para-em-gere.d.ts.map +1 -0
  18. package/declaracoes/para-em-gere.js +22 -0
  19. package/declaracoes/para-em-gere.js.map +1 -0
  20. package/formatador/formatador-potigol.d.ts +2 -1
  21. package/formatador/formatador-potigol.d.ts.map +1 -1
  22. package/formatador/formatador-potigol.js +18 -0
  23. package/formatador/formatador-potigol.js.map +1 -1
  24. package/interfaces/faixa-em-interface.d.ts +6 -0
  25. package/interfaces/faixa-em-interface.d.ts.map +1 -0
  26. package/interfaces/faixa-em-interface.js +3 -0
  27. package/interfaces/faixa-em-interface.js.map +1 -0
  28. package/interfaces/index.d.ts +1 -0
  29. package/interfaces/index.d.ts.map +1 -1
  30. package/interfaces/index.js +1 -0
  31. package/interfaces/index.js.map +1 -1
  32. package/interfaces/visitante-comum-potigol-interface.d.ts +2 -1
  33. package/interfaces/visitante-comum-potigol-interface.d.ts.map +1 -1
  34. package/interpretador/comum.d.ts +2 -1
  35. package/interpretador/comum.d.ts.map +1 -1
  36. package/interpretador/comum.js +41 -4
  37. package/interpretador/comum.js.map +1 -1
  38. package/interpretador/interpretador-potigol-com-depuracao.d.ts +2 -1
  39. package/interpretador/interpretador-potigol-com-depuracao.d.ts.map +1 -1
  40. package/interpretador/interpretador-potigol-com-depuracao.js +3 -0
  41. package/interpretador/interpretador-potigol-com-depuracao.js.map +1 -1
  42. package/interpretador/interpretador-potigol.d.ts +2 -1
  43. package/interpretador/interpretador-potigol.d.ts.map +1 -1
  44. package/interpretador/interpretador-potigol.js +19 -1
  45. package/interpretador/interpretador-potigol.js.map +1 -1
  46. package/lexador/micro-lexador-potigol.d.ts.map +1 -1
  47. package/lexador/micro-lexador-potigol.js +12 -0
  48. package/lexador/micro-lexador-potigol.js.map +1 -1
  49. package/package.json +3 -3
  50. package/tradutores/tradutor-reverso-potigol.d.ts +2 -1
  51. package/tradutores/tradutor-reverso-potigol.d.ts.map +1 -1
  52. package/tradutores/tradutor-reverso-potigol.js +22 -0
  53. package/tradutores/tradutor-reverso-potigol.js.map +1 -1
@@ -3,7 +3,7 @@ import { Classe, Const, Declaracao, Enquanto, Escolha, Escreva, Expressao, Falha
3
3
  import { AcessoMetodoOuPropriedade, Atribuir, Binario, Chamada, Literal, Variavel, Constante, TipoDe } from '@designliquido/delegua';
4
4
  import { ConstrutoInterface, DiagnosticoAnalisadorSemanticoInterface, ParametroInterface, RetornoAnalisadorSemanticoInterface, SimboloInterface } from '@designliquido/delegua/interfaces';
5
5
  import { FuncaoHipoteticaInterface } from '@designliquido/delegua/interfaces/funcao-hipotetica-interface';
6
- import { AliasTipo, AtribuicaoParalelaVariavel, ParaGere, ReatribuicaoVariavel } from '../declaracoes';
6
+ import { AliasTipo, AtribuicaoParalelaVariavel, ParaEmGere, ParaGere, ReatribuicaoVariavel } from '../declaracoes';
7
7
  import { VisitanteComumPotigolInterface } from '../interfaces';
8
8
  import { LeiaInteiro, LeiaInteiros, LeiaReais, LeiaReal, LeiaTexto, LeiaTextos } from '../construtos';
9
9
  /**
@@ -127,6 +127,7 @@ export declare class AnalisadorSemanticoPotigol extends AnalisadorSemanticoBase
127
127
  visitarDeclaracaoLeiaTextos(_: LeiaTextos): Promise<any> | void;
128
128
  visitarDeclaracaoAliasTipo(declaracao: AliasTipo): Promise<any> | void;
129
129
  visitarDeclaracaoParaGere(declaracao: ParaGere): Promise<any> | void;
130
+ visitarDeclaracaoParaEmGere(declaracao: ParaEmGere): Promise<any> | void;
130
131
  visitarDeclaracaoParaCada(declaracao: ParaCada): Promise<any>;
131
132
  visitarExpressaoBinaria(expressao: Binario): Promise<any>;
132
133
  visitarExpressaoAcessoMetodoOuPropriedade(expressao: AcessoMetodoOuPropriedade): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"analisador-semantico-potigol.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-potigol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analisador-semantico-potigol.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-potigol.ts"],"names":[],"mappings":"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"}
@@ -813,6 +813,27 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
813
813
  this.gerenciadorEscopos.desempilharEscopo();
814
814
  return Promise.resolve();
815
815
  }
816
+ visitarDeclaracaoParaEmGere(declaracao) {
817
+ this.gerenciadorEscopos.empilharEscopo();
818
+ this.gerenciadorEscopos.declarar(declaracao.simboloIteracao.lexema, {
819
+ nome: declaracao.simboloIteracao.lexema,
820
+ tipo: 'qualquer',
821
+ imutavel: false,
822
+ valor: undefined,
823
+ inicializada: true,
824
+ usada: false,
825
+ hashArquivo: declaracao.simboloIteracao.hashArquivo,
826
+ linha: declaracao.simboloIteracao.linha,
827
+ });
828
+ if (declaracao.condicao) {
829
+ this.verificarCondicao(declaracao.condicao);
830
+ }
831
+ for (const declaracaoCorpo of declaracao.corpo) {
832
+ declaracaoCorpo.aceitar(this);
833
+ }
834
+ this.gerenciadorEscopos.desempilharEscopo();
835
+ return Promise.resolve();
836
+ }
816
837
  visitarDeclaracaoParaCada(declaracao) {
817
838
  const nomeVariavel = declaracao.variavelIteracao.simbolo.lexema;
818
839
  this.gerenciadorEscopos.empilharEscopo();
@@ -1 +1 @@
1
- {"version":3,"file":"analisador-semantico-potigol.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-potigol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analisador-semantico-potigol.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-potigol.ts"],"names":[],"mappings":"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"}
@@ -155,7 +155,7 @@ export declare class AvaliadorSintaticoPotigol extends AvaliadorSintaticoBase {
155
155
  * @returns Um vetor de `Declaracao`.
156
156
  */
157
157
  blocoEscopo(): Promise<Array<Declaracao>>;
158
- declaracaoSe(): Promise<Se>;
158
+ declaracaoSe(consumirSe?: boolean): Promise<Se>;
159
159
  declaracaoEnquanto(): Promise<Enquanto>;
160
160
  private calcularPasso;
161
161
  private construirDeclaracaoPara;
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-potigol.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-potigol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico-potigol.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-potigol.ts"],"names":[],"mappings":"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"}
@@ -737,14 +737,22 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
737
737
  this.pilhaEscoposVariaveisConhecidas.removerUltimo();
738
738
  return declaracoes;
739
739
  }
740
- async declaracaoSe() {
741
- const simboloSe = this.avancarEDevolverAnterior();
740
+ async declaracaoSe(consumirSe = true) {
741
+ const simboloSe = consumirSe
742
+ ? this.avancarEDevolverAnterior()
743
+ : this.simbolos[this.atual - 1];
742
744
  const condicao = await this.expressao();
743
745
  this.consumir(lexico_regular_1.default.ENTAO, "Esperado palavra reservada 'entao' após condição em declaração 'se'.");
744
- const declaracoes = [];
746
+ let declaracoes = [];
745
747
  do {
746
- declaracoes.push(await this.resolverDeclaracaoForaDeBloco());
747
- } while (![lexico_regular_1.default.SENAO, lexico_regular_1.default.FIM].includes(this.simbolos[this.atual].tipo));
748
+ const retornoDeclaracao = await this.resolverDeclaracaoForaDeBloco();
749
+ if (Array.isArray(retornoDeclaracao)) {
750
+ declaracoes = declaracoes.concat(retornoDeclaracao);
751
+ }
752
+ else if (retornoDeclaracao) {
753
+ declaracoes.push(retornoDeclaracao);
754
+ }
755
+ } while (![lexico_regular_1.default.SENAO, lexico_regular_1.default.SENAOSE, lexico_regular_1.default.FIM].includes(this.simbolos[this.atual].tipo));
748
756
  let caminhoSenao = null;
749
757
  let consumirFimExterno = true;
750
758
  if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.SENAO) || this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.SENAOSE)) {
@@ -753,33 +761,45 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
753
761
  this.simbolos[this.atual].linha === this.simbolos[this.atual - 1].linha;
754
762
  if (ehSenaoSe || ehSenaose) {
755
763
  // "senao se" na mesma linha ou "senaose": o Se aninhado vai consumir o próprio fim
756
- caminhoSenao = await this.declaracaoSe();
764
+ caminhoSenao = await this.declaracaoSe(!ehSenaose);
757
765
  consumirFimExterno = false;
758
766
  }
759
767
  else {
760
768
  const simboloSenao = this.simbolos[this.atual - 1];
761
- const declaracoesSenao = [];
769
+ let declaracoesSenao = [];
762
770
  do {
763
- declaracoesSenao.push(await this.resolverDeclaracaoForaDeBloco());
771
+ const retornoDeclaracaoSenao = await this.resolverDeclaracaoForaDeBloco();
772
+ if (Array.isArray(retornoDeclaracaoSenao)) {
773
+ declaracoesSenao = declaracoesSenao.concat(retornoDeclaracaoSenao);
774
+ }
775
+ else if (retornoDeclaracaoSenao) {
776
+ declaracoesSenao.push(retornoDeclaracaoSenao);
777
+ }
764
778
  } while (![lexico_regular_1.default.FIM].includes(this.simbolos[this.atual].tipo));
765
- caminhoSenao = new declaracoes_1.Bloco(this.hashArquivo, Number(simboloSenao.linha), declaracoesSenao.filter((d) => d));
779
+ caminhoSenao = new declaracoes_1.Bloco(this.hashArquivo, Number(simboloSenao.linha), declaracoesSenao);
766
780
  }
767
781
  }
768
782
  if (consumirFimExterno) {
769
783
  this.consumir(lexico_regular_1.default.FIM, "Esperado palavra-chave 'fim' para fechamento de declaração 'se'.");
770
784
  }
771
- return new declaracoes_1.Se(condicao, new declaracoes_1.Bloco(this.hashArquivo, Number(simboloSe.linha), declaracoes.filter((d) => d)), [], caminhoSenao);
785
+ return new declaracoes_1.Se(condicao, new declaracoes_1.Bloco(this.hashArquivo, Number(simboloSe.linha), declaracoes), [], caminhoSenao);
772
786
  }
773
787
  async declaracaoEnquanto() {
774
788
  const simboloAtual = this.avancarEDevolverAnterior();
775
789
  const condicao = await this.expressao();
776
790
  this.consumir(lexico_regular_1.default.FACA, "Esperado paravra reservada 'faca' após condição de continuidade em declaracão 'enquanto'.");
777
- const declaracoes = [];
791
+ let declaracoes = [];
778
792
  do {
779
- declaracoes.push(await this.resolverDeclaracaoForaDeBloco());
793
+ const retornoDeclaracao = await this.resolverDeclaracaoForaDeBloco();
794
+ if (Array.isArray(retornoDeclaracao)) {
795
+ declaracoes = declaracoes.concat(retornoDeclaracao);
796
+ }
797
+ else if (retornoDeclaracao) {
798
+ declaracoes.push(retornoDeclaracao);
799
+ }
780
800
  } while (![lexico_regular_1.default.FIM].includes(this.simbolos[this.atual].tipo));
781
801
  this.consumir(lexico_regular_1.default.FIM, "Esperado palavra-chave 'fim' para fechamento de declaração 'enquanto'.");
782
- return new declaracoes_1.Enquanto(condicao, new declaracoes_1.Bloco(simboloAtual.hashArquivo, Number(simboloAtual.linha), declaracoes.filter((d) => d)));
802
+ return new declaracoes_1.Enquanto(condicao, new declaracoes_1.Bloco(simboloAtual.hashArquivo, Number(simboloAtual.linha), declaracoes));
783
803
  }
784
804
  async calcularPasso(inicio, fim, simboloPara) {
785
805
  let operadorCondicao = new lexador_1.Simbolo(lexico_regular_1.default.MENOR_IGUAL, '<=', null, Number(simboloPara.linha), this.hashArquivo);
@@ -812,7 +832,29 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
812
832
  return { passo, operadorCondicao, operadorCondicaoIncremento, resolverIncrementoEmExecucao };
813
833
  }
814
834
  construirDeclaracaoPara(variavelIteracao, inicio, fim, passo, operadorCondicao, operadorCondicaoIncremento, resolverIncrementoEmExecucao, corpo, simboloPara) {
815
- const para = new declaracoes_1.Para(this.hashArquivo, Number(simboloPara.linha), new declaracoes_1.Expressao(new construtos_1.Atribuir(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao, 'inteiro'), inicio)), new construtos_1.Binario(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao), operadorCondicao, fim), new construtos_1.FimPara(this.hashArquivo, Number(simboloPara.linha), new construtos_1.Binario(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao), operadorCondicaoIncremento, fim), new declaracoes_1.Expressao(new construtos_1.Atribuir(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao, 'inteiro'), new construtos_1.Binario(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao), new lexador_1.Simbolo(lexico_regular_1.default.ADICAO, '+', null, Number(simboloPara.linha), this.hashArquivo), passo)))), corpo);
835
+ const linha = Number(simboloPara.linha);
836
+ let condicao;
837
+ let condicaoFimPara;
838
+ let passoReal;
839
+ if (resolverIncrementoEmExecucao) {
840
+ // Direção (ascendente/descendente) só é conhecida em tempo de execução.
841
+ // condicao: (inicio <= fim) ? (i <= fim) : (i >= fim)
842
+ const opMenorIgual = new lexador_1.Simbolo(lexico_regular_1.default.MENOR_IGUAL, '<=', null, linha, this.hashArquivo);
843
+ const opMaiorIgual = new lexador_1.Simbolo(lexico_regular_1.default.MAIOR_IGUAL, '>=', null, linha, this.hashArquivo);
844
+ const opMenor = new lexador_1.Simbolo(lexico_regular_1.default.MENOR, '<', null, linha, this.hashArquivo);
845
+ const opMaior = new lexador_1.Simbolo(lexico_regular_1.default.MAIOR, '>', null, linha, this.hashArquivo);
846
+ const direcaoAscendente = new construtos_1.Binario(this.hashArquivo, inicio, opMenorIgual, fim);
847
+ condicao = new construtos_1.SeTernario(this.hashArquivo, direcaoAscendente, new construtos_1.Binario(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao), new lexador_1.Simbolo(lexico_regular_1.default.MENOR_IGUAL, '<=', null, linha, this.hashArquivo), fim), null, new construtos_1.Binario(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao), opMaiorIgual, fim));
848
+ condicaoFimPara = new construtos_1.SeTernario(this.hashArquivo, new construtos_1.Binario(this.hashArquivo, inicio, new lexador_1.Simbolo(lexico_regular_1.default.MENOR_IGUAL, '<=', null, linha, this.hashArquivo), fim), new construtos_1.Binario(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao), opMenor, fim), null, new construtos_1.Binario(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao), opMaior, fim));
849
+ // passoReal: (inicio <= fim) ? 1 : -1
850
+ passoReal = new construtos_1.SeTernario(this.hashArquivo, new construtos_1.Binario(this.hashArquivo, inicio, new lexador_1.Simbolo(lexico_regular_1.default.MENOR_IGUAL, '<=', null, linha, this.hashArquivo), fim), new construtos_1.Literal(this.hashArquivo, linha, 1), null, new construtos_1.Unario(this.hashArquivo, new lexador_1.Simbolo(lexico_regular_1.default.SUBTRACAO, '-', undefined, linha, this.hashArquivo), new construtos_1.Literal(this.hashArquivo, linha, 1), 'ANTES'));
851
+ }
852
+ else {
853
+ condicao = new construtos_1.Binario(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao), operadorCondicao, fim);
854
+ condicaoFimPara = new construtos_1.Binario(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao), operadorCondicaoIncremento, fim);
855
+ passoReal = passo;
856
+ }
857
+ const para = new declaracoes_1.Para(this.hashArquivo, linha, new declaracoes_1.Expressao(new construtos_1.Atribuir(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao, 'inteiro'), inicio)), condicao, new construtos_1.FimPara(this.hashArquivo, linha, condicaoFimPara, new declaracoes_1.Expressao(new construtos_1.Atribuir(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao, 'inteiro'), new construtos_1.Binario(this.hashArquivo, new construtos_1.Variavel(this.hashArquivo, variavelIteracao), new lexador_1.Simbolo(lexico_regular_1.default.ADICAO, '+', null, linha, this.hashArquivo), passoReal)))), corpo);
816
858
  para.blocoPosExecucao = corpo;
817
859
  para.resolverIncrementoEmExecucao = resolverIncrementoEmExecucao;
818
860
  return para;
@@ -822,7 +864,48 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
822
864
  const variavelIteracao = this.consumir(lexico_regular_1.default.IDENTIFICADOR, "Esperado identificador de variável após 'para'.");
823
865
  if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.EM)) {
824
866
  const colecao = await this.expressao();
825
- this.consumir(lexico_regular_1.default.FACA, "Esperado palavra reservada 'faca' após coleção em laço 'para ... em'.");
867
+ const faixasEm = [];
868
+ while (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.VIRGULA)) {
869
+ const varAdicional = this.consumir(lexico_regular_1.default.IDENTIFICADOR, "Esperado identificador de variável após ',' em laço 'para ... em'.");
870
+ this.consumir(lexico_regular_1.default.EM, "Esperado palavra reservada 'em' após variável de controle adicional em laço 'para ... em'.");
871
+ const colecaoAdicional = await this.expressao();
872
+ faixasEm.push({ variavel: varAdicional, colecao: colecaoAdicional });
873
+ }
874
+ let condicaoEmGere = undefined;
875
+ if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.SE)) {
876
+ condicaoEmGere = await this.expressao();
877
+ }
878
+ if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.GERE)) {
879
+ const declaracoesGere = [];
880
+ let simboloAtualGere = this.simbolos[this.atual];
881
+ while (simboloAtualGere.tipo !== lexico_regular_1.default.FIM) {
882
+ declaracoesGere.push(await this.resolverDeclaracaoForaDeBloco());
883
+ simboloAtualGere = this.simbolos[this.atual];
884
+ }
885
+ this.consumir(lexico_regular_1.default.FIM, "Esperado 'fim' após bloco de 'gere'.");
886
+ const corpoGere = declaracoesGere.filter((d) => d);
887
+ if (faixasEm.length === 0) {
888
+ return new declaracoes_2.ParaEmGere(this.hashArquivo, Number(simboloPara.linha), variavelIteracao, colecao, corpoGere, condicaoEmGere);
889
+ }
890
+ // Constrói ParaEmGere aninhados de dentro para fora.
891
+ const ultimaFaixaGere = faixasEm[faixasEm.length - 1];
892
+ let gereEm = new declaracoes_2.ParaEmGere(this.hashArquivo, Number(simboloPara.linha), ultimaFaixaGere.variavel, ultimaFaixaGere.colecao, corpoGere, condicaoEmGere);
893
+ const faixasExternasGere = [
894
+ { variavel: variavelIteracao, colecao },
895
+ ...faixasEm.slice(0, -1)
896
+ ];
897
+ for (let i = faixasExternasGere.length - 1; i >= 0; i--) {
898
+ const faixa = faixasExternasGere[i];
899
+ const gereExterno = new declaracoes_2.ParaEmGere(this.hashArquivo, Number(simboloPara.linha), faixa.variavel, faixa.colecao, [gereEm], undefined);
900
+ gereExterno.aplanar = true;
901
+ gereEm = gereExterno;
902
+ }
903
+ return gereEm;
904
+ }
905
+ if (condicaoEmGere) {
906
+ throw this.erro(this.simbolos[this.atual] || this.simboloAnterior(), "A guarda 'se' em laço 'para ... em' só é suportada com a forma 'gere' neste dialeto.");
907
+ }
908
+ this.consumir(lexico_regular_1.default.FACA, "Esperado palavra reservada 'faca' ou 'gere' após coleção em laço 'para ... em'.");
826
909
  const declaracoesBloco = [];
827
910
  let simboloAtual = this.simbolos[this.atual];
828
911
  while (simboloAtual.tipo !== lexico_regular_1.default.FIM) {
@@ -831,7 +914,22 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
831
914
  }
832
915
  this.consumir(lexico_regular_1.default.FIM, '');
833
916
  const corpo = new declaracoes_1.Bloco(this.hashArquivo, Number(simboloPara.linha) + 1, declaracoesBloco.filter((d) => d));
834
- return new declaracoes_1.ParaCada(this.hashArquivo, Number(simboloPara.linha), new construtos_1.Variavel(this.hashArquivo, variavelIteracao), colecao, corpo);
917
+ if (faixasEm.length === 0) {
918
+ return new declaracoes_1.ParaCada(this.hashArquivo, Number(simboloPara.linha), new construtos_1.Variavel(this.hashArquivo, variavelIteracao), colecao, corpo);
919
+ }
920
+ // Constrói loops ParaCada aninhados de dentro para fora.
921
+ const ultimaFaixaEm = faixasEm[faixasEm.length - 1];
922
+ let paraEm = new declaracoes_1.ParaCada(this.hashArquivo, Number(simboloPara.linha), new construtos_1.Variavel(this.hashArquivo, ultimaFaixaEm.variavel), ultimaFaixaEm.colecao, corpo);
923
+ const faixasExternasEm = [
924
+ { variavel: variavelIteracao, colecao },
925
+ ...faixasEm.slice(0, -1)
926
+ ];
927
+ for (let i = faixasExternasEm.length - 1; i >= 0; i--) {
928
+ const faixa = faixasExternasEm[i];
929
+ const blocoInterno = new declaracoes_1.Bloco(this.hashArquivo, Number(simboloPara.linha) + 1, [paraEm]);
930
+ paraEm = new declaracoes_1.ParaCada(this.hashArquivo, Number(simboloPara.linha), new construtos_1.Variavel(this.hashArquivo, faixa.variavel), faixa.colecao, blocoInterno);
931
+ }
932
+ return paraEm;
835
933
  }
836
934
  this.consumir(lexico_regular_1.default.DE, "Esperado palavra reservada 'de' após variável de controle de 'para'.");
837
935
  const literalOuVariavelInicio = await this.adicaoOuSubtracao();