@designliquido/delegua 0.39.3 → 0.39.5

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 (55) hide show
  1. package/README.md +21 -9
  2. package/avaliador-sintatico/avaliador-sintatico.d.ts +10 -1
  3. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  4. package/avaliador-sintatico/avaliador-sintatico.js +93 -57
  5. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  6. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +1 -0
  7. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts.map +1 -1
  8. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +7 -4
  9. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +1 -1
  11. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +1 -1
  12. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +1 -0
  13. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  14. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +6 -5
  15. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  16. package/avaliador-sintatico/index.d.ts +1 -0
  17. package/avaliador-sintatico/index.d.ts.map +1 -1
  18. package/avaliador-sintatico/index.js +1 -0
  19. package/avaliador-sintatico/index.js.map +1 -1
  20. package/bibliotecas/dialetos/egua-classico/index.d.ts.map +1 -1
  21. package/bin/package.json +26 -26
  22. package/construtos/super.d.ts +2 -2
  23. package/construtos/super.d.ts.map +1 -1
  24. package/construtos/super.js +2 -2
  25. package/construtos/super.js.map +1 -1
  26. package/estruturas/delegua-funcao.d.ts +2 -0
  27. package/estruturas/delegua-funcao.d.ts.map +1 -1
  28. package/estruturas/delegua-funcao.js +5 -1
  29. package/estruturas/delegua-funcao.js.map +1 -1
  30. package/estruturas/descritor-tipo-classe.js +1 -1
  31. package/estruturas/descritor-tipo-classe.js.map +1 -1
  32. package/formatadores/formatador-delegua.d.ts.map +1 -1
  33. package/formatadores/formatador-delegua.js +1 -3
  34. package/formatadores/formatador-delegua.js.map +1 -1
  35. package/formatadores/formatador-pitugues.d.ts +62 -0
  36. package/formatadores/formatador-pitugues.d.ts.map +1 -0
  37. package/formatadores/formatador-pitugues.js +172 -0
  38. package/formatadores/formatador-pitugues.js.map +1 -0
  39. package/interpretador/comum.js +17 -7
  40. package/interpretador/comum.js.map +1 -1
  41. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
  42. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +2 -8
  43. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  44. package/interpretador/interpretador-base.d.ts +2 -8
  45. package/interpretador/interpretador-base.d.ts.map +1 -1
  46. package/interpretador/interpretador-base.js +10 -41
  47. package/interpretador/interpretador-base.js.map +1 -1
  48. package/package.json +26 -26
  49. package/tradutores/python/python3-lexer.js +17 -7
  50. package/tradutores/python/python3-lexer.js.map +1 -1
  51. package/tradutores/python/python3-parser.js +17 -7
  52. package/tradutores/python/python3-parser.js.map +1 -1
  53. package/tradutores/tradutor-assemblyscript.js +1 -1
  54. package/tradutores/tradutor-assemblyscript.js.map +1 -1
  55. package/umd/delegua.js +180 -138
package/README.md CHANGED
@@ -45,17 +45,26 @@
45
45
 
