@designliquido/potigol 0.8.18 → 0.9.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 (98) hide show
  1. package/analisador-semantico/analisador-semantico-potigol.d.ts +18 -3
  2. package/analisador-semantico/analisador-semantico-potigol.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico-potigol.js +255 -3
  4. package/analisador-semantico/analisador-semantico-potigol.js.map +1 -1
  5. package/avaliador-sintatico/avaliador-sintatico-potigol.d.ts +9 -2
  6. package/avaliador-sintatico/avaliador-sintatico-potigol.d.ts.map +1 -1
  7. package/avaliador-sintatico/avaliador-sintatico-potigol.js +147 -45
  8. package/avaliador-sintatico/avaliador-sintatico-potigol.js.map +1 -1
  9. package/bibliotecas/biblioteca-global.d.ts +2 -2
  10. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  11. package/bibliotecas/biblioteca-global.js +27 -4
  12. package/bibliotecas/biblioteca-global.js.map +1 -1
  13. package/bibliotecas/primitivas-cubo.d.ts +10 -0
  14. package/bibliotecas/primitivas-cubo.d.ts.map +1 -0
  15. package/bibliotecas/primitivas-cubo.js +14 -0
  16. package/bibliotecas/primitivas-cubo.js.map +1 -0
  17. package/bibliotecas/primitivas-matriz.d.ts +9 -0
  18. package/bibliotecas/primitivas-matriz.d.ts.map +1 -0
  19. package/bibliotecas/primitivas-matriz.js +13 -0
  20. package/bibliotecas/primitivas-matriz.js.map +1 -0
  21. package/bibliotecas/primitivas-numero.d.ts +2 -2
  22. package/bibliotecas/primitivas-numero.d.ts.map +1 -1
  23. package/bibliotecas/primitivas-numero.js +5 -1
  24. package/bibliotecas/primitivas-numero.js.map +1 -1
  25. package/bibliotecas/primitivas-texto.d.ts +29 -25
  26. package/bibliotecas/primitivas-texto.d.ts.map +1 -1
  27. package/bibliotecas/primitivas-texto.js +115 -4
  28. package/bibliotecas/primitivas-texto.js.map +1 -1
  29. package/bibliotecas/primitivas-vetor.d.ts +6 -3
  30. package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
  31. package/bibliotecas/primitivas-vetor.js +49 -10
  32. package/bibliotecas/primitivas-vetor.js.map +1 -1
  33. package/declaracoes/alias-tipo.d.ts +11 -0
  34. package/declaracoes/alias-tipo.d.ts.map +1 -0
  35. package/declaracoes/alias-tipo.js +19 -0
  36. package/declaracoes/alias-tipo.js.map +1 -0
  37. package/declaracoes/index.d.ts +2 -0
  38. package/declaracoes/index.d.ts.map +1 -1
  39. package/declaracoes/index.js +2 -0
  40. package/declaracoes/index.js.map +1 -1
  41. package/declaracoes/para-gere.d.ts +16 -0
  42. package/declaracoes/para-gere.d.ts.map +1 -0
  43. package/declaracoes/para-gere.js +23 -0
  44. package/declaracoes/para-gere.js.map +1 -0
  45. package/formatador/formatador-potigol.d.ts +16 -12
  46. package/formatador/formatador-potigol.d.ts.map +1 -1
  47. package/formatador/formatador-potigol.js +262 -89
  48. package/formatador/formatador-potigol.js.map +1 -1
  49. package/interfaces/visitante-comum-potigol-interface.d.ts +3 -1
  50. package/interfaces/visitante-comum-potigol-interface.d.ts.map +1 -1
  51. package/interpretador/comum.d.ts +4 -2
  52. package/interpretador/comum.d.ts.map +1 -1
  53. package/interpretador/comum.js +159 -11
  54. package/interpretador/comum.js.map +1 -1
  55. package/interpretador/estruturas/cubo.d.ts +47 -0
  56. package/interpretador/estruturas/cubo.d.ts.map +1 -0
  57. package/interpretador/estruturas/cubo.js +106 -0
  58. package/interpretador/estruturas/cubo.js.map +1 -0
  59. package/interpretador/estruturas/index.d.ts +2 -0
  60. package/interpretador/estruturas/index.d.ts.map +1 -1
  61. package/interpretador/estruturas/index.js +2 -0
  62. package/interpretador/estruturas/index.js.map +1 -1
  63. package/interpretador/estruturas/matriz.d.ts +40 -0
  64. package/interpretador/estruturas/matriz.d.ts.map +1 -0
  65. package/interpretador/estruturas/matriz.js +84 -0
  66. package/interpretador/estruturas/matriz.js.map +1 -0
  67. package/interpretador/inferenciador.d.ts +1 -1
  68. package/interpretador/inferenciador.d.ts.map +1 -1
  69. package/interpretador/inferenciador.js +20 -2
  70. package/interpretador/inferenciador.js.map +1 -1
  71. package/interpretador/interpretador-potigol-com-depuracao.d.ts +5 -2
  72. package/interpretador/interpretador-potigol-com-depuracao.d.ts.map +1 -1
  73. package/interpretador/interpretador-potigol-com-depuracao.js +9 -0
  74. package/interpretador/interpretador-potigol-com-depuracao.js.map +1 -1
  75. package/interpretador/interpretador-potigol.d.ts +7 -2
  76. package/interpretador/interpretador-potigol.d.ts.map +1 -1
  77. package/interpretador/interpretador-potigol.js +44 -0
  78. package/interpretador/interpretador-potigol.js.map +1 -1
  79. package/lexador/lexador-potigol.d.ts.map +1 -1
  80. package/lexador/lexador-potigol.js +13 -1
  81. package/lexador/lexador-potigol.js.map +1 -1
  82. package/lexador/palavras-reservadas.d.ts +9 -0
  83. package/lexador/palavras-reservadas.d.ts.map +1 -1
  84. package/lexador/palavras-reservadas.js +9 -0
  85. package/lexador/palavras-reservadas.js.map +1 -1
  86. package/package.json +4 -4
  87. package/tipos-de-dados.d.ts +3 -0
  88. package/tipos-de-dados.d.ts.map +1 -1
  89. package/tipos-de-dados.js +3 -0
  90. package/tipos-de-dados.js.map +1 -1
  91. package/tipos-de-simbolos/lexico-regular.d.ts +8 -0
  92. package/tipos-de-simbolos/lexico-regular.d.ts.map +1 -1
  93. package/tipos-de-simbolos/lexico-regular.js +8 -0
  94. package/tipos-de-simbolos/lexico-regular.js.map +1 -1
  95. package/tipos-de-simbolos/micro-lexico.d.ts +1 -0
  96. package/tipos-de-simbolos/micro-lexico.d.ts.map +1 -1
  97. package/tipos-de-simbolos/micro-lexico.js +1 -0
  98. package/tipos-de-simbolos/micro-lexico.js.map +1 -1
