@designliquido/delegua 1.16.0 → 1.16.2

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 (170) hide show
  1. package/analisador-documentario/index.js +2 -4
  2. package/analisador-documentario/index.js.map +1 -1
  3. package/analisador-semantico/analisador-semantico-base.js +8 -13
  4. package/analisador-semantico/analisador-semantico-base.js.map +1 -1
  5. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  6. package/analisador-semantico/analisador-semantico.js +18 -22
  7. package/analisador-semantico/analisador-semantico.js.map +1 -1
  8. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +13 -20
  9. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
  10. package/avaliador-sintatico/avaliador-sintatico.d.ts +1 -0
  11. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  12. package/avaliador-sintatico/avaliador-sintatico.js +45 -8
  13. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  14. package/avaliador-sintatico/comum.js +3 -4
  15. package/avaliador-sintatico/comum.js.map +1 -1
  16. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.js +1 -1
  17. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.js.map +1 -1
  18. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +1 -1
  19. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
  20. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +1 -1
  21. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +1 -1
  22. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +5 -0
  23. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  24. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +4 -5
  25. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  26. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js +1 -1
  27. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +1 -1
  28. package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js +2 -3
  29. package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js.map +1 -1
  30. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +2 -3
  31. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
  32. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js +1 -1
  33. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js.map +1 -1
  34. package/avaliador-sintatico/micro-avaliador-sintatico.js +1 -1
  35. package/avaliador-sintatico/micro-avaliador-sintatico.js.map +1 -1
  36. package/bibliotecas/biblioteca-global.js +9 -11
  37. package/bibliotecas/biblioteca-global.js.map +1 -1
  38. package/bibliotecas/dialetos/tenda/biblioteca-global.js +3 -3
  39. package/bibliotecas/dialetos/tenda/biblioteca-global.js.map +1 -1
  40. package/bin/package.json +1 -1
  41. package/construtos/atribuir.js +2 -2
  42. package/construtos/atribuir.js.map +1 -1
  43. package/declaracoes/classe.js +3 -4
  44. package/declaracoes/classe.js.map +1 -1
  45. package/declaracoes/const.js +1 -1
  46. package/declaracoes/const.js.map +1 -1
  47. package/declaracoes/var.js +1 -1
  48. package/declaracoes/var.js.map +1 -1
  49. package/estilizador/estilizador-delegua.d.ts.map +1 -1
  50. package/estilizador/estilizador-delegua.js +11 -4
  51. package/estilizador/estilizador-delegua.js.map +1 -1
  52. package/estilizador/index.d.ts +1 -0
  53. package/estilizador/index.d.ts.map +1 -1
  54. package/estilizador/index.js +1 -0
  55. package/estilizador/index.js.map +1 -1
  56. package/estilizador/quebrador-linha.d.ts +18 -0
  57. package/estilizador/quebrador-linha.d.ts.map +1 -0
  58. package/estilizador/quebrador-linha.js +184 -0
  59. package/estilizador/quebrador-linha.js.map +1 -0
  60. package/estilizador/regras/index.d.ts +3 -3
  61. package/estilizador/regras/index.d.ts.map +1 -1
  62. package/estilizador/regras/index.js +3 -3
  63. package/estilizador/regras/index.js.map +1 -1
  64. package/estilizador/regras/{convencao-nomenclatura.d.ts → regra-convencao-nomenclatura.d.ts} +3 -28
  65. package/estilizador/regras/regra-convencao-nomenclatura.d.ts.map +1 -0
  66. package/estilizador/regras/{convencao-nomenclatura.js → regra-convencao-nomenclatura.js} +1 -1
  67. package/estilizador/regras/regra-convencao-nomenclatura.js.map +1 -0
  68. package/estilizador/regras/{fortalecer-tipos.d.ts → regra-fortalecer-tipos.d.ts} +1 -1
  69. package/estilizador/regras/regra-fortalecer-tipos.d.ts.map +1 -0
  70. package/estilizador/regras/{fortalecer-tipos.js → regra-fortalecer-tipos.js} +1 -1
  71. package/estilizador/regras/regra-fortalecer-tipos.js.map +1 -0
  72. package/estilizador/regras/{paradigma-consistente.d.ts → regra-paradigma-consistente.d.ts} +1 -1
  73. package/estilizador/regras/regra-paradigma-consistente.d.ts.map +1 -0
  74. package/estilizador/regras/{paradigma-consistente.js → regra-paradigma-consistente.js} +1 -1
  75. package/estilizador/regras/regra-paradigma-consistente.js.map +1 -0
  76. package/formatadores/formatador-pitugues.js +1 -2
  77. package/formatadores/formatador-pitugues.js.map +1 -1
  78. package/interfaces/estilizador/estilizador-interface.d.ts +1 -6
  79. package/interfaces/estilizador/estilizador-interface.d.ts.map +1 -1
  80. package/interfaces/estilizador/index.d.ts +2 -0
  81. package/interfaces/estilizador/index.d.ts.map +1 -1
  82. package/interfaces/estilizador/index.js +2 -0
  83. package/interfaces/estilizador/index.js.map +1 -1
  84. package/interfaces/estilizador/opcoes-convencao-nomenclatura-interface.d.ts +26 -0
  85. package/interfaces/estilizador/opcoes-convencao-nomenclatura-interface.d.ts.map +1 -0
  86. package/interfaces/estilizador/opcoes-convencao-nomenclatura-interface.js +3 -0
  87. package/interfaces/estilizador/opcoes-convencao-nomenclatura-interface.js.map +1 -0
  88. package/interfaces/estilizador/opcoes-formatacao-estilizador-interface.d.ts +8 -0
  89. package/interfaces/estilizador/opcoes-formatacao-estilizador-interface.d.ts.map +1 -0
  90. package/interfaces/estilizador/opcoes-formatacao-estilizador-interface.js +3 -0
  91. package/interfaces/estilizador/opcoes-formatacao-estilizador-interface.js.map +1 -0
  92. package/interpretador/comum.d.ts.map +1 -1
  93. package/interpretador/comum.js +117 -11
  94. package/interpretador/comum.js.map +1 -1
  95. package/interpretador/depuracao/comum.js +9 -5
  96. package/interpretador/depuracao/comum.js.map +1 -1
  97. package/interpretador/depuracao/interpretador-base-com-depuracao.js +1 -1
  98. package/interpretador/depuracao/interpretador-base-com-depuracao.js.map +1 -1
  99. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +1 -1
  100. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  101. package/interpretador/dialetos/pitugues/comum.js +1 -2
  102. package/interpretador/dialetos/pitugues/comum.js.map +1 -1
  103. package/interpretador/dialetos/pitugues/interpretador-pitugues.js +1 -2
  104. package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
  105. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +2 -2
  106. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  107. package/interpretador/estruturas/delegua-funcao-nativa.js +1 -2
  108. package/interpretador/estruturas/delegua-funcao-nativa.js.map +1 -1
  109. package/interpretador/estruturas/delegua-funcao.d.ts +3 -0
  110. package/interpretador/estruturas/delegua-funcao.d.ts.map +1 -1
  111. package/interpretador/estruturas/delegua-funcao.js +12 -4
  112. package/interpretador/estruturas/delegua-funcao.js.map +1 -1
  113. package/interpretador/estruturas/descritor-tipo-classe.js +11 -18
  114. package/interpretador/estruturas/descritor-tipo-classe.js.map +1 -1
  115. package/interpretador/estruturas/index.d.ts +1 -0
  116. package/interpretador/estruturas/index.d.ts.map +1 -1
  117. package/interpretador/estruturas/index.js +1 -0
  118. package/interpretador/estruturas/index.js.map +1 -1
  119. package/interpretador/estruturas/metodo-polimorfico.js +5 -10
  120. package/interpretador/estruturas/metodo-polimorfico.js.map +1 -1
  121. package/interpretador/estruturas/objeto-base.js +4 -6
  122. package/interpretador/estruturas/objeto-base.js.map +1 -1
  123. package/interpretador/estruturas/objeto-delegua-classe.js +8 -10
  124. package/interpretador/estruturas/objeto-delegua-classe.js.map +1 -1
  125. package/interpretador/estruturas/super-proxy.d.ts +24 -0
  126. package/interpretador/estruturas/super-proxy.d.ts.map +1 -0
  127. package/interpretador/estruturas/super-proxy.js +38 -0
  128. package/interpretador/estruturas/super-proxy.js.map +1 -0
  129. package/interpretador/interpretador-base.d.ts +1 -0
  130. package/interpretador/interpretador-base.d.ts.map +1 -1
  131. package/interpretador/interpretador-base.js +12 -14
  132. package/interpretador/interpretador-base.js.map +1 -1
  133. package/interpretador/interpretador.d.ts +17 -5
  134. package/interpretador/interpretador.d.ts.map +1 -1
  135. package/interpretador/interpretador.js +130 -32
  136. package/interpretador/interpretador.js.map +1 -1
  137. package/lexador/filtro-paradigma.js +1 -1
  138. package/lexador/filtro-paradigma.js.map +1 -1
  139. package/lexador/mapeamento-paradigmas.js +2 -3
  140. package/lexador/mapeamento-paradigmas.js.map +1 -1
  141. package/package.json +1 -1
  142. package/tradutores/tradutor-assembly-arm.js +12 -24
  143. package/tradutores/tradutor-assembly-arm.js.map +1 -1
  144. package/tradutores/tradutor-assembly-risc-v.js +10 -20
  145. package/tradutores/tradutor-assembly-risc-v.js.map +1 -1
  146. package/tradutores/tradutor-assembly-x64.js +12 -24
  147. package/tradutores/tradutor-assembly-x64.js.map +1 -1
  148. package/tradutores/tradutor-assemblyscript.js +12 -13
  149. package/tradutores/tradutor-assemblyscript.js.map +1 -1
  150. package/tradutores/tradutor-javascript.js +10 -13
  151. package/tradutores/tradutor-javascript.js.map +1 -1
  152. package/tradutores/tradutor-mermaidjs.js +1 -2
  153. package/tradutores/tradutor-mermaidjs.js.map +1 -1
  154. package/tradutores/tradutor-python.js +4 -5
  155. package/tradutores/tradutor-python.js.map +1 -1
  156. package/tradutores/tradutor-reverso-javascript.js +1 -1
  157. package/tradutores/tradutor-reverso-javascript.js.map +1 -1
  158. package/tradutores/tradutor-reverso-tenda.js +7 -10
  159. package/tradutores/tradutor-reverso-tenda.js.map +1 -1
  160. package/tradutores/tradutor-ruby.js +4 -5
  161. package/tradutores/tradutor-ruby.js.map +1 -1
  162. package/tradutores/tradutor-webassembly.js +20 -35
  163. package/tradutores/tradutor-webassembly.js.map +1 -1
  164. package/umd/delegua.js +1119 -733
  165. package/estilizador/regras/convencao-nomenclatura.d.ts.map +0 -1
  166. package/estilizador/regras/convencao-nomenclatura.js.map +0 -1
  167. package/estilizador/regras/fortalecer-tipos.d.ts.map +0 -1
  168. package/estilizador/regras/fortalecer-tipos.js.map +0 -1
  169. package/estilizador/regras/paradigma-consistente.d.ts.map +0 -1
  170. package/estilizador/regras/paradigma-consistente.js.map +0 -1
