@designliquido/potigol 0.1.2 → 0.1.4

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 (83) hide show
  1. package/avaliador-sintatico/avaliador-sintatico-potigol.d.ts +25 -9
  2. package/avaliador-sintatico/avaliador-sintatico-potigol.d.ts.map +1 -1
  3. package/avaliador-sintatico/avaliador-sintatico-potigol.js +121 -39
  4. package/avaliador-sintatico/avaliador-sintatico-potigol.js.map +1 -1
  5. package/avaliador-sintatico/micro-avaliador-sintatico-potigol.d.ts.map +1 -1
  6. package/avaliador-sintatico/micro-avaliador-sintatico-potigol.js +2 -2
  7. package/avaliador-sintatico/micro-avaliador-sintatico-potigol.js.map +1 -1
  8. package/avaliador-sintatico/pilha-escopos-variaveis-conhecidas.d.ts +11 -0
  9. package/avaliador-sintatico/pilha-escopos-variaveis-conhecidas.d.ts.map +1 -0
  10. package/avaliador-sintatico/pilha-escopos-variaveis-conhecidas.js +34 -0
  11. package/avaliador-sintatico/pilha-escopos-variaveis-conhecidas.js.map +1 -0
  12. package/bibliotecas/biblioteca-global.d.ts +13 -3
  13. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  14. package/bibliotecas/biblioteca-global.js +49 -41
  15. package/bibliotecas/biblioteca-global.js.map +1 -1
  16. package/bibliotecas/primitivas-vetor.d.ts +8 -7
  17. package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
  18. package/bibliotecas/primitivas-vetor.js +95 -6
  19. package/bibliotecas/primitivas-vetor.js.map +1 -1
  20. package/construtos/constante-ou-variavel.d.ts +20 -0
  21. package/construtos/constante-ou-variavel.d.ts.map +1 -0
  22. package/construtos/constante-ou-variavel.js +26 -0
  23. package/construtos/constante-ou-variavel.js.map +1 -0
  24. package/construtos/index.d.ts +2 -0
  25. package/construtos/index.d.ts.map +1 -0
  26. package/construtos/index.js +18 -0
  27. package/construtos/index.js.map +1 -0
  28. package/declaracoes/index.d.ts +2 -0
  29. package/declaracoes/index.d.ts.map +1 -0
  30. package/declaracoes/index.js +18 -0
  31. package/declaracoes/index.js.map +1 -0
  32. package/declaracoes/reatribuicao-variavel.d.ts +18 -0
  33. package/declaracoes/reatribuicao-variavel.d.ts.map +1 -0
  34. package/declaracoes/reatribuicao-variavel.js +22 -0
  35. package/declaracoes/reatribuicao-variavel.js.map +1 -0
  36. package/estruturas/potigol-funcao.d.ts +4 -0
  37. package/estruturas/potigol-funcao.d.ts.map +1 -0
  38. package/estruturas/potigol-funcao.js +8 -0
  39. package/estruturas/potigol-funcao.js.map +1 -0
  40. package/formatador/formatador-potigol.d.ts +28 -25
  41. package/formatador/formatador-potigol.d.ts.map +1 -1
  42. package/formatador/formatador-potigol.js +77 -34
  43. package/formatador/formatador-potigol.js.map +1 -1
  44. package/interfaces/index.d.ts +2 -1
  45. package/interfaces/index.d.ts.map +1 -1
  46. package/interfaces/index.js +2 -1
  47. package/interfaces/index.js.map +1 -1
  48. package/interfaces/interpretador-potigol-interface.d.ts +14 -0
  49. package/interfaces/interpretador-potigol-interface.d.ts.map +1 -0
  50. package/interfaces/{interpretador-interface-potigol.js → interpretador-potigol-interface.js} +1 -1
  51. package/interfaces/interpretador-potigol-interface.js.map +1 -0
  52. package/interfaces/visitante-comum-potigol-interface.d.ts +8 -0
  53. package/interfaces/visitante-comum-potigol-interface.d.ts.map +1 -0
  54. package/interfaces/visitante-comum-potigol-interface.js +3 -0
  55. package/interfaces/visitante-comum-potigol-interface.js.map +1 -0
  56. package/interpretador/comum.d.ts +12 -7
  57. package/interpretador/comum.d.ts.map +1 -1
  58. package/interpretador/comum.js +114 -2
  59. package/interpretador/comum.js.map +1 -1
  60. package/interpretador/interpretador-potigol-com-depuracao.d.ts +5 -1
  61. package/interpretador/interpretador-potigol-com-depuracao.d.ts.map +1 -1
  62. package/interpretador/interpretador-potigol-com-depuracao.js +7 -2
  63. package/interpretador/interpretador-potigol-com-depuracao.js.map +1 -1
  64. package/interpretador/interpretador-potigol.d.ts +7 -4
  65. package/interpretador/interpretador-potigol.d.ts.map +1 -1
  66. package/interpretador/interpretador-potigol.js +9 -4
  67. package/interpretador/interpretador-potigol.js.map +1 -1
  68. package/lexador/lexador-potigol.d.ts +1 -1
  69. package/lexador/lexador-potigol.d.ts.map +1 -1
  70. package/lexador/lexador-potigol.js +3 -3
  71. package/lexador/lexador-potigol.js.map +1 -1
  72. package/lexador/micro-lexador-potigol.d.ts +2 -1
  73. package/lexador/micro-lexador-potigol.d.ts.map +1 -1
  74. package/lexador/micro-lexador-potigol.js +2 -2
  75. package/lexador/micro-lexador-potigol.js.map +1 -1
  76. package/package.json +2 -2
  77. package/tipos-de-simbolos/lexico-regular.d.ts +1 -0
  78. package/tipos-de-simbolos/lexico-regular.d.ts.map +1 -1
  79. package/tipos-de-simbolos/lexico-regular.js +1 -0
  80. package/tipos-de-simbolos/lexico-regular.js.map +1 -1
  81. package/interfaces/interpretador-interface-potigol.d.ts +0 -6
  82. package/interfaces/interpretador-interface-potigol.d.ts.map +0 -1
  83. package/interfaces/interpretador-interface-potigol.js.map +0 -1