@@ -1,10 +1,10 @@
1
1
  import { AnalisadorSemanticoBase, PilhaVariaveis } from '@designliquido/delegua/analisador-semantico';
2
- import { Const, Declaracao, Enquanto, Escolha, Escreva, Expressao, Falhar, Var } from '@designliquido/delegua/declaracoes';
3
- import { Atribuir, Binario, Chamada, Construto, Literal, Variavel, Constante, TipoDe } from '@designliquido/delegua';
2
+ import { Classe, Const, Declaracao, Enquanto, Escolha, Escreva, Expressao, Falhar, ParaCada, Var, VarMultiplo } from '@designliquido/delegua/declaracoes';
3
+ import { AcessoMetodoOuPropriedade, Atribuir, Binario, Chamada, Construto, Literal, Variavel, Constante, TipoDe } from '@designliquido/delegua';
4
4
  import { DiagnosticoAnalisadorSemantico, ParametroInterface, SimboloInterface } from '@designliquido/delegua/interfaces';
5
5
  import { FuncaoHipoteticaInterface } from '@designliquido/delegua/interfaces/funcao-hipotetica-interface';
6
6
  import { RetornoAnalisadorSemantico } from '@designliquido/delegua/interfaces/retornos/retorno-analisador-semantico';
7
- import { ReatribuicaoVariavel } from '../declaracoes';
7
+ import { AliasTipo, ParaGere, ReatribuicaoVariavel } from '../declaracoes';
8
8
  import { VisitanteComumPotigolInterface } from '../interfaces';