@@ -26,8 +26,9 @@ const delegua_2 = __importDefault(require("../tipos-de-simbolos/delegua"));
26
26
  * @see InterpretadorPitugues
27
27
  */
28
28
  class Interpretador extends interpretador_base_1.InterpretadorBase {
29
- constructor(diretorioBase, performance = false, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
29
+ constructor(diretorioBase, performance = false, funcaoDeRetorno = undefined, funcaoDeRetornoMesmaLinha = undefined) {
30
30
  super(diretorioBase, performance, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
31
+ this.acumularRetornos = false;
31
32
  this.montao = new montao_1.Montao();
32
33
  this.pontoInicializacaoBibliotecasGlobais();
33
34
  }
@@ -57,7 +58,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
57
58
  const valor = this.resolverValor(resultadoAvaliacao);
58
59
  formatoTexto += `${this.paraTexto(valor)} `;
59
60
  }
60
- return formatoTexto.trimEnd();
61
+ return formatoTexto.replace(/\s+$/, '');
61
62
  }
62
63
  resolverReferenciaMontao(referenciaMontao) {
63
64
  const valorMontao = this.montao.obterReferencia(this.hashArquivoDeclaracaoAtual, this.linhaDeclaracaoAtual, referenciaMontao.endereco);
@@ -121,8 +122,13 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
121
122
  }
122
123
  if (objeto instanceof Date) {
123
124
  const formato = Intl.DateTimeFormat('pt', {
124
- dateStyle: 'full',
125
- timeStyle: 'full',
125
+ weekday: 'long',
126
+ year: 'numeric',
127
+ month: 'long',
128
+ day: 'numeric',
129
+ hour: '2-digit',
130
+ minute: '2-digit',
131
+ second: '2-digit',
126
132
  });
127
133
  return formato.format(objeto);
128
134
  }
@@ -166,7 +172,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
166
172
  valor = valor ? 'verdadeiro' : 'falso';
167
173
  }