@@ -1,10 +1,12 @@
1
- import { Constante, ConstanteOuVariavel, Construto, FuncaoConstruto } from '@designliquido/delegua/construtos';
1
+ import { Constante, Construto, FuncaoConstruto, Variavel } from '@designliquido/delegua/construtos';
2
2
  import { Escreva, Declaracao, Se, Enquanto, Para, Escolha, Fazer, EscrevaMesmaLinha, Const, Var, FuncaoDeclaracao, Classe, ConstMultiplo } from '@designliquido/delegua/declaracoes';
3
3
  import { RetornoLexador, RetornoAvaliadorSintatico } from '@designliquido/delegua/interfaces/retornos';
4
4
  import { AvaliadorSintaticoBase } from '@designliquido/delegua/avaliador-sintatico/avaliador-sintatico-base';
5
5
  import { ParametroInterface, SimboloInterface } from '@designliquido/delegua/interfaces';
6
6
  import { RetornoDeclaracao } from '@designliquido/delegua/avaliador-sintatico/retornos';
7
+ import { ConstanteOuVariavel } from '../construtos';
7
8
  import { MicroAvaliadorSintaticoPotigol } from './micro-avaliador-sintatico-potigol';
9
+ import { PilhaEscoposVariaveisConhecidas } from './pilha-escopos-variaveis-conhecidas';
8
10
  /**
9
11
  * TODO: Pensar numa forma de avaliar múltiplas constantes sem
10
12
  * transformar o retorno de `primario()` em um vetor.
@@ -20,10 +22,8 @@ export declare class AvaliadorSintaticoPotigol extends AvaliadorSintaticoBase {
20
22
  Texto: string;
21
23
  undefined: any;
22
24
  };
23
- declaracoesAnteriores: {
24
- [identificador: string]: any[];
25
- };
26
25
  declaracoes: Declaracao[];
26
+ pilhaEscoposVariaveisConhecidas: PilhaEscoposVariaveisConhecidas;
27
27
  constructor();
28
28
  /**
29
29
  * Testa se o primeiro parâmetro na lista de símbolos
@@ -36,13 +36,13 @@ export declare class AvaliadorSintaticoPotigol extends AvaliadorSintaticoBase {
36
36
  /**
37
37
  * Retorna uma declaração de função iniciada por igual,
38
38
  * ou seja, com apenas uma instrução.
39
- * @param simboloPrimario O símbolo que identifica a função (nome).
40
- * @param parenteseEsquerdo O parêntese esquerdo, usado para fins de pragma.
39
+ * @param simboloPrimario O símbolo que identifica a função (nome),
40
+ * também usado para fins de pragma.
41
41
  * @param parametros A lista de parâmetros da função.
42
42
  * @param tipoRetorno O tipo de retorno da função.
43
43
  * @returns Um construto do tipo `FuncaoDeclaracao`.
44
44
  */