9
9
  import { LeiaInteiro, LeiaInteiros, LeiaReais, LeiaReal, LeiaTexto, LeiaTextos } from '../construtos';
10
10
  /**
@@ -19,7 +19,12 @@ export declare class AnalisadorSemanticoPotigol extends AnalisadorSemanticoBase
19
19
  };
20
20
  atual: number;
21
21
  diagnosticos: DiagnosticoAnalisadorSemantico[];
22
+ aliasesTipoNormalizados: Set<string>;
23
+ private readonly tiposBaseNormalizados;
22
24
  constructor();
25
+ private normalizarTipo;
26
+ private tipoEhConhecido;
27
+ private valorEhClasse;
23
28
  /**
24
29
  * Verifica o tipo atribuído a uma variável na declaração
25
30
  */
@@ -71,6 +76,10 @@ export declare class AnalisadorSemanticoPotigol extends AnalisadorSemanticoBase
71
76
  * Verifica divisão por zero em tempo de compilação
72
77
  */
73
78
  private verificarDivisaoPorZero;
79
+ /**
80
+ * Verifica o número de argumentos em chamadas de método
81
+ */
82
+ private verificarArgumentosMetodo;
74
83
  /**
75
84
  * Tenta avaliar uma expressão em tempo de compilação para detectar valores constantes
76
85
  * Retorna o valor se puder ser determinado, ou null caso contrário
@@ -101,12 +110,14 @@ export declare class AnalisadorSemanticoPotigol extends AnalisadorSemanticoBase
101
110
  */
102
111
  protected verificarInterpolacaoTexto(texto: string, literal: Literal): void;
103
112
  visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>;
113
+ visitarDeclaracaoClasse(declaracao: Classe): Promise<any>;
104
114
  /**
105
115
  * Verifica variáveis não usadas no escopo atual
106
116
  */
107
117
  private verificarVariaveisNaoUsadas;
108
118
  visitarDeclaracaoConst(declaracao: Const): Promise<any>;
109
119
  visitarDeclaracaoVar(declaracao: Var): Promise<any>;
120
+ visitarDeclaracaoVarMultiplo(declaracao: VarMultiplo): Promise<any>;
110
121
  visitarExpressaoDeVariavel(expressao: Variavel | Constante): Promise<any>;
111
122
  visitarDeclaracaoLeiaInteiro(declaracao: LeiaInteiro): Promise<any> | void;
112
123
  visitarDeclaracaoLeiaInteiros(declaracao: LeiaInteiros): Promise<any> | void;
@@ -114,7 +125,11 @@ export declare class AnalisadorSemanticoPotigol extends AnalisadorSemanticoBase
114
125
  visitarDeclaracaoLeiaReal(declaracao: LeiaReal): Promise<any> | void;
115
126
  visitarDeclaracaoLeiaTexto(declaracao: LeiaTexto): Promise<any> | void;
116
127
  visitarDeclaracaoLeiaTextos(declaracao: LeiaTextos): Promise<any> | void;
128
+ visitarDeclaracaoAliasTipo(declaracao: AliasTipo): Promise<any> | void;
129
+ visitarDeclaracaoParaGere(declaracao: ParaGere): Promise<any> | void;
130
+ visitarDeclaracaoParaCada(declaracao: ParaCada): Promise<any>;
117
131
  visitarExpressaoBinaria(expressao: Binario): Promise<any>;
132
+ visitarExpressaoAcessoMetodoOuPropriedade(expressao: AcessoMetodoOuPropriedade): Promise<any>;
118
133
  visitarDeclaracaoReatribuicaoVariavel(declaracao: ReatribuicaoVariavel): void | Promise<any>;