168
174
  if (valor instanceof estruturas_1.ReferenciaMontao ||
169
- ((valor === null || valor === void 0 ? void 0 : valor.hasOwnProperty) && (valor === null || valor === void 0 ? void 0 : valor.hasOwnProperty('tipo')))) {
175
+ (valor?.hasOwnProperty && valor?.hasOwnProperty('tipo'))) {
170
176
  valor = this.resolverValor(valor);
171
177
  }
172
178
  objetoEscrita[propriedade] = valor;
@@ -209,10 +215,24 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
209
215
  return Promise.resolve();
210
216
  }
211
217
  async visitarDeclaracaoAjuda(declaracao) {
218
+ if (declaracao.funcao && declaracao.elemento) {
219
+ try {
220
+ const resultado = await this.avaliar(declaracao.elemento);
221
+ const valorAvaliado = this.resolverValor(resultado);
222
+ if (typeof valorAvaliado === 'string' ||
223
+ valorAvaliado instanceof estruturas_1.DeleguaFuncao ||
224
+ valorAvaliado instanceof estruturas_1.ObjetoDeleguaClasse ||
225
+ valorAvaliado instanceof estruturas_1.DescritorTipoClasse) {
226
+ return Promise.resolve((0, comum_1.pontoEntradaAjuda)(declaracao.funcao, valorAvaliado));
227
+ }
228
+ }
229
+ catch {
230
+ // Se a avaliação falhar, usa o comportamento padrão
231
+ }
232
+ }
212
233
  return Promise.resolve((0, comum_1.pontoEntradaAjuda)(declaracao.funcao, declaracao.elemento));
213
234
  }