45
- protected declaracaoFuncaoPotigolIniciadaPorIgual(simboloPrimario: SimboloInterface, parenteseEsquerdo: SimboloInterface, parametros: ParametroInterface[], tipoRetorno?: SimboloInterface): FuncaoDeclaracao;
45
+ protected declaracaoFuncaoPotigolIniciadaPorIgual(simboloPrimario: SimboloInterface, parametros: ParametroInterface[], tipoRetorno?: SimboloInterface): FuncaoDeclaracao;
46
46
  /**
47
47
  * Retorna uma declaração de função terminada por fim,
48
48
  * ou seja, com mais de uma instrução.
@@ -69,6 +69,12 @@ export declare class AvaliadorSintaticoPotigol extends AvaliadorSintaticoBase {
69
69
  };
70
70
  primario(): Construto;
71
71
  protected formato(): Construto;
72
+ /**
73
+ * Concatenação de lista é expressa por dois símbolos de dois-pontos
74
+ * em sequência
75
+ * @returns Um construto, ou vindo da continuação da análise, ou um Binário.
76
+ */
77
+ protected concatenacaoLista(): Construto;
72
78
  /**
73
79
  * Em Potigol, só é possível determinar a diferença entre uma chamada e uma
74
80
  * declaração de função depois dos argumentos.
@@ -106,8 +112,18 @@ export declare class AvaliadorSintaticoPotigol extends AvaliadorSintaticoBase {
106
112
  declaracaoEnquanto(): Enquanto;
107
113
  declaracaoPara(): Para;
108
114
  declaracaoEscolha(): Escolha;
109
- protected declaracaoDeConstantes(): ConstMultiplo | Const[];
110
- protected declaracaoDeVariaveis(): Var[];
115
+ protected declaracaoDeConstantes(primeiroIdentificador: Constante): ConstMultiplo | Const[];
116
+ /**
117
+ * Este método contempla dois cenários:
118
+ *
119
+ * - A atribuição de variáveis em si (o primeiro símbolo é a palavra reservada `var`);
120
+ * - Uma reatribuição de uma ou mais variáveis (o primeiro símbolo a ser lido é uma
121
+ * vírgula, e o primeiro identificador é passado como argumento). Neste caso, não há
122
+ * a palavra reservada `var`.
123
+ * @param primeiroIdentificador Um construto de variável. É defiido em reatribuições.
124
+ * @returns Um vetor de declarações `Var`.
125
+ */
126
+ declaracaoDeVariaveisPotigol(primeiroIdentificador?: Variavel): Var[];
111
127
  protected logicaAtribuicaoComDicaDeTipo(expressao: Constante): SimboloInterface<string>;
112
128
  declaracaoFazer(): Fazer;
113
129
  /**
@@ -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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"}
@@ -10,7 +10,10 @@ const avaliador_sintatico_base_1 = require("@designliquido/delegua/avaliador-sin
10
10
  const lexador_1 = require("@designliquido/delegua/lexador");
11
11
  const erro_avaliador_sintatico_1 = require("@designliquido/delegua/avaliador-sintatico/erro-avaliador-sintatico");
12
12
  const tuplas_1 = require("@designliquido/delegua/construtos/tuplas");
13
+ const construtos_2 = require("../construtos");
14
+ const declaracoes_2 = require("../declaracoes");
13
15
  const micro_avaliador_sintatico_potigol_1 = require("./micro-avaliador-sintatico-potigol");
16
+ const pilha_escopos_variaveis_conhecidas_1 = require("./pilha-escopos-variaveis-conhecidas");
14
17
  const lexico_regular_1 = __importDefault(require("../tipos-de-simbolos/lexico-regular"));
15
18
  /**
16
19
  * TODO: Pensar numa forma de avaliar múltiplas constantes sem
@@ -21,7 +24,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
21
24
  super();
22
25
  this.tiposPotigolParaDelegua = {
23
26
  Caractere: 'texto',
24
- Inteiro: 'numero',
27
+ Inteiro: 'inteiro',
25
28
  Logico: 'lógico',
26
29
  Lógico: 'lógico',
27
30
  Real: 'numero',
@@ -29,6 +32,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
29
32
  undefined: undefined,
30
33
  };
31
34
  this.declaracoes = [];
35
+ this.pilhaEscoposVariaveisConhecidas = new pilha_escopos_variaveis_conhecidas_1.PilhaEscoposVariaveisConhecidas();
32
36
  }
33
37
  /**
34
38
  * Testa se o primeiro parâmetro na lista de símbolos
@@ -55,16 +59,19 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
55
59
  /**
56
60
  * Retorna uma declaração de função iniciada por igual,
57
61
  * ou seja, com apenas uma instrução.
58
- * @param simboloPrimario O símbolo que identifica a função (nome).
59
- * @param parenteseEsquerdo O parêntese esquerdo, usado para fins de pragma.
62
+ * @param simboloPrimario O símbolo que identifica a função (nome),
63
+ * também usado para fins de pragma.
60
64
  * @param parametros A lista de parâmetros da função.
61
65
  * @param tipoRetorno O tipo de retorno da função.
62
66
  * @returns Um construto do tipo `FuncaoDeclaracao`.
63
67
  */