46
46
  Delégua é uma linguagem de programação baseada na língua portuguesa, cujo código começou como uma variação (_fork_) da [linguagem Égua](https://egua.dev), usada para fins educacionais e comerciais pela Design Líquido. A variação começou na versão 1.2.0 de Égua.
47
47
 
48
- Delégua tem retrocompatibilidade com a linguagem Égua e compreende sua extensão de arquivo (`.egua`). Em outras palavras, todo programa escrito em Égua funciona em Delégua, mas Delégua tem capacidades a mais, [conforme mencionado em documentação](https://github.com/DesignLiquido/delegua/wiki).
48
+ Delégua tem retrocompatibilidade parcial com a linguagem Égua e compreende sua extensão de arquivo (`.egua`), para
49
+ aplicações por linha de comando. Em outras palavras, todo programa escrito em Égua funciona no dialeto de Delégua correspondente. No mais, Delégua se diferenciou substancialmente de Égua com o passar dos anos, [e essas diferenças estão descritas em nossa documentação](https://github.com/DesignLiquido/delegua/wiki).
50
+
51
+ ## Motivação
52
+
53
+ - Atualmente, há 300 milhões de falantes de português no mundo, seja como primeira ou segunda língua;
54
+ - A língua materna é substancialmente mais eficiente para expressão em passos lógicos, largamente documentada no meio acadêmico;
55
+ - Apenas considerando o Brasil, 5% de toda a população fala inglês em algum nível, seja ele elementar, intermediário ou fluente, com apenas 1% sendo efetivamente fluente. Aqui consideramos "fluência" como a dominância de 10000 palavras em inglês, além de plena capacidade de leitura, escrita e conversação;
56
+ - Ainda considerando apenas o Brasil, menos de 1 milhão de pessoas trabalha com programação;
57
+ - Como carreira, a programação é uma das formas mais eficazes de geração de emprego e renda com a aplicação de poucos recursos, especialmente quando em código aberto e acessível a todos.
49
58
 
50
59
  ## Vantagens de programar em português
51
60
 
52
- - **Acessibilidade e Compreensão:** Programar em sua língua materna, como o português, pode tornar os conceitos de programação mais acessíveis e fáceis de entender, especialmente para iniciantes. Isso reduz a barreira de entrada para novos programadores.
61
+ - **Acessibilidade e Compreensão:** Programar em sua língua materna, como o português, torna os conceitos de programação mais acessíveis e fáceis de entender, especialmente para iniciantes, reduzindo a barreira de entrada para novos programadores.
53
62
 
54
- - **Facilita o Aprendizado:** A programação em português permite que os aprendizes concentrem-se nos conceitos de programação em vez de lidar com a barreira do idioma. Isso pode acelerar o processo de aprendizado, especialmente para pessoas que não têm fluência em inglês.
63
+ - **Facilita o Aprendizado:** A programação em português permite que os aprendizes concentrem-se nos conceitos de programação em vez de lidar com a barreira de um segundo idioma. Isso pode acelerar o processo de aprendizado, especialmente para pessoas que não têm fluência em inglês (ou 95% da população que possui o português como língua materna).
55
64
 
56
- - **Melhor Comunicação e Documentação:** Programar em seu idioma nativo pode levar a uma comunicação mais clara e eficaz com colegas e clientes locais. Além disso, a documentação em português pode ser mais fácil de compreender e seguir.
65
+ - **Melhor Comunicação e Documentação:** Programar em seu idioma nativo leva a uma comunicação mais clara e eficaz com colegas e clientes locais. Além disso, a documentação em português é mais fácil de compreender e seguir.
57
66
 
58
- - **Contribuição para a Identidade Cultural:** Linguagens de programação em português contribuem para a preservação da identidade cultural e linguística, promovendo o uso e a adoção do idioma em contextos tecnológicos.
67
+ - **Contribuição para a Identidade Cultural:** Linguagens de programação em português contribuem para a preservação e fortalecimento da identidade cultural e linguística, promovendo o uso e a adoção do idioma em contextos tecnológicos.
59
68
 
60
69
  - **Facilita a Localização de Erros:** Programar em português pode tornar mais fácil a localização e correção de erros de código, uma vez que os desenvolvedores podem compreender rapidamente o contexto dos problemas.
61
70
 
@@ -63,20 +72,23 @@ Delégua tem retrocompatibilidade com a linguagem Égua e compreende sua extens
63
72
  Delégua, a linguagem de programação totalmente em português, possui uma série de características que a tornam única e atraente:
64
73
 
65
74
  ### Acessibilidade
75
+
66
76
  - **Simples e Completa:** Delégua é projetada para ser acessível a programadores de todos os níveis, desde iniciantes até experientes. Sua simplicidade e completude facilitam a aprendizagem.
67
77
 
68
- - **Totalmente em Português:** Uma característica distintiva é que Delégua é desenvolvida inteiramente em português(mesmo), tornando-a acessível e amigável para aqueles que preferem programar em seu idioma nativo.
78
+ - **Totalmente em Português:** Uma característica distintiva é que Delégua é desenvolvida inteiramente em português (mesmo), tornando-a acessível e amigável para aqueles que querem aprender como uma linguagem de programação funciona internamente.
69
79
 
70
80
  ### Tecnologia Moderna
71
- - **Código aberto (_open source_):** Delégua é uma linguagem de código aberto e gratuita, licenciada sob a MIT License, permitindo o uso sem restrições.
81
+
82
+ - **Código aberto (_open source_):** Delégua é uma linguagem de código aberto e gratuita, que é e sempre será licenciada sob a MIT License, permitindo o uso sem restrições em quaisquer outras aplicações.
72
83
 
73
84
  - **Modularidade:** A linguagem suporta a criação de módulos reutilizáveis, promovendo a organização e a manutenção do código.
74
85
 
75
86
  - **Orientada a Objetos:** Delégua oferece recursos completos de programação orientada a objetos, incluindo classes, objetos e herança.
76
87
 
77
- - **Multidialetos.** Execute algoritmos em [Portugol VisuAlg](https://pt.wikipedia.org/wiki/Visualg), [Portugol Studio](http://lite.acad.univali.br/portugol/), [Portugol Mapler](https://portugol.sourceforge.io/) e [Portugol IPT](http://orion.ipt.pt/~manso/Portugol/menuEsquerda.html).
88
+ - **Multidialetos.** Delégua implementa dialetos de outras linguagens de programação em português populares em instâncias de ensino técnico e superior, como [Portugol VisuAlg](https://pt.wikipedia.org/wiki/Visualg), [Portugol Studio](http://lite.acad.univali.br/portugol/), [Portugol Mapler](https://portugol.sourceforge.io/) e [Portugol IPT](http://orion.ipt.pt/~manso/Portugol/menuEsquerda.html). Esses dialetos podem estar implementados neste repositório, ou em outros repositórios da Design Líquido, e também são em código aberto.
78
89
 
79
90
  ### Flexibilidade e Potencial
91
+
80
92
  - **Depurável.** Usando um editor com suporte à depuração como o [Visual Studio Code](https://code.visualstudio.com), você pode inspecionar o seu programa, suas variáveis e executar linha por linha.
81
93
 
82
94
  - **Portabilidade:** Delégua é executável em qualquer dispositivo que interprete JavaScript, tornando-a versátil e compatível com diversos sistemas operacionais e qualquer navegador de internet.
@@ -97,7 +109,7 @@ Delégua executa em qualquer dispositivo que interprete JavaScript, ou seja, com
97
109
  - [Dentro do Visual Studio Code, instale a extensão da Design Líquido](https://marketplace.visualstudio.com/items?itemName=designliquido.designliquido-vscode). [Aprenda como executar e depurar seu programa aqui](https://www.youtube.com/watch?v=TQxLekzvBv8);
98
110
  - [Utilize nosso editor online](https://designliquido.github.io/delegua-web/).
99
111
 
100
- Para instalar no seu computador, veja o projeto [@designliquido/delegua-node](https://github.com/DesignLiquido/delegua-node).
112
+ Para instalar no seu computador ou na sua aplicação, veja o projeto [@designliquido/delegua-node](https://github.com/DesignLiquido/delegua-node).
101
113
 
102
114
  ## Documentação
103
115
 
@@ -1,4 +1,4 @@
1
- import { Chamada, Comentario, Construto, Decorador, Dicionario, FuncaoConstruto } from '../construtos';
1
+ import { AcessoMetodoOuPropriedade, Chamada, Comentario, Construto, Decorador, Dicionario, FuncaoConstruto } from '../construtos';
2
2
  import { AvaliadorSintaticoInterface, ParametroInterface, SimboloInterface } from '../interfaces';
3
3
  import { ErroAvaliadorSintatico } from './erro-avaliador-sintatico';
4
4
  import { Tupla } from '../construtos/tuplas';
@@ -36,6 +36,7 @@ export declare class AvaliadorSintatico extends AvaliadorSintaticoBase implement
36
36
  atual: number;
37
37
  blocos: number;
38
38
  performance: boolean;
39
+ superclasseAtual: string | undefined;
39
40
  constructor(performance?: boolean);
40
41
  protected verificarDefinicaoTipoAtual(): string;
41
42
  protected obterChaveDicionario(): Construto;
@@ -43,6 +44,14 @@ export declare class AvaliadorSintatico extends AvaliadorSintaticoBase implement
43
44
  protected construtoTupla(): Tupla;
44
45
  primario(): Construto;
45
46
  chamar(): Construto;
47
+ /**
48
+ * `AcessoMetodoOuPropriedade` é um construto intermediário em Delégua, e deve ser resolvido como outro
49
+ * construto antes de qualquer outra próxima etapa. Algumas validações adicionais também ocorrem aqui.
50
+ * @param {AcessoMetodoOuPropriedade} entidadeChamadaResolvida O construto original.
51
+ * @returns {Construto} O construto resolvido como um tipo mais específico.
52
+ * @see finalizarChamada
53
+ */
54
+ protected resolverEntidadeChamadaAcessoMetodoOuPropriedade(entidadeChamadaResolvida: AcessoMetodoOuPropriedade): Construto;
46
55
  finalizarChamada(entidadeChamada: Construto): Chamada;
47
56
  unario(): Construto;
48
57
  multiplicar(): Construto;
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ const construtos_1 = require("../construtos");
9
9
  const erro_avaliador_sintatico_1 = require("./erro-avaliador-sintatico");
10
10
  const tuplas_1 = require("../construtos/tuplas");
11
11
  const declaracoes_1 = require("../declaracoes");
12
- const lexador_1 = require("../lexador");
13
12
  const avaliador_sintatico_base_1 = require("./avaliador-sintatico-base");
14
13
  const inferenciador_1 = require("../inferenciador");
15
14
  const pilha_escopos_1 = require("./pilha-escopos");
@@ -196,18 +195,36 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
196
195
  return new construtos_1.Agrupamento(this.hashArquivo, Number(simboloAtual.linha), expressao);
197
196
  case delegua_2.default.SUPER:
198
197
  const simboloSuper = this.avancarEDevolverAnterior();
199
- // Se o próximo símbolo for uma abertura de parênteses, significa que
200
- // é uma chamada ao construtor da classe ancestral (superclasse).
201
- // Se o próximo símbolo for um ponto, significa que é uma chamada
202
- // a um método da superclasse.
203
- switch (this.simbolos[this.atual].tipo) {
204
- case delegua_2.default.PARENTESE_ESQUERDO:
205
- return new construtos_1.Super(this.hashArquivo, simboloSuper, new lexador_1.Simbolo(delegua_2.default.IDENTIFICADOR, 'construtor', null, simboloSuper.linha, this.hashArquivo));
206
- default:
207
- this.consumir(delegua_2.default.PONTO, "Esperado '.' após 'super'.");
208
- const metodoSuperclasse = this.consumir(delegua_2.default.IDENTIFICADOR, 'Esperado nome do método da Superclasse.');
209
- return new construtos_1.Super(this.hashArquivo, simboloSuper, metodoSuperclasse);
198
+ if (!this.superclasseAtual) {
199
+ throw this.erro(this.simbolos[this.atual], "'Super' usado fora de declaração de classe com herança.");
210
200
  }
201
+ return new construtos_1.Super(this.hashArquivo, simboloSuper, this.superclasseAtual);
202
+ /* Se o próximo símbolo for uma abertura de parênteses, significa que
203
+ // é uma chamada ao construtor da classe ancestral (superclasse).
204
+ // Se o próximo símbolo for um ponto, significa que é uma chamada
205
+ // a um método da superclasse.
206
+ switch (this.simbolos[this.atual].tipo) {
207
+ case tiposDeSimbolos.PARENTESE_ESQUERDO:
208
+ return new Super(
209
+ this.hashArquivo,
210
+ simboloSuper,
211
+ new Simbolo(
212
+ tiposDeSimbolos.IDENTIFICADOR,
213
+ 'construtor',
214
+ null,
215
+ simboloSuper.linha,
216
+ this.hashArquivo
217
+ )
218
+ );
219
+ default:
220
+ this.consumir(tiposDeSimbolos.PONTO, "Esperado '.' após 'super'.");
221
+ const metodoSuperclasse = this.consumir(
222
+ tiposDeSimbolos.IDENTIFICADOR,
223
+ 'Esperado nome do método da Superclasse.'
224
+ );
225
+ // TODO: Validar se o método existe no ancestral.
226
+ return new Super(this.hashArquivo, simboloSuper, metodoSuperclasse);
227
+ } */
211
228
  case delegua_2.default.VERDADEIRO:
212
229
  this.avancarEDevolverAnterior();
213
230
  return new construtos_1.Literal(this.hashArquivo, Number(simboloAtual.linha), true, 'lógico');
@@ -315,6 +332,49 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
315
332
  }
316
333
  return expressao;
317
334
  }
335
+ /**
336
+ * `AcessoMetodoOuPropriedade` é um construto intermediário em Delégua, e deve ser resolvido como outro
337
+ * construto antes de qualquer outra próxima etapa. Algumas validações adicionais também ocorrem aqui.
338
+ * @param {AcessoMetodoOuPropriedade} entidadeChamadaResolvida O construto original.
339
+ * @returns {Construto} O construto resolvido como um tipo mais específico.
340
+ * @see finalizarChamada
341
+ */
342
+ resolverEntidadeChamadaAcessoMetodoOuPropriedade(entidadeChamadaResolvida) {
343
+ const construtoTipado = entidadeChamadaResolvida;
344
+ switch (entidadeChamadaResolvida.tipo) {
345
+ case delegua_1.default.DICIONARIO:
346
+ case delegua_1.default.DICIONÁRIO:
347
+ if (!(construtoTipado.simbolo.lexema in primitivas_dicionario_1.default)) {
348
+ throw this.erro(construtoTipado.simbolo, `${construtoTipado.simbolo.lexema} não é uma primitiva de dicionário.`);
349
+ }
350
+ const primitivaDicionarioSelecionada = primitivas_dicionario_1.default[construtoTipado.simbolo.lexema];
351
+ return new construtos_1.AcessoMetodo(construtoTipado.hashArquivo, construtoTipado.objeto, construtoTipado.simbolo.lexema, primitivaDicionarioSelecionada.tipoRetorno);
352
+ case delegua_1.default.INTEIRO:
353
+ case delegua_1.default.NUMERO:
354
+ case delegua_1.default.NÚMERO:
355
+ if (!(construtoTipado.simbolo.lexema in primitivas_numero_1.default)) {
356
+ throw this.erro(construtoTipado.simbolo, `${construtoTipado.simbolo.lexema} não é uma primitiva de número.`);
357
+ }
358
+ const primitivaNumeroSelecionada = primitivas_numero_1.default[construtoTipado.simbolo.lexema];
359
+ return new construtos_1.AcessoMetodo(construtoTipado.hashArquivo, construtoTipado.objeto, construtoTipado.simbolo.lexema, primitivaNumeroSelecionada.tipoRetorno);
360
+ case delegua_1.default.TEXTO:
361
+ if (!(construtoTipado.simbolo.lexema in primitivas_texto_1.default)) {
362
+ throw this.erro(construtoTipado.simbolo, `${construtoTipado.simbolo.lexema} não é uma primitiva de texto.`);
363
+ }
364
+ const primitivaTextoSelecionada = primitivas_texto_1.default[construtoTipado.simbolo.lexema];
365
+ return new construtos_1.AcessoMetodo(construtoTipado.hashArquivo, construtoTipado.objeto, construtoTipado.simbolo.lexema, primitivaTextoSelecionada.tipoRetorno);
366
+ case delegua_1.default.VETOR:
367
+ case delegua_1.default.VETOR_NUMERO:
368
+ case delegua_1.default.VETOR_NÚMERO:
369
+ case delegua_1.default.VETOR_TEXTO:
370
+ if (!(construtoTipado.simbolo.lexema in primitivas_vetor_1.default)) {
371
+ throw this.erro(construtoTipado.simbolo, `${construtoTipado.simbolo.lexema} não é uma primitiva de vetor.`);
372
+ }
373
+ const primitivaVetorSelecionada = primitivas_vetor_1.default[construtoTipado.simbolo.lexema];
374
+ return new construtos_1.AcessoMetodo(construtoTipado.hashArquivo, construtoTipado.objeto, construtoTipado.simbolo.lexema, primitivaVetorSelecionada.tipoRetorno);
375
+ }
376
+ return entidadeChamadaResolvida;
377
+ }
318
378
  finalizarChamada(entidadeChamada) {
319
379
  const argumentos = [];
320
380
  if (!this.verificarTipoSimboloAtual(delegua_2.default.PARENTESE_DIREITO)) {
@@ -330,44 +390,9 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
330
390
  // Toda chamada precisa saber de antemão qual o tipo resolvido.
331
391
  let entidadeChamadaResolvida = entidadeChamada;
332
392
  if (entidadeChamadaResolvida.constructor.name === 'AcessoMetodoOuPropriedade') {
333
- const construtoTipado = entidadeChamadaResolvida;
334
- switch (entidadeChamadaResolvida.tipo) {
335
- case delegua_1.default.DICIONARIO:
336
- case delegua_1.default.DICIONÁRIO:
337
- if (!(construtoTipado.simbolo.lexema in primitivas_dicionario_1.default)) {
338
- throw this.erro(construtoTipado.simbolo, `${construtoTipado.simbolo.lexema} não é uma primitiva de dicionário.`);
339
- }
340
- const primitivaDicionarioSelecionada = primitivas_dicionario_1.default[construtoTipado.simbolo.lexema];
341
- entidadeChamadaResolvida = new construtos_1.AcessoMetodo(construtoTipado.hashArquivo, construtoTipado.objeto, construtoTipado.simbolo.lexema, primitivaDicionarioSelecionada.tipoRetorno);
342
- break;
343
- case delegua_1.default.INTEIRO:
344
- case delegua_1.default.NUMERO:
345
- case delegua_1.default.NÚMERO:
346
- if (!(construtoTipado.simbolo.lexema in primitivas_numero_1.default)) {
347
- throw this.erro(construtoTipado.simbolo, `${construtoTipado.simbolo.lexema} não é uma primitiva de número.`);
348
- }
349
- const primitivaNumeroSelecionada = primitivas_numero_1.default[construtoTipado.simbolo.lexema];
350
- entidadeChamadaResolvida = new construtos_1.AcessoMetodo(construtoTipado.hashArquivo, construtoTipado.objeto, construtoTipado.simbolo.lexema, primitivaNumeroSelecionada.tipoRetorno);
351
- break;
352
- case delegua_1.default.TEXTO:
353
- if (!(construtoTipado.simbolo.lexema in primitivas_texto_1.default)) {
354
- throw this.erro(construtoTipado.simbolo, `${construtoTipado.simbolo.lexema} não é uma primitiva de texto.`);
355
- }
356
- const primitivaTextoSelecionada = primitivas_texto_1.default[construtoTipado.simbolo.lexema];
357
- entidadeChamadaResolvida = new construtos_1.AcessoMetodo(construtoTipado.hashArquivo, construtoTipado.objeto, construtoTipado.simbolo.lexema, primitivaTextoSelecionada.tipoRetorno);
358
- break;
359
- case delegua_1.default.VETOR:
360
- case delegua_1.default.VETOR_NUMERO:
361
- case delegua_1.default.VETOR_NÚMERO:
362
- case delegua_1.default.VETOR_TEXTO:
363
- if (!(construtoTipado.simbolo.lexema in primitivas_vetor_1.default)) {
364
- throw this.erro(construtoTipado.simbolo, `${construtoTipado.simbolo.lexema} não é uma primitiva de vetor.`);
365
- }
366
- const primitivaVetorSelecionada = primitivas_vetor_1.default[construtoTipado.simbolo.lexema];
367
- entidadeChamadaResolvida = new construtos_1.AcessoMetodo(construtoTipado.hashArquivo, construtoTipado.objeto, construtoTipado.simbolo.lexema, primitivaVetorSelecionada.tipoRetorno);
368
- break;
369
- }
393
+ entidadeChamadaResolvida = this.resolverEntidadeChamadaAcessoMetodoOuPropriedade(entidadeChamadaResolvida);
370
394
  }
395
+ // TODO: Criar forma de validar tipos dos argumentos da entidade chamada.
371
396
  return new construtos_1.Chamada(this.hashArquivo, entidadeChamadaResolvida, argumentos);
372
397
  }
373
398
  unario() {
@@ -493,14 +518,22 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
493
518
  else if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.IGUAL)) {
494
519
  const igual = this.simbolos[this.atual - 1];
495
520
  const valor = this.expressao();
496
- if (expressao instanceof construtos_1.Variavel) {
497
- return new construtos_1.Atribuir(this.hashArquivo, expressao, valor);
498
- }
499
- if (expressao instanceof construtos_1.AcessoMetodoOuPropriedade) {
500
- return new construtos_1.DefinirValor(this.hashArquivo, igual.linha, expressao.objeto, expressao.simbolo, valor);
501
- }
502
- if (expressao instanceof construtos_1.AcessoIndiceVariavel) {
503
- return new construtos_1.AtribuicaoPorIndice(this.hashArquivo, expressao.linha, expressao.entidadeChamada, expressao.indice, valor);
521
+ switch (expressao.constructor.name) {
522
+ case 'Variavel':
523
+ return new construtos_1.Atribuir(this.hashArquivo, expressao, valor);
524
+ case 'AcessoMetodoOuPropriedade':
525
+ const expressaoAcessoMetodoOuPropriedade = expressao;
526
+ return new construtos_1.DefinirValor(this.hashArquivo, igual.linha, expressaoAcessoMetodoOuPropriedade.objeto, expressaoAcessoMetodoOuPropriedade.simbolo, valor);
527
+ /* case 'Super':
528
+ const expressaoSuper = expressao as Super;
529
+ return new DefinirValor(
530
+ this.hashArquivo,
531
+ igual.linha,
532
+ expressaoSuper.
533
+ ); */
534
+ case 'AcessoIndiceVariavel':
535
+ const expressaoAcessoIndiceVariavel = expressao;
536
+ return new construtos_1.AtribuicaoPorIndice(this.hashArquivo, expressaoAcessoIndiceVariavel.linha, expressaoAcessoIndiceVariavel.entidadeChamada, expressaoAcessoIndiceVariavel.indice, valor);
504
537
  }
505
538
  throw this.erro(igual, 'Tarefa de atribuição inválida');
506
539
  }
@@ -1246,6 +1279,8 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1246
1279
  let superClasse = null;
1247
1280
  if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.HERDA)) {
1248
1281
  const simboloSuperclasse = this.consumir(delegua_2.default.IDENTIFICADOR, 'Esperado nome da Superclasse.');
1282
+ // TODO: Validar classes existentes?
1283
+ this.superclasseAtual = simboloSuperclasse.lexema;
1249
1284
  // TODO: Colocar tipo aqui?
1250
1285
  superClasse = new construtos_1.Variavel(this.hashArquivo, this.simbolos[this.atual - 1], simboloSuperclasse.lexema);
1251
1286
  }
@@ -1282,6 +1317,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1282
1317
  this.consumir(delegua_2.default.CHAVE_DIREITA, "Esperado '}' após o escopo da classe.");
1283
1318
  const definicaoClasse = new declaracoes_1.Classe(simbolo, superClasse, metodos, propriedades, pilhaDecoradoresClasse);
1284
1319
  this.tiposDefinidosEmCodigo[definicaoClasse.simbolo.lexema] = definicaoClasse;
1320
+ this.superclasseAtual = undefined;
1285
1321
  return definicaoClasse;
1286
1322
  }
1287
1323
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare class AvaliadorSintaticoEguaClassico implements AvaliadorSintatic
17
17
  hashArquivo: number;
18
18
  atual: number;
19
19
  blocos: number;
20
+ superclasseAtual: string | undefined;
20
21
  constructor(simbolos?: SimboloInterface[]);
21
22
  declaracaoDeConstantes(): Const[];
22
23
  declaracaoDeVariaveis(): Var[];
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-egua-classico.d.ts","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico-egua-classico.d.ts","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.ts"],"names":[],"mappings":"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"}