214
235
  async visitarDeclaracaoDefinicaoFuncao(declaracao) {
215
- var _a, _b;
216
236
  let funcao = new estruturas_1.DeleguaFuncao(declaracao.simbolo.lexema, declaracao.funcao);
217
237
  funcao.documentacao = declaracao.documentacao;
218
238
  if (declaracao.decoradores && declaracao.decoradores.length > 0) {
@@ -221,7 +241,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
221
241
  const variavelDecoradora = this.pilhaEscoposExecucao.obterVariavelPorNome(nomeDecorador);
222
242
  const funcaoDecoradora = variavelDecoradora.valor;
223
243
  const resultado = await funcaoDecoradora.chamar(this, [
224
- { nome: null, valor: funcao },
244
+ { nome: '', valor: funcao },
225
245
  ]);
226
246
  funcao = this.resolverValorRecursivo(resultado);
227
247
  }
@@ -230,18 +250,21 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
230
250
  this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, funcao);
231
251
  this.pilhaEscoposExecucao.registrarReferenciaFuncao(declaracao.id, funcao);
232
252
  return Promise.resolve({
233
- tipo: `função<${((_a = funcao.declaracao) === null || _a === void 0 ? void 0 : _a.tipo) || 'qualquer'}>`,
234
- tipoExplicito: (_b = funcao.declaracao) === null || _b === void 0 ? void 0 : _b.tipoExplicito,
253
+ tipo: `função<${funcao.declaracao?.tipo || 'qualquer'}>`,
254
+ tipoExplicito: funcao.declaracao?.tipoExplicito,
235
255
  declaracao: funcao,
236
256
  });
237
257
  }