64
- declaracaoFuncaoPotigolIniciadaPorIgual(simboloPrimario, parenteseEsquerdo, parametros, tipoRetorno) {
68
+ declaracaoFuncaoPotigolIniciadaPorIgual(simboloPrimario, parametros, tipoRetorno) {
65
69
  const corpo = new construtos_1.FuncaoConstruto(simboloPrimario.hashArquivo, simboloPrimario.linha, parametros, [
66
- new declaracoes_1.Expressao(this.expressao()),
70
+ new declaracoes_1.Retorna(simboloPrimario, this.expressao()),
67
71
  ]);
72
+ if (tipoRetorno) {
73
+ corpo.tipoRetorno = tipoRetorno.lexema;
74
+ }
68
75
  return new declaracoes_1.FuncaoDeclaracao(simboloPrimario, corpo, tipoRetorno);
69
76
  }
70
77
  /**
@@ -78,10 +85,12 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
78
85
  */
79
86
  declaracaoFuncaoPotigolTerminadaPorFim(simboloPrimario, parenteseEsquerdo, parametros, tipoRetorno) {
80
87
  const corpo = this.corpoDaFuncao(simboloPrimario.lexema, parenteseEsquerdo, parametros);
88
+ if (tipoRetorno) {
89
+ corpo.tipoRetorno = tipoRetorno.lexema;
90
+ }
81
91
  return new declaracoes_1.FuncaoDeclaracao(simboloPrimario, corpo, tipoRetorno);
82
92
  }
83
93
  corpoDaFuncao(nomeFuncao, simboloPragma, parametros) {
84
- // this.consumir(tiposDeSimbolos.IGUAL, `Esperado '=' antes do escopo da função ${nomeFuncao}.`);
85
94
  const corpo = this.blocoEscopo();
86
95
  return new construtos_1.FuncaoConstruto(this.hashArquivo, Number(simboloPragma.linha), parametros, corpo);
87
96
  }
@@ -94,26 +103,23 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
94
103
  simbolosEntreParenteses.push(this.avancarEDevolverAnterior());
95
104
  }
96
105
  const resolucaoParametros = this.logicaComumParametrosPotigol(simbolosEntreParenteses);
97
- const parenteseDireito = this.consumir(lexico_regular_1.default.PARENTESE_DIREITO, "Esperado ')' após parâmetros.");
106
+ this.consumir(lexico_regular_1.default.PARENTESE_DIREITO, "Esperado ')' após parâmetros.");
98
107
  // Pode haver uma dica do tipo de retorno ou não.
99
108
  // Se houver, é uma declaração de função (verificado mais abaixo).
100
109
  let tipoRetorno = undefined;
101
110
  if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.DOIS_PONTOS)) {
102
111
  this.verificacaoTipo(this.simbolos[this.atual], 'Esperado tipo válido após dois-pontos como retorno de função.');
103
- tipoRetorno = this.simbolos[this.atual - 1];
112
+ tipoRetorno = this.avancarEDevolverAnterior();
104
113
  }
105
114
  // Se houver símbolo de igual, seja após fechamento de parênteses,
106
115
  // seja após a dica de retorno, é uma declaração de função.
107
116
  if (this.simbolos[this.atual].tipo === lexico_regular_1.default.IGUAL) {
108
117
  this.avancarEDevolverAnterior();
109
- this.declaracoesAnteriores[construtoPrimario.simbolo.lexema] = [];
110
- return this.declaracaoFuncaoPotigolIniciadaPorIgual(construtoPrimario.simbolo, parenteseEsquerdo, resolucaoParametros.parametros, tipoRetorno);
118
+ return this.declaracaoFuncaoPotigolIniciadaPorIgual(construtoPrimario.simbolo, resolucaoParametros.parametros, tipoRetorno);
111
119
  }
112
120
  return this.declaracaoFuncaoPotigolTerminadaPorFim(construtoPrimario.simbolo, parenteseEsquerdo, resolucaoParametros.parametros, tipoRetorno);
113
121
  }