119
134
  /**
120
135
  * Método principal de análise semântica
@@ -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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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AnalisadorSemanticoPotigol = void 0;
4
4
  const analisador_semantico_1 = require("@designliquido/delegua/analisador-semantico");
5
+ const declaracoes_1 = require("@designliquido/delegua/declaracoes");
5
6
  const delegua_1 = require("@designliquido/delegua");
6
7
  /**
7
8
  * Analisador Semântico do Potigol.
@@ -11,10 +12,40 @@ const delegua_1 = require("@designliquido/delegua");
11
12
  class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemanticoBase {
12
13
  constructor() {
13
14
  super();
15
+ this.tiposBaseNormalizados = new Set([
16
+ 'inteiro',
17
+ 'real',
18
+ 'numero',
19
+ 'logico',
20
+ 'texto',
21
+ 'caractere',
22
+ 'qualquer',
23
+ 'vetor',
24
+ ]);
14
25
  this.pilhaVariaveis = new analisador_semantico_1.PilhaVariaveis();
15
26
  this.funcoes = {};
16
27
  this.atual = 0;
17
28
  this.diagnosticos = [];
29
+ this.aliasesTipoNormalizados = new Set();
30
+ }
31
+ normalizarTipo(tipo) {
32
+ return tipo
33
+ .normalize('NFD')
34
+ .replace(/[\u0300-\u036f]/g, '')
35
+ .toLowerCase()
36
+ .trim();
37
+ }
38
+ tipoEhConhecido(tipo) {
39
+ const tipoNormalizado = this.normalizarTipo(tipo);
40
+ if (tipoNormalizado.endsWith('[]')) {
41
+ return this.tipoEhConhecido(tipoNormalizado.slice(0, -2));
42
+ }
43
+ return (this.tiposBaseNormalizados.has(tipoNormalizado) ||
44
+ this.aliasesTipoNormalizados.has(tipoNormalizado));
45
+ }
46
+ valorEhClasse(valor) {
47
+ var _a;
48
+ return valor instanceof declaracoes_1.Classe || ((_a = valor === null || valor === void 0 ? void 0 : valor.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'Classe';
18
49
  }
19
50
  /**
20
51
  * Verifica o tipo atribuído a uma variável na declaração
@@ -125,14 +156,27 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
125
156
  }
126
157
  }
127
158
  switch (expressao.entidadeChamada.constructor) {
159
+ case delegua_1.AcessoMetodoOuPropriedade: {
160
+ const acesso = expressao.entidadeChamada;
161
+ this.verificarArgumentosMetodo(acesso.simbolo.lexema, expressao.argumentos.length, acesso.simbolo, acesso.objeto);
162
+ break;
163
+ }
128
164
  case delegua_1.Variavel:
165
+ case delegua_1.Constante:
129
166
  const entidadeChamadaVariavel = expressao.entidadeChamada;
130
- const funcaoChamada = this.gerenciadorEscopos.buscar(entidadeChamadaVariavel.simbolo.lexema) ||
131
- this.funcoes[entidadeChamadaVariavel.simbolo.lexema];
167
+ const simboloNoEscopo = this.gerenciadorEscopos.buscar(entidadeChamadaVariavel.simbolo.lexema);
168
+ const funcaoChamada = simboloNoEscopo || this.funcoes[entidadeChamadaVariavel.simbolo.lexema];
132
169
  if (!funcaoChamada) {
133
170
  this.erro(entidadeChamadaVariavel.simbolo, `Chamada da função '${entidadeChamadaVariavel.simbolo.lexema}' não existe.`);
134
171
  return Promise.resolve();
135
172
  }
173
+ if (this.valorEhClasse(simboloNoEscopo === null || simboloNoEscopo === void 0 ? void 0 : simboloNoEscopo.valor)) {
174
+ this.gerenciadorEscopos.marcarComoUsada(entidadeChamadaVariavel.simbolo.lexema);
175
+ if (simboloNoEscopo.valor.abstrata) {
176
+ this.erro(entidadeChamadaVariavel.simbolo, `Tipo abstrato '${entidadeChamadaVariavel.simbolo.lexema}' não pode ser instanciado.`);
177
+ }
178
+ return Promise.resolve();
179
+ }
136
180
  const funcao = funcaoChamada.valor;
137
181
  this.comparacaoArgumentosContraParametrosFuncao(entidadeChamadaVariavel.simbolo, funcao.parametros, expressao.argumentos);
138
182
  break;
@@ -214,6 +258,9 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
214
258
  const identificadorOuLiteral = declaracao.identificadorOuLiteral;
215
259
  const tipo = identificadorOuLiteral.tipo;
216
260
  for (let caminho of declaracao.caminhos) {
261
+ if (caminho.guarda) {
262
+ this.verificarCondicao(caminho.guarda);
263
+ }
217
264
  for (let condicao of caminho.condicoes) {
218
265
  switch (condicao.constructor) {
219
266
  case delegua_1.Literal:
@@ -247,6 +294,17 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
247
294
  * Verifica recursivamente uma condição
248
295
  */