238
258
  async logicaComumExecucaoEnquanto(enquanto, acumularRetornos) {
239
- let retornoExecucao;
259
+ let retornoExecucao = undefined;
240
260
  const retornos = [];
241
261
  while ((acumularRetornos ||
242
262
  !(retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.Quebra)) &&
243
263
  this.eVerdadeiro(await this.avaliar(enquanto.condicao))) {
244
264
  try {
265
+ if (this.funcaoVerificarIteracao) {
266
+ await this.funcaoVerificarIteracao();
267
+ }
245
268
  retornoExecucao = await this.executar(enquanto.corpo);
246
269
  if (retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.SustarQuebra) {
247
270
  if (acumularRetornos) {
@@ -253,7 +276,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
253
276
  return null;
254
277
  }
255
278
  if (retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.ContinuarQuebra) {
256
- retornoExecucao = null;
279
+ retornoExecucao = undefined;
257
280
  }
258
281
  if (acumularRetornos) {
259
282
  retornos.push(this.resolverValor(retornoExecucao));
@@ -280,10 +303,13 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
280
303
  return this.logicaComumExecucaoEnquanto(declaracao, false);
281
304
  }
282
305
  async logicaComumExecucaoFazer(fazer, acumularRetornos) {
283
- let retornoExecucao;
306
+ let retornoExecucao = undefined;
284
307
  const retornos = [];
285
308
  do {
286
309
  try {
310
+ if (this.funcaoVerificarIteracao) {
311
+ await this.funcaoVerificarIteracao();
312
+ }
287
313
  retornoExecucao = await this.executar(fazer.caminhoFazer);
288
314
  if (retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.SustarQuebra) {
289
315
  if (acumularRetornos) {
@@ -295,7 +321,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
295
321
  return null;
296
322
  }
297
323
  if (retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.ContinuarQuebra) {
298
- retornoExecucao = null;
324
+ retornoExecucao = undefined;
299
325
  }
300
326
  if (acumularRetornos) {
301
327
  retornos.push(this.resolverValor(retornoExecucao));
@@ -326,16 +352,19 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
326
352
  const declaracaoInicializador = Array.isArray(para.inicializador)
327
353
  ? para.inicializador[0]
328
354
  : para.inicializador;
329
- if (declaracaoInicializador !== null) {
355
+ if (declaracaoInicializador !== null && declaracaoInicializador !== undefined) {
330
356
  await this.avaliar(declaracaoInicializador);
331
357
  }
332
- let retornoExecucao;
358
+ let retornoExecucao = undefined;
333
359
  const retornos = [];
334
360
  while (acumularRetornos ||
335
361
  !(retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.Quebra)) {
336
362
  if (para.condicao !== null && !this.eVerdadeiro(await this.avaliar(para.condicao))) {
337
363
  break;
338
364
  }
365
+ if (this.funcaoVerificarIteracao) {
366
+ await this.funcaoVerificarIteracao();
367
+ }
339
368
  retornoExecucao = await this.executar(para.corpo);
340
369
  if (retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.SustarQuebra) {
341
370
  if (acumularRetornos) {
@@ -344,10 +373,10 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
344
373
  tipo: 'vetor',
345
374
  };
346
375
  }
347
- return null;
376
+ return undefined;
348
377
  }
349
378
  if (retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.ContinuarQuebra) {
350
- retornoExecucao = null;
379
+ retornoExecucao = undefined;
351
380
  }
352
381
  if (acumularRetornos) {
353
382
  retornos.push(this.resolverValor(retornoExecucao));
@@ -368,7 +397,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
368
397
  return this.logicaComumExecucaoPara(declaracao, false);
369
398
  }
370
399
  async logicaComumExecucaoParaCada(paraCada, acumularRetornos) {
371
- let retornoExecucao;
400
+ let retornoExecucao = undefined;
372
401
  // Posição atual precisa ser reiniciada, pois pode estar dentro de outro
373
402
  // laço de repetição.
374
403
  paraCada.posicaoAtual = 0;
@@ -391,6 +420,9 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
391
420
  !(retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.Quebra)) &&
392
421
  paraCada.posicaoAtual < valorVetorOuDicionarioResolvido.length) {
393
422
  try {
423
+ if (this.funcaoVerificarIteracao) {
424
+ await this.funcaoVerificarIteracao();
425
+ }
394
426
  if (paraCada.variavelIteracao instanceof construtos_1.Variavel) {
395
427
  this.pilhaEscoposExecucao.definirVariavel(paraCada.variavelIteracao.simbolo.lexema, valorVetorOuDicionarioResolvido[paraCada.posicaoAtual]);
396
428
  }
@@ -419,7 +451,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
419
451
  return null;
420
452
  }
421
453
  if (retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.ContinuarQuebra) {
422
- retornoExecucao = null;
454
+ retornoExecucao = undefined;
423
455
  }
424
456
  if (acumularRetornos) {
425
457
  retornos.push(this.resolverValor(retornoExecucao));
@@ -526,6 +558,48 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
526
558
  linha: this.linhaDeclaracaoAtual,
527
559
  }, 'Somente listas, dicionários, classes e objetos podem ter seus valores indexados.', expressao.linha));
528
560
  }
561
+ /**
562
+ * Marca a `classeDefinidora` nos métodos próprios do descritor retornado pelo
563
+ * interpretador base. Isso é necessário para que `super()` localize corretamente
564
+ * a posição da classe em execução dentro do OReM (herança cooperativa).
565
+ */
566
+ async visitarDeclaracaoClasse(declaracao) {
567
+ const descritor = await super.visitarDeclaracaoClasse(declaracao);
568
+ for (const funcaoOuSobrecargas of Object.values(descritor.metodos)) {
569
+ const lista = Array.isArray(funcaoOuSobrecargas)
570
+ ? funcaoOuSobrecargas
571
+ : [funcaoOuSobrecargas];
572
+ for (const funcao of lista) {
573
+ funcao.classeDefinidora = descritor;
574
+ }
575
+ }
576
+ return descritor;
577
+ }
578
+ /**
579
+ * Retorna um `SuperProxy` que aponta para a próxima classe no OReM após a classe
580
+ * atualmente em execução. Se não houver `classeExecutora` no escopo (chamada fora
581
+ * de método de instância), usa o primeiro pai direto como fallback.
582
+ */
583
+ visitarExpressaoSuper(_expressao) {
584
+ const variavelIsto = this.pilhaEscoposExecucao.obterVariavelPorNome('isto');
585
+ const instancia = variavelIsto?.valor;
586
+ if (!instancia)
587
+ return null;
588
+ const variavelClasseExecutora = this.pilhaEscoposExecucao.obterVariavelPorNome('classeExecutora');
589
+ const classeExecutora = variavelClasseExecutora?.valor ?? null;
590
+ const orem = instancia.classe.orem;
591
+ if (classeExecutora) {
592
+ const posicao = orem.indexOf(classeExecutora);
593
+ if (posicao >= 0 && posicao + 1 < orem.length) {
594
+ return new estruturas_1.SuperProxy(instancia, orem[posicao + 1]);
595
+ }
596
+ }
597
+ // Fallback: primeiro pai direto.
598
+ if (instancia.classe.superClasses.length > 0) {
599
+ return new estruturas_1.SuperProxy(instancia, instancia.classe.superClasses[0]);
600
+ }
601
+ return null;
602
+ }
529
603
  async visitarExpressaoAcessoMetodo(expressao) {
530
604
  const nomeObjeto = this.resolverNomeObjectoAcessado(expressao.objeto);
531
605
  let variavelObjeto = await this.avaliar(expressao.objeto);
@@ -542,7 +616,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
542
616
  return objeto.obterMetodo(expressao.nomeMetodo);
543
617
  }
544
618
  catch (e) {
545
- const nomeClasse = objeto.classe.simboloOriginal.lexema;
619
+ const nomeClasse = objeto.classe.simboloOriginal?.lexema || 'objeto';
546
620
  const funcaoExt = this.encontrarMetodoExtensao([nomeClasse, 'objeto'], expressao.nomeMetodo, this.hashArquivoDeclaracaoAtual);
547
621
  if (funcaoExt)
548
622
  return funcaoExt.funcaoPorExtensao(objeto);
@@ -668,6 +742,29 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
668
742
  variavelObjeto = retornoQuebra.valor;
669
743
  }
670
744
  const objeto = this.resolverValor(variavelObjeto, true);
745
+ // Acesso a método via `super()`: percorre o OReM a partir de `proximaClasse`,
746
+ // vincula o método encontrado à instância original e registra `classeDefinidora`
747
+ // para que chamadas aninhadas a `super()` avancem corretamente na cadeia.
748
+ if (objeto instanceof estruturas_1.SuperProxy) {
749
+ const proxy = objeto;
750
+ const orem = proxy.instancia.classe.orem;
751
+ const indiceInicio = orem.indexOf(proxy.proximaClasse);
752
+ if (indiceInicio < 0) {
753
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.simbolo, `Classe '${proxy.proximaClasse.simboloOriginal?.lexema}' não encontrada no OReM.`, expressao.linha));
754
+ }
755
+ const nomeMetodo = expressao.simbolo.lexema;
756
+ for (let i = indiceInicio; i < orem.length; i++) {
757
+ const classe = orem[i];
758
+ if (!Object.prototype.hasOwnProperty.call(classe.metodos, nomeMetodo))
759
+ continue;
760
+ const metodoRaw = classe.metodos[nomeMetodo];
761
+ const funcao = Array.isArray(metodoRaw) ? metodoRaw[0] : metodoRaw;
762
+ const funcaoVinculada = funcao.funcaoPorMetodoDeClasse(proxy.instancia);
763
+ funcaoVinculada.classeDefinidora = classe;
764
+ return funcaoVinculada;
765
+ }
766
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.simbolo, `Método '${nomeMetodo}' não encontrado nas superclasses.`, expressao.linha));
767
+ }
671
768
  let descritorTipoClasse = null;
672
769
  if (objeto instanceof estruturas_1.DescritorTipoClasse) {
673
770
  descritorTipoClasse = objeto;
@@ -680,7 +777,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
680
777
  descritorTipoClasse = valorClasse;
681
778
  }
682
779
  }
683
- catch (_a) {
780
+ catch {
684
781
  // Ignora e continua fluxo padrão de resolução abaixo.
685
782
  }
686
783
  }
@@ -691,8 +788,8 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
691
788
  try {
692
789
  return await objeto.obter(expressao.simbolo, this);
693
790
  }
694
- catch (_b) {
695
- const nomeClasse = objeto.classe.simboloOriginal.lexema;
791
+ catch {
792
+ const nomeClasse = objeto.classe.simboloOriginal?.lexema || 'objeto';
696
793
  const funcaoExt = this.encontrarMetodoExtensao([nomeClasse, 'objeto'], expressao.simbolo.lexema, this.hashArquivoDeclaracaoAtual);
697
794
  if (funcaoExt)
698
795
  return funcaoExt.funcaoPorExtensao(objeto);
@@ -800,7 +897,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
800
897
  const funcaoExtObjeto = this.encontrarMetodoExtensao(['objeto'], expressao.simbolo.lexema, this.hashArquivoDeclaracaoAtual);
801
898
  if (funcaoExtObjeto)
802
899
  return funcaoExtObjeto.funcaoPorExtensao(objeto);
803
- return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(null, `Método ou propriedade para objeto ou primitiva não encontrado: ${expressao.simbolo.lexema}.`, expressao.linha));
900
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(undefined, `Método ou propriedade para objeto ou primitiva não encontrado: ${expressao.simbolo.lexema}.`, expressao.linha));
804
901
  }
805
902
  async visitarExpressaoAcessoPropriedade(expressao) {
806
903
  const nomeObjeto = this.resolverNomeObjectoAcessado(expressao.objeto);
@@ -852,20 +949,21 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
852
949
  if (tipoObjeto === null || tipoObjeto === undefined) {
853
950
  tipoObjeto = (0, inferenciador_1.inferirTipoVariavel)(objeto);
854
951
  }
855
- return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(null, `Propriedade para objeto ou primitiva não encontrado: ${expressao.nomePropriedade}.`, expressao.linha));
952
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(undefined, `Propriedade para objeto ou primitiva não encontrado: ${expressao.nomePropriedade}.`, expressao.linha));
856
953
  }