114
122
  finalizarChamada(entidadeChamada) {
115
- // Parêntese esquerdo
116
- // this.avancarEDevolverAnterior();
117
123
  const simbolosEntreParenteses = [];
118
124
  while (!this.verificarTipoSimboloAtual(lexico_regular_1.default.PARENTESE_DIREITO)) {
119
125
  simbolosEntreParenteses.push(this.avancarEDevolverAnterior());
@@ -156,7 +162,6 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
156
162
  parametro.nome = simbolos[indice];
157
163
  indice++;
158
164
  if (simbolos[indice].tipo === lexico_regular_1.default.DOIS_PONTOS) {
159
- // throw this.erro(simbolos[indice], 'Esperado dois-pontos após nome de argumento para função.');
160
165
  indice++;
161
166
  this.verificacaoTipo(simbolos[indice], 'Esperado tipo do argumento após dois-pontos, em definição de função.');
162
167
  const tipoParametro = simbolos[indice];
@@ -245,7 +250,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
245
250
  return leiaDefinido;
246
251
  default:
247
252
  const simboloIdentificador = this.avancarEDevolverAnterior();
248
- return new construtos_1.ConstanteOuVariavel(this.hashArquivo, simboloIdentificador);
253
+ return new construtos_2.ConstanteOuVariavel(this.hashArquivo, simboloIdentificador);
249
254
  }
250
255
  }
251
256
  formato() {
@@ -261,6 +266,31 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
261
266
  }
262
267
  return expressao;
263
268
  }
269
+ /**
270
+ * Concatenação de lista é expressa por dois símbolos de dois-pontos
271
+ * em sequência
272
+ * @returns Um construto, ou vindo da continuação da análise, ou um Binário.
273
+ */
274
+ concatenacaoLista() {
275
+ let expressao = this.formato();
276
+ if (this.atual < this.simbolos.length) {
277
+ if (this.simbolos[this.atual].tipo === lexico_regular_1.default.DOIS_PONTOS &&
278
+ this.verificarTipoProximoSimbolo(lexico_regular_1.default.DOIS_PONTOS)) {
279
+ const primeiroDoisPontos = this.avancarEDevolverAnterior();
280
+ this.avancarEDevolverAnterior();
281
+ const ladoDireito = this.formato();
282
+ // Como aqui precisamos resolver se o lado direito é constante ou variável,
283
+ // e a concatenação funciona para o operando direito apenas como leitura,
284
+ // é seguro emitir um construto de constante aqui.
285
+ if (!(ladoDireito instanceof construtos_2.ConstanteOuVariavel)) {
286
+ throw this.erro(primeiroDoisPontos, "Operando direito de uma concatenação de lista não parece ser uma constante ou variável.");
287
+ }
288
+ const ladoDireitoComoConstante = new construtos_1.Constante(ladoDireito.hashArquivo, ladoDireito.simbolo);
289
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, new lexador_1.Simbolo(lexico_regular_1.default.CONCATENACAO_LISTA, '::', '::', primeiroDoisPontos.linha, primeiroDoisPontos.hashArquivo), ladoDireitoComoConstante);
290
+ }
291
+ }
292
+ return expressao;
293
+ }
264
294
  /**
265
295
  * Em Potigol, só é possível determinar a diferença entre uma chamada e uma
266
296
  * declaração de função depois dos argumentos.
@@ -270,10 +300,10 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
270
300
  * dependendo dos símbolos encontrados.
271
301
  */