249
296
  verificarCondicao(condicao) {
297
+ if (condicao instanceof delegua_1.Literal) {
298
+ if (typeof condicao.valor !== 'boolean') {
299
+ this.erro({
300
+ lexema: `${condicao.valor}`,
301
+ tipo: condicao.tipo,
302
+ linha: condicao.linha,
303
+ hashArquivo: condicao.hashArquivo,
304
+ }, `Esperado tipo 'lógico' na condição.`);
305
+ }
306
+ return Promise.resolve();
307
+ }
250
308
  if (condicao instanceof delegua_1.Agrupamento) {
251
309
  return this.verificarCondicao(condicao.expressao);
252
310
  }
@@ -333,7 +391,7 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
333
391
  const ambosNumericos = tiposNumericos.includes(tipoEsquerda) &&
334
392
  tiposNumericos.includes(tipoDireita);
335
393
  if (!ambosNumericos) {
336
- this.aviso(binario.operador, `Operação entre tipos diferentes: tipo esquerdo '${tipoEsquerda}' e tipo direito '${tipoDireita}'. O resultado será resolvido implicitamente.`);
394
+ this.erro(binario.operador, `Operação entre tipos incompatíveis: tipo esquerdo '${tipoEsquerda}' e tipo direito '${tipoDireita}'.`);
337
395
  }
338
396
  }
339
397
  }
@@ -346,6 +404,93 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
346
404
  this.erro(binario.operador, `Divisão por zero.`);
347
405
  }
348
406
  }
407
+ /**
408
+ * Verifica o número de argumentos em chamadas de método
409
+ */
410
+ verificarArgumentosMetodo(nomeMetodo, numeroArgumentos, simbolo, objeto) {
411
+ // Métodos de vetor/lista
412
+ const metodosVetor = {
413
+ 'cabeça': [0],
414
+ 'cauda': [0],
415
+ 'contém': [1],
416
+ 'descarte': [1],
417
+ 'descarte_enquanto': [1],
418
+ 'divida_quando': [1],
419
+ 'injete': [1, 2],
420
+ 'inverta': [0],
421
+ 'junte': [0, 1],
422
+ 'mapeie': [1],
423
+ 'ordene': [0, 1],
424
+ 'ordene_por': [1],
425
+ 'pegue': [1],
426
+ 'pegue_enquanto': [1],
427
+ 'posição': [1],
428
+ 'remova': [1],
429
+ 'selecione': [1],
430
+ 'tamanho': [0],
431
+ 'último': [0],
432
+ 'vazia': [0],
433
+ 'primeiro': [0],
434
+ 'filtre': [1],
435
+ 'reduza': [1]
436
+ };
437
+ // Métodos de texto
438
+ const metodosTexto = {
439
+ 'cabeça': [0],
440
+ 'cauda': [0],
441
+ 'contém': [1],
442
+ 'descarte': [1],
443
+ 'descarte_enquanto': [1],
444
+ 'divida': [0, 1],
445
+ 'injete': [1, 2],
446
+ 'inverta': [0],
447
+ 'junte': [0, 1],
448
+ 'maiúsculo': [0],
449
+ 'minúsculo': [0],
450
+ 'ordene': [0],
451
+ 'pegue': [1],
452
+ 'pegue_enquanto': [1],
453
+ 'posição': [1],
454
+ 'remova': [1],
455
+ 'selecione': [1],
456
+ 'tamanho': [0],
457
+ 'último': [0],
458
+ 'primeiro': [0],
459
+ 'filtre': [1],
460
+ 'reduza': [1]
461
+ };
462
+ // Métodos de número
463
+ const metodosNumero = {
464
+ 'arredonde': [0, 1],
465
+ 'caractere': [0],
466
+ 'inteiro': [0],
467
+ 'formato': [1],
468
+ 'piso': [0],
469
+ 'real': [0],
470
+ 'teto': [0],
471
+ 'texto': [0],
472
+ 'qual_tipo': [0]
473
+ };
474
+ // Verificar se é método conhecido
475
+ let metodosConhecidos;
476
+ // Tentar determinar o tipo do objeto
477
+ const tipoObjeto = this.obterTipoExpressao(objeto);
478
+ if (tipoObjeto === 'vetor' || tipoObjeto === 'lista') {
479
+ metodosConhecidos = metodosVetor;
480
+ }
481
+ else if (tipoObjeto === 'texto') {
482
+ metodosConhecidos = metodosTexto;
483
+ }
484
+ else if (tipoObjeto === 'inteiro' || tipoObjeto === 'real' || tipoObjeto === 'número') {
485
+ metodosConhecidos = metodosNumero;
486
+ }
487
+ if (metodosConhecidos && metodosConhecidos[nomeMetodo]) {
488
+ const argumentosEsperados = metodosConhecidos[nomeMetodo];
489
+ if (!argumentosEsperados.includes(numeroArgumentos)) {
490
+ this.erro(simbolo, `Método '${nomeMetodo}' espera ${argumentosEsperados.join(' ou ')} argumento(s), mas recebeu ${numeroArgumentos}.`);
491
+ }
492
+ }
493
+ }
349
494
  /**
350
495
  * Tenta avaliar uma expressão em tempo de compilação para detectar valores constantes
351
496
  * Retorna o valor se puder ser determinado, ou null caso contrário
@@ -497,6 +642,19 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
497
642
  }
498
643
  return Promise.resolve();
499
644
  }
645
+ visitarDeclaracaoClasse(declaracao) {
646
+ this.gerenciadorEscopos.declarar(declaracao.simbolo.lexema, {
647
+ nome: declaracao.simbolo.lexema,
648
+ tipo: 'tipo',
649
+ imutavel: true,
650
+ valor: declaracao,
651
+ inicializada: true,
652
+ usada: false,
653
+ hashArquivo: declaracao.simbolo.hashArquivo,
654
+ linha: declaracao.simbolo.linha,
655
+ });
656
+ return Promise.resolve();
657
+ }
500
658
  /**
501
659
  * Verifica variáveis não usadas no escopo atual
502
660
  */