857
954
  async visitarExpressaoAjuda(expressao) {
858
955
  if (expressao.funcao && expressao.valor && !(expressao.valor instanceof construtos_1.Leia)) {
859
956
  try {
860
957
  const resultado = await this.avaliar(expressao.valor);
861
958
  const valorAvaliado = this.resolverValor(resultado);
862
- if (valorAvaliado instanceof estruturas_1.DeleguaFuncao ||
959
+ if (typeof valorAvaliado === 'string' ||
960
+ valorAvaliado instanceof estruturas_1.DeleguaFuncao ||
863
961
  valorAvaliado instanceof estruturas_1.ObjetoDeleguaClasse ||
864
962
  valorAvaliado instanceof estruturas_1.DescritorTipoClasse) {
865
963
  return (0, comum_1.pontoEntradaAjuda)(expressao.funcao, valorAvaliado);
866
964
  }
867
965
  }
868
- catch (_a) {
966
+ catch {
869
967
  // Se a avaliação falhar, usa o comportamento padrão
870
968
  }
871
969
  }
@@ -968,7 +1066,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
968
1066
  }
969
1067
  break;
970
1068
  default:
971
- throw new excecoes_1.ErroEmTempoDeExecucao(null, `Atribuição com caso faltante: ${JSON.stringify(expressao)}.`);
1069
+ throw new excecoes_1.ErroEmTempoDeExecucao(undefined, `Atribuição com caso faltante: ${JSON.stringify(expressao)}.`);
972
1070
  }
973
1071
  return valorResolvido;
974
1072
  }