272
302
  chamar() {
273
- let expressao = this.formato();
303
+ let expressao = this.concatenacaoLista();
274
304
  while (true) {
275
305
  if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.PARENTESE_ESQUERDO)) {
276
- if (expressao instanceof construtos_1.ConstanteOuVariavel) {
306
+ if (expressao instanceof construtos_2.ConstanteOuVariavel) {
277
307
  expressao = new construtos_1.Constante(expressao.hashArquivo, expressao.simbolo);
278
308
  }
279
309
  expressao = this.finalizarChamada(expressao);
@@ -299,8 +329,18 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
299
329
  expressao = new construtos_1.AcessoIndiceVariavel(this.hashArquivo, variavelVetor, indice, simboloFechamento);
300
330
  }
301
331
  else {
302
- if (expressao instanceof construtos_1.ConstanteOuVariavel) {
303
- expressao = new construtos_1.Constante(expressao.hashArquivo, expressao.simbolo);
332
+ if (expressao instanceof construtos_2.ConstanteOuVariavel) {
333
+ // Neste ponto, precisamos resolver se identificador é uma variável ou
334
+ // constante.
335
+ // Se houver menções a variáveis neste escopo ou em escopos anteriores,
336
+ // consideramos a expressão como variável.
337
+ // Caso contrário, consideramos como constante.
338
+ if (this.pilhaEscoposVariaveisConhecidas.variavelExiste(expressao.simbolo.lexema)) {
339
+ expressao = new construtos_1.Variavel(expressao.hashArquivo, expressao.simbolo);
340
+ }
341
+ else {
342
+ expressao = new construtos_1.Constante(expressao.hashArquivo, expressao.simbolo);
343
+ }
304
344
  }
305
345
  break;
306
346
  }
@@ -348,6 +388,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
348
388
  */
349
389
  blocoEscopo() {
350
390
  let declaracoes = [];
391
+ this.pilhaEscoposVariaveisConhecidas.empilhar([]);
351
392
  while (!this.estaNoFinal() && !this.verificarTipoSimboloAtual(lexico_regular_1.default.FIM)) {
352
393
  const retornoDeclaracao = this.resolverDeclaracaoForaDeBloco();
353
394
  if (Array.isArray(retornoDeclaracao)) {
@@ -357,6 +398,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
357
398
  declaracoes.push(retornoDeclaracao);
358
399
  }
359
400
  }
401
+ this.pilhaEscoposVariaveisConhecidas.removerUltimo();
360
402
  return declaracoes;
361
403
  }
362
404
  declaracaoSe() {
@@ -483,12 +525,17 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
483
525
  }
484
526
  return new declaracoes_1.Escolha(condicao, caminhos, caminhoPadrao);
485
527
  }
486
- declaracaoDeConstantes() {
487
- const identificadores = [];
528
+ declaracaoDeConstantes(primeiroIdentificador) {
529
+ // Normalmente o símbolo atual aqui será uma vírgula.
530
+ this.avancarEDevolverAnterior();
531
+ const identificadores = [primeiroIdentificador.simbolo];
488
532
  let tipo = null;
489
533
  do {
490
534
  identificadores.push(this.consumir(lexico_regular_1.default.IDENTIFICADOR, 'Esperado nome da constante.'));
491
535
  } while (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.VIRGULA));
536
+ // TODO: Aparentemente, não é possível definir tipo para atribuição
537
+ // múltipla de constantes. Se algo mudar nisso, o código abaixo poderá
538
+ // voltar a ser usado.
492
539
  /* if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos.DOIS_PONTOS)) {
493
540
  const tipoConstante = this.verificarDefinicaoTipoAtual();
494
541
  if (!tipoConstante) {
@@ -537,12 +584,30 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
537
584
  // this.verificarTipoAtribuido(tipo, inicializador);
538
585
  retorno.push(new declaracoes_1.Const(identificador, inicializadores[indice], tipo));
539
586
  }
540
- // this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos.PONTO_E_VIRGULA);
541
587
  return retorno;
542
588
  }
543
- declaracaoDeVariaveis() {
544
- const simboloVar = this.avancarEDevolverAnterior();
589
+ /**
590
+ * Este método contempla dois cenários:
591
+ *
592
+ * - A atribuição de variáveis em si (o primeiro símbolo é a palavra reservada `var`);
593
+ * - Uma reatribuição de uma ou mais variáveis (o primeiro símbolo a ser lido é uma
594
+ * vírgula, e o primeiro identificador é passado como argumento). Neste caso, não há
595
+ * a palavra reservada `var`.
596
+ * @param primeiroIdentificador Um construto de variável. É defiido em reatribuições.
597
+ * @returns Um vetor de declarações `Var`.
598
+ */
599
+ declaracaoDeVariaveisPotigol(primeiroIdentificador) {
545
600
  const identificadores = [];
601
+ let simboloVar;
602
+ // Se houver primeiro identificador definido (reatribuição),
603
+ // o símbolo atual aqui será uma vírgula.
604
+ if (primeiroIdentificador) {
605
+ this.avancarEDevolverAnterior();
606
+ identificadores.push(primeiroIdentificador.simbolo);
607
+ }
608
+ else {
609
+ simboloVar = this.avancarEDevolverAnterior();
610
+ }
546
611
  do {
547
612
  identificadores.push(this.consumir(lexico_regular_1.default.IDENTIFICADOR, 'Esperado nome de variável.'));
548
613
  } while (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.VIRGULA));
@@ -555,8 +620,10 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
555
620
  throw this.erro(simboloVar, 'Quantidade de identificadores à esquerda do igual é diferente da quantidade de valores à direita.');
556
621
  }
557
622
  const retorno = [];
623
+ const escopoAtual = this.pilhaEscoposVariaveisConhecidas.topoDaPilha();
558
624
  for (let [indice, identificador] of identificadores.entries()) {
559
625
  retorno.push(new declaracoes_1.Var(identificador, inicializadores[indice]));
626
+ escopoAtual.push(identificador.lexema);
560
627
  }
561
628
  return retorno;
562
629
  }