@@ -512,6 +670,9 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
512
670
  }
513
671
  }
514
672
  visitarDeclaracaoConst(declaracao) {
673
+ if (declaracao.tipo && !this.tipoEhConhecido(declaracao.tipo)) {
674
+ this.erro(declaracao.simbolo, `Tipo '${declaracao.tipo}' nao existe.`);
675
+ }
515
676
  this.gerenciadorEscopos.declarar(declaracao.simbolo.lexema, {
516
677
  nome: declaracao.simbolo.lexema,
517
678
  tipo: declaracao.tipo,
@@ -523,11 +684,17 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
523
684
  linha: declaracao.simbolo.linha
524
685
  });
525
686
  if (declaracao.inicializador) {
687
+ if (declaracao.inicializador instanceof delegua_1.Chamada) {
688
+ this.visitarExpressaoDeChamada(declaracao.inicializador);
689
+ }
526
690
  this.verificarTipoAtribuido(declaracao);
527
691
  }
528
692
  return Promise.resolve();
529
693
  }
530
694
  visitarDeclaracaoVar(declaracao) {
695
+ if (declaracao.tipo && !this.tipoEhConhecido(declaracao.tipo)) {
696
+ this.erro(declaracao.simbolo, `Tipo '${declaracao.tipo}' nao existe.`);
697
+ }
531
698
  this.gerenciadorEscopos.declarar(declaracao.simbolo.lexema, {
532
699
  nome: declaracao.simbolo.lexema,
533
700
  tipo: declaracao.tipo,
@@ -539,10 +706,28 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
539
706
  linha: declaracao.simbolo.linha
540
707
  });
541
708
  if (declaracao.inicializador) {
709
+ if (declaracao.inicializador instanceof delegua_1.Chamada) {
710
+ this.visitarExpressaoDeChamada(declaracao.inicializador);
711
+ }
542
712
  this.verificarTipoAtribuido(declaracao);
543
713
  }
544
714
  return Promise.resolve();
545
715
  }