@@ -987,7 +1085,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
987
1085
  descritorTipoClasse = valorClasse;
988
1086
  }
989
1087
  }
990
- catch (_a) {
1088
+ catch {
991
1089
  // Ignora e continua fluxo padrão de definição abaixo.
992
1090
  }
993
1091
  }
@@ -1121,7 +1219,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
1121
1219
  return valorTipoDe.tipo || (0, inferenciador_1.inferirTipoVariavel)(valorTipoDe);
1122
1220
  case construtos_1.AcessoMetodo:
1123
1221
  const acessoMetodo = valorTipoDe;
1124
- const tipoRetornoMetodoResolvido = acessoMetodo.tipoRetornoMetodo.replace('<T>', acessoMetodo.objeto.tipo);
1222
+ const tipoRetornoMetodoResolvido = acessoMetodo.tipoRetornoMetodo.replace('<T>', acessoMetodo.objeto.tipo || 'qualquer');
1125
1223
  return `método<${tipoRetornoMetodoResolvido}>`;
1126
1224
  case construtos_1.AcessoPropriedade:
1127
1225
  const acessoPropriedade = valorTipoDe;
@@ -1141,7 +1239,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
1141
1239
  const alvoTipoDe = await this.avaliar(valorTipoDe);
1142
1240
  return `tipo de<${alvoTipoDe}>`;
1143
1241
  case construtos_1.Variavel:
1144
- return valorTipoDe.tipo;
1242
+ return valorTipoDe.tipo || (0, inferenciador_1.inferirTipoVariavel)(await this.avaliar(valorTipoDe));
1145
1243
  case construtos_1.Vetor:
1146
1244
  const vetor = valorTipoDe;
1147
1245
  const apenasValores = vetor.valores.filter((v) => !['ComentarioComoConstruto', 'Separador'].includes(v.constructor.name));
@@ -1206,7 +1304,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
1206
1304
  */