@@ -630,22 +697,36 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
630
697
  }
631
698
  atribuir() {
632
699
  const expressao = this.ou();
633
- if (!this.estaNoFinal() && expressao instanceof construtos_1.Constante) {
700
+ if (!this.estaNoFinal()) {
634
701
  let tipoVariavelOuConstante;
635
- // Atribuição constante.
636
- if (this.simbolos[this.atual].tipo === lexico_regular_1.default.DOIS_PONTOS) {
637
- tipoVariavelOuConstante = this.logicaAtribuicaoComDicaDeTipo(expressao);
702
+ if (expressao instanceof construtos_1.Constante) {
703
+ // Atribuição constante.
704
+ if (this.simbolos[this.atual].tipo === lexico_regular_1.default.DOIS_PONTOS) {
705
+ tipoVariavelOuConstante = this.logicaAtribuicaoComDicaDeTipo(expressao);
706
+ }
707
+ switch (this.simbolos[this.atual].tipo) {
708
+ case lexico_regular_1.default.VIRGULA:
709
+ return this.declaracaoDeConstantes(expressao);
710
+ case lexico_regular_1.default.IGUAL:
711
+ this.avancarEDevolverAnterior();
712
+ const valorAtribuicao = this.ou();
713
+ return new declaracoes_1.Const(expressao.simbolo, valorAtribuicao, tipoVariavelOuConstante
714
+ ? this.tiposPotigolParaDelegua[tipoVariavelOuConstante.lexema]
715
+ : undefined);
716
+ }
638
717
  }
639
- switch (this.simbolos[this.atual].tipo) {
640
- case lexico_regular_1.default.VIRGULA:
641
- this.atual--;
642
- return this.declaracaoDeConstantes();
643
- case lexico_regular_1.default.IGUAL:
644
- this.avancarEDevolverAnterior();
645
- const valorAtribuicao = this.ou();
646
- return new declaracoes_1.Const(expressao.simbolo, valorAtribuicao, tipoVariavelOuConstante
647
- ? this.tiposPotigolParaDelegua[tipoVariavelOuConstante.lexema]
648
- : undefined);
718
+ else if (expressao instanceof construtos_1.Variavel) {
719
+ // Reatribuição de variável.
720
+ switch (this.simbolos[this.atual].tipo) {
721
+ case lexico_regular_1.default.VIRGULA:
722
+ return this.declaracaoDeVariaveisPotigol(expressao);
723
+ case lexico_regular_1.default.REATRIBUIR:
724
+ this.avancarEDevolverAnterior();
725
+ const valorAtribuicao = this.ou();
726
+ return new declaracoes_2.ReatribuicaoVariavel(expressao.simbolo, valorAtribuicao, tipoVariavelOuConstante
727
+ ? this.tiposPotigolParaDelegua[tipoVariavelOuConstante.lexema]
728
+ : undefined);
729
+ }
649
730
  }
650
731
  }
651
732
  return expressao;
@@ -693,7 +774,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
693
774
  case lexico_regular_1.default.TIPO:
694
775
  return this.declaracaoTipo();
695
776
  case lexico_regular_1.default.VARIAVEL:
696
- return this.declaracaoDeVariaveis();
777
+ return this.declaracaoDeVariaveisPotigol();
697
778
  default:
698
779
  return this.expressaoOuDefinicaoFuncao();
699
780
  }
@@ -703,7 +784,8 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
703
784
  this.erros = [];
704
785
  this.atual = 0;
705
786
  this.blocos = 0;
706
- this.declaracoesAnteriores = {};
787
+ this.pilhaEscoposVariaveisConhecidas = new pilha_escopos_variaveis_conhecidas_1.PilhaEscoposVariaveisConhecidas();
788
+ this.pilhaEscoposVariaveisConhecidas.empilhar([]);
707
789
  this.hashArquivo = hashArquivo || 0;
708
790
  this.simbolos = (retornoLexador === null || retornoLexador === void 0 ? void 0 : retornoLexador.simbolos) || [];
709
791
  this.declaracoes = [];
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-potigol.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-potigol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico-potigol.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-potigol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"micro-avaliador-sintatico-potigol.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/micro-avaliador-sintatico-potigol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmF,SAAS,EAAmB,MAAM,mCAAmC,CAAC;AAChK,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvG,OAAO,EAAE,2BAA2B,EAAE,MAAM,2EAA2E,CAAC;AAExH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAOrE;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,2BAA2B;IAC3E,WAAW,EAAE,MAAM,CAAC;IAIpB,WAAW,EAAE,UAAU,EAAE,CAAC;gBAEd,WAAW,EAAE,MAAM;IAM/B,QAAQ,IAAI,SAAS;IAkDrB,SAAS,CAAC,OAAO,IAAI,SAAS;IAwB9B,MAAM,IAAI,SAAS;IAInB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAAC,UAAU,CAAC;CAiBnH"}
1
+ {"version":3,"file":"micro-avaliador-sintatico-potigol.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/micro-avaliador-sintatico-potigol.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAW,MAAM,mCAAmC,CAAC;AACnI,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvG,OAAO,EAAE,2BAA2B,EAAE,MAAM,2EAA2E,CAAC;AAExH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAKrE;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,2BAA2B;IAC3E,WAAW,EAAE,MAAM,CAAC;IAIpB,WAAW,EAAE,UAAU,EAAE,CAAC;gBAEd,WAAW,EAAE,MAAM;IAM/B,QAAQ,IAAI,SAAS;IAkDrB,SAAS,CAAC,OAAO,IAAI,SAAS;IAwB9B,MAAM,IAAI,SAAS;IAInB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAAC,UAAU,CAAC;CAiBnH"}
@@ -7,8 +7,8 @@ exports.MicroAvaliadorSintaticoPotigol = void 0;
7
7
  const construtos_1 = require("@designliquido/delegua/construtos");
8
8
  const micro_avaliador_sintatico_base_1 = require("@designliquido/delegua/avaliador-sintatico/micro-avaliador-sintatico-base");
9
9
  const tuplas_1 = require("@designliquido/delegua/construtos/tuplas");
10
+ const lexador_1 = require("@designliquido/delegua/lexador");
10
11
  const micro_lexico_1 = __importDefault(require("../tipos-de-simbolos/micro-lexico"));
11
- const delegua_1 = require("@designliquido/delegua");
12
12
  /**
13
13
  * O Micro Avaliador Sintático funciona em dois momentos:
14
14
  *
@@ -71,7 +71,7 @@ class MicroAvaliadorSintaticoPotigol extends micro_avaliador_sintatico_base_1.Mi
71
71
  throw this.erro(simboloMascaraFormato, "Máscara para função de formato inválida.");
72
72
  }
73
73
  return new construtos_1.Chamada(this.hashArquivo, // new Expressao(new MetodoPrimitiva(expressao, primitivasNumero.formato)), undefined, [expressao]);
74
- new construtos_1.AcessoMetodoOuPropriedade(this.hashArquivo, expressao, new delegua_1.Simbolo(micro_lexico_1.default.FORMATO, 'formato', 'formato', expressao.linha, this.hashArquivo)), undefined, [new construtos_1.Literal(this.hashArquivo, expressao.linha, simboloMascaraFormato.literal)]);
74
+ new construtos_1.AcessoMetodoOuPropriedade(this.hashArquivo, expressao, new lexador_1.Simbolo(micro_lexico_1.default.FORMATO, 'formato', 'formato', expressao.linha, this.hashArquivo)), undefined, [new construtos_1.Literal(this.hashArquivo, expressao.linha, simboloMascaraFormato.literal)]);
75
75
  }
76
76
  return expressao;
77
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"micro-avaliador-sintatico-potigol.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/micro-avaliador-sintatico-potigol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"micro-avaliador-sintatico-potigol.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/micro-avaliador-sintatico-potigol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { PilhaInterface } from "@designliquido/delegua/interfaces";
2
+ export declare class PilhaEscoposVariaveisConhecidas implements PilhaInterface<string[]> {
3
+ pilha: string[][];
4
+ constructor();
5
+ empilhar(item: string[]): void;
6
+ eVazio(): boolean;
7
+ topoDaPilha(): string[];
8
+ removerUltimo(): string[];
9
+ variavelExiste(nome: string): boolean;
10
+ }
11
+ //# sourceMappingURL=pilha-escopos-variaveis-conhecidas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pilha-escopos-variaveis-conhecidas.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/pilha-escopos-variaveis-conhecidas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,qBAAa,+BAAgC,YAAW,cAAc,CAAC,MAAM,EAAE,CAAC;IAC5E,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;;IAMlB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAI9B,MAAM,IAAI,OAAO;IAIjB,WAAW,IAAI,MAAM,EAAE;IAKvB,aAAa,IAAI,MAAM,EAAE;IAKzB,cAAc,CAAC,IAAI,EAAE,MAAM;CAS9B"}