716
+ visitarDeclaracaoVarMultiplo(declaracao) {
717
+ for (const simbolo of declaracao.simbolos) {
718
+ this.gerenciadorEscopos.declarar(simbolo.lexema, {
719
+ nome: simbolo.lexema,
720
+ tipo: declaracao.tipo,
721
+ imutavel: false,
722
+ valor: declaracao.inicializador,
723
+ inicializada: declaracao.inicializador !== undefined,
724
+ usada: false,
725
+ hashArquivo: simbolo.hashArquivo,
726
+ linha: simbolo.linha,
727
+ });
728
+ }
729
+ return Promise.resolve();
730
+ }
546
731
  visitarExpressaoDeVariavel(expressao) {
547
732
  if (expressao instanceof delegua_1.Variavel) {
548
733
  this.verificarVariavel(expressao);
@@ -568,12 +753,78 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
568
753
  visitarDeclaracaoLeiaTextos(declaracao) {
569
754
  return Promise.resolve();
570
755
  }
756
+ visitarDeclaracaoAliasTipo(declaracao) {
757
+ const aliasNormalizado = this.normalizarTipo(declaracao.simbolo.lexema);
758
+ if (this.tiposBaseNormalizados.has(aliasNormalizado) || this.aliasesTipoNormalizados.has(aliasNormalizado)) {
759
+ this.erro(declaracao.simbolo, `Alias de tipo '${declaracao.simbolo.lexema}' ja existe.`);
760
+ return Promise.resolve();
761
+ }
762
+ if (!this.tipoEhConhecido(declaracao.tipoOriginal)) {
763
+ this.erro(declaracao.simbolo, `Tipo base '${declaracao.tipoOriginal}' nao existe para alias '${declaracao.simbolo.lexema}'.`);
764
+ return Promise.resolve();
765
+ }
766
+ this.aliasesTipoNormalizados.add(aliasNormalizado);
767
+ return Promise.resolve();
768
+ }
769
+ visitarDeclaracaoParaGere(declaracao) {
770
+ if (declaracao.inicio instanceof delegua_1.Literal && typeof declaracao.inicio.valor !== 'number') {
771
+ this.erro(declaracao.simboloIteracao, `Valor inicial de 'para gere' deve ser numerico.`);
772
+ }
773
+ if (declaracao.fim instanceof delegua_1.Literal && typeof declaracao.fim.valor !== 'number') {
774
+ this.erro(declaracao.simboloIteracao, `Valor final de 'para gere' deve ser numerico.`);
775
+ }
776
+ if (declaracao.passo instanceof delegua_1.Literal && typeof declaracao.passo.valor !== 'number') {
777
+ this.erro(declaracao.simboloIteracao, `Passo de 'para gere' deve ser numerico.`);
778
+ }
779
+ this.gerenciadorEscopos.empilharEscopo();
780
+ this.gerenciadorEscopos.declarar(declaracao.simboloIteracao.lexema, {
781
+ nome: declaracao.simboloIteracao.lexema,
782
+ tipo: 'inteiro',
783
+ imutavel: false,
784
+ valor: undefined,
785
+ inicializada: true,
786
+ usada: false,
787
+ hashArquivo: declaracao.simboloIteracao.hashArquivo,
788
+ linha: declaracao.simboloIteracao.linha,
789
+ });
790
+ if (declaracao.condicao) {
791
+ this.verificarCondicao(declaracao.condicao);
792
+ }
793
+ for (const declaracaoCorpo of declaracao.corpo) {
794
+ declaracaoCorpo.aceitar(this);
795
+ }
796
+ this.gerenciadorEscopos.desempilharEscopo();
797
+ return Promise.resolve();
798
+ }
799
+ visitarDeclaracaoParaCada(declaracao) {
800
+ const nomeVariavel = declaracao.variavelIteracao.simbolo.lexema;
801
+ this.gerenciadorEscopos.empilharEscopo();
802
+ this.gerenciadorEscopos.declarar(nomeVariavel, {
803
+ nome: nomeVariavel,
804
+ tipo: 'qualquer',
805
+ imutavel: false,
806
+ valor: undefined,
807
+ inicializada: true,
808
+ usada: false,
809
+ hashArquivo: declaracao.variavelIteracao.simbolo.hashArquivo,
810
+ linha: declaracao.variavelIteracao.simbolo.linha,
811
+ });
812
+ for (const declaracaoCorpo of declaracao.corpo.declaracoes) {
813
+ declaracaoCorpo.aceitar(this);
814
+ }
815
+ this.gerenciadorEscopos.desempilharEscopo();
816
+ return Promise.resolve();
817
+ }
571
818
  visitarExpressaoBinaria(expressao) {
572
819
  this.verificarExistenciaConstruto(expressao.direita);
573
820
  this.verificarExistenciaConstruto(expressao.esquerda);
574
821
  this.verificarOperadorBinario(expressao);
575
822
  return Promise.resolve();
576
823
  }
824
+ visitarExpressaoAcessoMetodoOuPropriedade(expressao) {
825
+ this.verificarExistenciaConstruto(expressao.objeto);
826
+ return Promise.resolve();
827
+ }
577
828
  visitarDeclaracaoReatribuicaoVariavel(declaracao) {
578
829
  // Verifica se a variável existe
579
830
  const variavel = this.gerenciadorEscopos.buscar(declaracao.simbolo.lexema);
@@ -602,6 +853,7 @@ class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemant
602
853
  this.funcoes = {};
603
854
  this.atual = 0;
604
855
  this.diagnosticos = [];
856
+ this.aliasesTipoNormalizados = new Set();
605
857
  while (this.atual < declaracoes.length) {
606
858
  await declaracoes[this.atual].aceitar(this);
607
859
  this.atual++;
@@ -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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"}
@@ -1,9 +1,10 @@
1
1
  import { Chamada, Constante, Construto, FuncaoConstruto, Leia, Tupla, Variavel } from '@designliquido/delegua/construtos';
2
- import { Escreva, Declaracao, Se, Enquanto, Para, Escolha, Fazer, EscrevaMesmaLinha, Const, Var, FuncaoDeclaracao, Classe, ConstMultiplo } from '@designliquido/delegua/declaracoes';
2
+ import { Escreva, Declaracao, Se, Enquanto, Para, Escolha, Fazer, EscrevaMesmaLinha, Const, Var, FuncaoDeclaracao, Classe, ConstMultiplo, Importar } 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 { ConstanteOuVariavel, LeiaInteiros, LeiaReais, LeiaTextos } from '../construtos';
7
+ import { AliasTipo } from '../declaracoes';
7
8
  import { MicroAvaliadorSintaticoPotigol } from './micro-avaliador-sintatico-potigol';
8
9
  import { PilhaEscoposVariaveisConhecidas } from './pilha-escopos-variaveis-conhecidas';
9
10
  /**
@@ -13,6 +14,7 @@ import { PilhaEscoposVariaveisConhecidas } from './pilha-escopos-variaveis-conhe
13
14
  */
14
15
  export declare class AvaliadorSintaticoPotigol extends AvaliadorSintaticoBase {
15
16
  microAvaliadorSintatico: MicroAvaliadorSintaticoPotigol;
17
+ tiposDefinidosEmCodigo: Record<string, string>;
16
18
  tiposPotigolParaDelegua: {
17
19
  Caractere: string;
18
20
  Inteiro: string;
@@ -88,7 +90,10 @@ export declare class AvaliadorSintaticoPotigol extends AvaliadorSintaticoBase {
88
90
  * de funções anônimas.
89
91
  * @param primeiroArgumento O primeiro argumento, já resolvido como construto.
90
92
  */
91
- protected logicaArgumentosTipados(primeiroArgumento: Construto): void;
93
+ protected logicaArgumentosTipados(primeiroArgumento: Construto): {
94
+ parametros: ParametroInterface[];
95
+ tipagemDefinida: boolean;
96
+ };
92
97
  protected logicaFuncaoAnonimaOuTupla(primeiroConstruto: Construto): Tupla | Promise<FuncaoConstruto>;
93
98
  primario(): Promise<Construto>;
94
99
  protected formato(): Promise<Construto>;
@@ -156,6 +161,8 @@ export declare class AvaliadorSintaticoPotigol extends AvaliadorSintaticoBase {
156
161
  declaracaoPara(): Promise<Para>;
157
162
  declaracaoEscolha(): Promise<Escolha>;
158
163
  declaracaoFazer(): Fazer;
164
+ protected declaracaoUse(): Importar;
165
+ protected declaracaoTipoOuAlias(): Promise<Classe | AliasTipo>;
159
166
  /**
160
167
  * Uma declaração de tipo nada mais é do que um declaração de classe.
161
168
  * Em Potigol, classe e tipo são praticamente a mesma coisa.
@@ -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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"}