1207
1305
  async executarUltimoEscopo(manterAmbiente = false) {
1208
1306
  const ultimoEscopo = this.pilhaEscoposExecucao.topoDaPilha();
1209
- let retornoExecucao;
1307
+ let retornoExecucao = undefined;
1210
1308
  try {
1211
1309
  for (; !(retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.Quebra) &&
1212
1310
  ultimoEscopo.declaracaoAtual < ultimoEscopo.declaracoes.length; ultimoEscopo.declaracaoAtual++) {
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ const mapeamento_paradigmas_1 = require("./mapeamento-paradigmas");
12
12
  function gerarPalavrasReservadasPorParadigma(paradigma) {
13
13
  // Se 'ambos', retorna todas as palavras reservadas
14
14
  if (paradigma === 'ambos') {
15
- return Object.assign({}, palavras_reservadas_1.palavrasReservadasDelegua);
15
+ return { ...palavras_reservadas_1.palavrasReservadasDelegua };
16
16
  }
17
17
  const palavrasFiltradas = {};
18
18
  // Adiciona todas as palavras neutras
@@ -1 +1 @@
1
- {"version":3,"file":"filtro-paradigma.js","sourceRoot":"","sources":["../../fontes/lexador/filtro-paradigma.ts"],"names":[],"mappings":";;AASA,kFA0BC;AAQD,wDAkBC;AA7DD,+DAAkE;AAClE,mEAAmF;AAGnF;;;;GAIG;AACH,SAAgB,mCAAmC,CAC/C,SAAwB;IAExB,mDAAmD;IACnD,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACxB,yBAAY,+CAAyB,EAAG;IAC5C,CAAC;IAED,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IAErD,qCAAqC;IACrC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uCAAe,CAAC,CAAC;IAElD,6CAA6C;IAC7C,KAAK,MAAM,KAAK,IAAI,+CAAuB,EAAE,CAAC;QAC1C,MAAM,mBAAmB,GACrB,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAErE,IAAI,mBAAmB,EAAE,CAAC;YACtB,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBACxC,iBAAiB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,SAAwB;IAC3D,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAEjF,KAAK,MAAM,KAAK,IAAI,+CAAuB,EAAE,CAAC;QAC1C,MAAM,eAAe,GACjB,eAAe,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAE3E,IAAI,eAAe,EAAE,CAAC;YAClB,iBAAiB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"filtro-paradigma.js","sourceRoot":"","sources":["../../fontes/lexador/filtro-paradigma.ts"],"names":[],"mappings":";;AASA,kFA0BC;AAQD,wDAkBC;AA7DD,+DAAkE;AAClE,mEAAmF;AAGnF;;;;GAIG;AACH,SAAgB,mCAAmC,CAC/C,SAAwB;IAExB,mDAAmD;IACnD,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,EAAE,GAAG,+CAAyB,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IAErD,qCAAqC;IACrC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,uCAAe,CAAC,CAAC;IAElD,6CAA6C;IAC7C,KAAK,MAAM,KAAK,IAAI,+CAAuB,EAAE,CAAC;QAC1C,MAAM,mBAAmB,GACrB,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAErE,IAAI,mBAAmB,EAAE,CAAC;YACtB,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBACxC,iBAAiB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,SAAwB;IAC3D,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAEjF,KAAK,MAAM,KAAK,IAAI,+CAAuB,EAAE,CAAC;QAC1C,MAAM,eAAe,GACjB,eAAe,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAE3E,IAAI,eAAe,EAAE,CAAC;YAClB,iBAAiB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC7B,CAAC"}
@@ -143,12 +143,11 @@ function obterMapaLexemaParaParadigma() {
143
143
  * @returns A forma alternativa ou undefined se não houver conversão
144
144
  */
145
145
  function obterFormaAlternativa(lexema, paradigmaAlvo) {
146
- var _a, _b;
147
146
  const lexemaMinusculo = lexema.toLowerCase();
148
147
  // Encontra o grupo que contém este lexema
149
148
  for (const grupo of exports.gruposPalavrasParadigma) {
150
- const temImperativo = (_a = grupo.imperativo) === null || _a === void 0 ? void 0 : _a.some((p) => p === lexemaMinusculo);
151
- const temInfinitivo = (_b = grupo.infinitivo) === null || _b === void 0 ? void 0 : _b.some((p) => p === lexemaMinusculo);
149
+ const temImperativo = grupo.imperativo?.some((p) => p === lexemaMinusculo);
150
+ const temInfinitivo = grupo.infinitivo?.some((p) => p === lexemaMinusculo);
152
151
  if (temImperativo || temInfinitivo) {
153
152
  // Retorna a primeira forma do paradigma alvo
154
153
  if (paradigmaAlvo === 'imperativo' && grupo.imperativo && grupo.imperativo.length > 0) {