@designliquido/delegua 1.15.3 → 1.15.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 (97) hide show
  1. package/analisador-semantico/analisador-semantico.d.ts +2 -1
  2. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico.js +32 -4
  4. package/analisador-semantico/analisador-semantico.js.map +1 -1
  5. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
  6. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +1 -0
  7. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
  8. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  9. package/avaliador-sintatico/avaliador-sintatico.js +8 -1
  10. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  11. package/avaliador-sintatico/comum.d.ts.map +1 -1
  12. package/avaliador-sintatico/comum.js +17 -6
  13. package/avaliador-sintatico/comum.js.map +1 -1
  14. package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js +1 -1
  15. package/bibliotecas/dialetos/prisma/biblioteca-global.d.ts +1 -1
  16. package/bibliotecas/dialetos/prisma/biblioteca-global.js +1 -1
  17. package/bin/package.json +1 -1
  18. package/construtos/literal.d.ts +2 -1
  19. package/construtos/literal.d.ts.map +1 -1
  20. package/construtos/literal.js +2 -1
  21. package/construtos/literal.js.map +1 -1
  22. package/estilizador/estilizador-delegua.d.ts +7 -6
  23. package/estilizador/estilizador-delegua.d.ts.map +1 -1
  24. package/estilizador/estilizador-delegua.js +9 -0
  25. package/estilizador/estilizador-delegua.js.map +1 -1
  26. package/estilizador/regras/convencao-nomenclatura.d.ts +2 -2
  27. package/estilizador/regras/convencao-nomenclatura.d.ts.map +1 -1
  28. package/estilizador/regras/fortalecer-tipos.d.ts +2 -2
  29. package/estilizador/regras/fortalecer-tipos.d.ts.map +1 -1
  30. package/estilizador/regras/fortalecer-tipos.js.map +1 -1
  31. package/estilizador/regras/paradigma-consistente.d.ts +3 -16
  32. package/estilizador/regras/paradigma-consistente.d.ts.map +1 -1
  33. package/estilizador/regras/paradigma-consistente.js.map +1 -1
  34. package/formatadores/formatador-delegua.d.ts +7 -1
  35. package/formatadores/formatador-delegua.d.ts.map +1 -1
  36. package/formatadores/formatador-delegua.js +25 -6
  37. package/formatadores/formatador-delegua.js.map +1 -1
  38. package/interfaces/estilizador/estilizador-interface.d.ts +49 -0
  39. package/interfaces/estilizador/estilizador-interface.d.ts.map +1 -0
  40. package/interfaces/{estilizador-comum-interface.js → estilizador/estilizador-interface.js} +1 -1
  41. package/interfaces/estilizador/estilizador-interface.js.map +1 -0
  42. package/interfaces/estilizador/index.d.ts +5 -0
  43. package/interfaces/estilizador/index.d.ts.map +1 -0
  44. package/interfaces/estilizador/index.js +21 -0
  45. package/interfaces/estilizador/index.js.map +1 -0
  46. package/interfaces/estilizador/opcoes-paradigma-consistente-interface.d.ts +14 -0
  47. package/interfaces/estilizador/opcoes-paradigma-consistente-interface.d.ts.map +1 -0
  48. package/interfaces/estilizador/opcoes-paradigma-consistente-interface.js +3 -0
  49. package/interfaces/estilizador/opcoes-paradigma-consistente-interface.js.map +1 -0
  50. package/interfaces/estilizador/regra-estilizacao-interface.d.ts +28 -0
  51. package/interfaces/estilizador/regra-estilizacao-interface.d.ts.map +1 -0
  52. package/interfaces/estilizador/regra-estilizacao-interface.js +3 -0
  53. package/interfaces/estilizador/regra-estilizacao-interface.js.map +1 -0
  54. package/interfaces/estilizador/violacao-estilo-interface.d.ts +26 -0
  55. package/interfaces/estilizador/violacao-estilo-interface.d.ts.map +1 -0
  56. package/interfaces/estilizador/violacao-estilo-interface.js +3 -0
  57. package/interfaces/estilizador/violacao-estilo-interface.js.map +1 -0
  58. package/interfaces/index.d.ts +1 -1
  59. package/interfaces/index.d.ts.map +1 -1
  60. package/interfaces/index.js +1 -1
  61. package/interfaces/index.js.map +1 -1
  62. package/interfaces/simbolo-interface.d.ts +2 -1
  63. package/interfaces/simbolo-interface.d.ts.map +1 -1
  64. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +7 -7
  65. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  66. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +1 -1
  67. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  68. package/interpretador/dialetos/prisma/interpretador-prisma.d.ts +1 -1
  69. package/interpretador/dialetos/prisma/interpretador-prisma.js +1 -1
  70. package/lexador/filtro-paradigma.d.ts +1 -1
  71. package/lexador/filtro-paradigma.d.ts.map +1 -1
  72. package/lexador/filtro-paradigma.js.map +1 -1
  73. package/lexador/lexador.d.ts.map +1 -1
  74. package/lexador/lexador.js +2 -0
  75. package/lexador/lexador.js.map +1 -1
  76. package/lexador/mapeamento-paradigmas.d.ts +1 -7
  77. package/lexador/mapeamento-paradigmas.d.ts.map +1 -1
  78. package/lexador/mapeamento-paradigmas.js +3 -3
  79. package/lexador/mapeamento-paradigmas.js.map +1 -1
  80. package/lexador/simbolo.d.ts +2 -1
  81. package/lexador/simbolo.d.ts.map +1 -1
  82. package/lexador/simbolo.js +2 -1
  83. package/lexador/simbolo.js.map +1 -1
  84. package/package.json +1 -1
  85. package/tipos.d.ts +8 -0
  86. package/tipos.d.ts.map +1 -0
  87. package/tipos.js +3 -0
  88. package/tipos.js.map +1 -0
  89. package/tradutores/tradutor-assemblyscript.js +1 -1
  90. package/tradutores/tradutor-assemblyscript.js.map +1 -1
  91. package/tradutores/tradutor-elixir.d.ts +1 -1
  92. package/tradutores/tradutor-elixir.js +3 -3
  93. package/tradutores/tradutor-elixir.js.map +1 -1
  94. package/umd/delegua.js +108 -30
  95. package/interfaces/estilizador-comum-interface.d.ts +0 -85
  96. package/interfaces/estilizador-comum-interface.d.ts.map +0 -1
  97. package/interfaces/estilizador-comum-interface.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-elixir.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-elixir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-elixir.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-elixir.ts"],"names":[],"mappings":"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"}
package/umd/delegua.js CHANGED
@@ -503,6 +503,10 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
503
503
  }
504
504
  }
505
505
  }
506
+ else if (declaracao.inicializador instanceof construtos_1.Chamada) {
507
+ // Chamadas de método/função podem retornar vetores.
508
+ // A validação detalhada é feita em tempo de execução.
509
+ }
506
510
  else {
507
511
  this.erro(declaracao.simbolo, `Atribuição inválida para '${declaracao.simbolo.lexema}': é esperado um vetor de elementos.`);
508
512
  }
@@ -796,6 +800,29 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
796
800
  // Verifica a condição
797
801
  return this.verificarCondicao(declaracao.condicaoEnquanto);
798
802
  }
803
+ async visitarDeclaracaoPara(declaracao) {
804
+ if (Array.isArray(declaracao.inicializador)) {
805
+ for (const inicializador of declaracao.inicializador) {
806
+ await inicializador.aceitar(this);
807
+ }
808
+ }
809
+ else if (declaracao.inicializador) {
810
+ await declaracao.inicializador.aceitar(this);
811
+ }
812
+ // O laço precisa visitar condição/incremento/corpo para registrar usos de variáveis.
813
+ if (declaracao.condicao) {
814
+ this.marcarVariaveisUsadasEmExpressao(declaracao.condicao);
815
+ await this.verificarCondicao(declaracao.condicao);
816
+ }
817
+ if (declaracao.incrementar) {
818
+ this.marcarVariaveisUsadasEmExpressao(declaracao.incrementar);
819
+ this.verificarExpressao(declaracao.incrementar);
820
+ }
821
+ for (const declaracaoCorpo of declaracao.corpo.declaracoes) {
822
+ await declaracaoCorpo.aceitar(this);
823
+ }
824
+ return Promise.resolve();
825
+ }
799
826
  visitarDeclaracaoParaCada(declaracao) {
800
827
  // Marca o vetor/dicionário como usado
801
828
  this.marcarVariaveisUsadasEmExpressao(declaracao.vetorOuDicionario);
@@ -1058,10 +1085,11 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
1058
1085
  case construtos_1.Variavel:
1059
1086
  let entidadeChamadaVariavel = chamada.entidadeChamada;
1060
1087
  const nomeFuncao = entidadeChamadaVariavel.simbolo.lexema;
1061
- // Lista de funções built-in que não precisam ser declaradas
1062
- const funcoesBuiltIn = [
1088
+ // Lista de funções embutidas que não precisam ser declaradas
1089
+ const funcoesEmbutidas = [
1063
1090
  'inteiro',
1064
1091
  'real',
1092
+ 'numero',
1065
1093
  'número',
1066
1094
  'texto',
1067
1095
  'leia',
@@ -1070,8 +1098,8 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
1070
1098
  ];
1071
1099
  // Classes/construtores geralmente começam com letra maiúscula
1072
1100
  const pareceSerClasse = nomeFuncao[0] === nomeFuncao[0].toUpperCase();
1073
- // Só verifica se a função existe se não for built-in e não parecer ser classe
1074
- if (!funcoesBuiltIn.includes(nomeFuncao) &&
1101
+ // Só verifica se a função existe se não for embutidas e não parecer ser classe
1102
+ if (!funcoesEmbutidas.includes(nomeFuncao) &&
1075
1103
  !pareceSerClasse &&
1076
1104
  !this.funcoes[nomeFuncao] &&
1077
1105
  !this.gerenciadorEscopos.buscar(nomeFuncao)) {
@@ -2318,7 +2346,10 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
2318
2346
  case delegua_2.default.TEXTO:
2319
2347
  const simboloNumeroTexto = this.avancarEDevolverAnterior();
2320
2348
  const tipoInferido = (0, inferenciador_1.inferirTipoVariavel)(simboloNumeroTexto.literal);
2321
- return new construtos_1.Literal(this.hashArquivo, Number(simboloNumeroTexto.linha), simboloNumeroTexto.literal, tipoInferido);
2349
+ const delimitadorTexto = simboloNumeroTexto.tipo === delegua_2.default.TEXTO
2350
+ ? simboloNumeroTexto.delimitadorTexto
2351
+ : undefined;
2352
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloNumeroTexto.linha), simboloNumeroTexto.literal, tipoInferido, delimitadorTexto);
2322
2353
  case delegua_2.default.PARA:
2323
2354
  const simboloPara = this.avancarEDevolverAnterior();
2324
2355
  return await this.paraComoConstruto(simboloPara);
@@ -4386,6 +4417,10 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
4386
4417
  const simboloDoc = this.avancarEDevolverAnterior();
4387
4418
  docTopLevel = new construtos_1.ComentarioComoConstruto(simboloDoc);
4388
4419
  }
4420
+ // Decoradores podem aparecer após um documentário.
4421
+ while (this.verificarTipoSimboloAtual(delegua_2.default.ARROBA)) {
4422
+ await this.resolverDecoradores();
4423
+ }
4389
4424
  if (this.verificarTipoSimboloAtual(delegua_2.default.FUNCAO) ||
4390
4425
  this.verificarTipoSimboloAtual(delegua_2.default.FUNÇÃO)) {
4391
4426
  if (this.verificarTipoProximoSimbolo(delegua_2.default.DE)) {
@@ -4757,25 +4792,36 @@ exports.registrarPrimitiva = registrarPrimitiva;
4757
4792
  const declaracoes_1 = require("../declaracoes");
4758
4793
  const informacao_elemento_sintatico_1 = require("../informacao-elemento-sintatico");
4759
4794
  function* buscarRetornosEmBloco(construtoBloco) {
4795
+ if (!(construtoBloco === null || construtoBloco === void 0 ? void 0 : construtoBloco.declaracoes))
4796
+ return;
4760
4797
  for (const declaracao of construtoBloco.declaracoes) {
4761
- if (declaracao.constructor === declaracoes_1.Retorna) {
4798
+ if ((declaracao === null || declaracao === void 0 ? void 0 : declaracao.constructor) === declaracoes_1.Retorna) {
4762
4799
  yield declaracao;
4763
4800
  }
4764
4801
  }
4765
4802
  }
4766
4803
  function* buscarRetornosEmSe(construtoSe) {
4767
- const blocoEntao = construtoSe.caminhoEntao;
4768
- for (const declaracao of buscarRetornosEmBloco(blocoEntao)) {
4769
- if (declaracao.constructor === declaracoes_1.Retorna) {
4770
- yield declaracao;
4804
+ var _a;
4805
+ if (((_a = construtoSe.caminhoEntao) === null || _a === void 0 ? void 0 : _a.constructor) === declaracoes_1.Retorna) {
4806
+ yield construtoSe.caminhoEntao;
4807
+ }
4808
+ else {
4809
+ const blocoEntao = construtoSe.caminhoEntao;
4810
+ for (const declaracao of buscarRetornosEmBloco(blocoEntao)) {
4811
+ if (declaracao.constructor === declaracoes_1.Retorna) {
4812
+ yield declaracao;
4813
+ }
4771
4814
  }
4772
4815
  }
4773
4816
  if (!construtoSe.caminhoSenao)
4774
4817
  return;
4775
4818
  switch (construtoSe.caminhoSenao.constructor) {
4819
+ case declaracoes_1.Retorna:
4820
+ yield construtoSe.caminhoSenao;
4821
+ break;
4776
4822
  case declaracoes_1.Bloco:
4777
4823
  const blocoSenao = construtoSe.caminhoSenao;
4778
- for (const declaracao of blocoSenao.declaracoes) {
4824
+ for (const declaracao of buscarRetornosEmBloco(blocoSenao)) {
4779
4825
  if (declaracao.constructor === declaracoes_1.Retorna) {
4780
4826
  yield declaracao;
4781
4827
  }
@@ -8301,7 +8347,7 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
8301
8347
  inicializarPilhaEscopos() {
8302
8348
  this.pilhaEscopos = new pilha_escopos_1.PilhaEscopos();
8303
8349
  this.pilhaEscopos.empilhar(new informacao_escopo_1.InformacaoEscopo());
8304
- // Registrar funções nativas (built-ins) do Prisma no escopo do parser
8350
+ // Registrar funções nativas (embutidos) do Prisma no escopo do parser
8305
8351
  // para evitar erros de variável não definida durante análise semântica
8306
8352
  this.pilhaEscopos.definirInformacoesVariavel('tipo', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('tipo', 'função', true, [
8307
8353
  new informacao_elemento_sintatico_1.InformacaoElementoSintatico('valor', 'qualquer'),
@@ -13354,11 +13400,12 @@ exports.ListaCompreensao = ListaCompreensao;
13354
13400
  Object.defineProperty(exports, "__esModule", { value: true });
13355
13401
  exports.Literal = void 0;
13356
13402
  class Literal {
13357
- constructor(hashArquivo, linha, valor, tipo = 'qualquer') {
13403
+ constructor(hashArquivo, linha, valor, tipo = 'qualquer', delimitadorTexto) {
13358
13404
  this.linha = linha;
13359
13405
  this.hashArquivo = hashArquivo;
13360
13406
  this.valor = valor;
13361
13407
  this.tipo = tipo;
13408
+ this.delimitadorTexto = delimitadorTexto;
13362
13409
  }
13363
13410
  async aceitar(visitante) {
13364
13411
  return await visitante.visitarExpressaoLiteral(this);
@@ -14984,6 +15031,7 @@ exports.Var = Var;
14984
15031
  "use strict";
14985
15032
  Object.defineProperty(exports, "__esModule", { value: true });
14986
15033
  exports.EstilizadorDelegua = void 0;
15034
+ const formatadores_1 = require("../formatadores");
14987
15035
  /**
14988
15036
  * Estilizador de código para Delégua.
14989
15037
  * Aplica transformações no AST para enforcar convenções e melhorar qualidade do código.
@@ -15210,10 +15258,18 @@ class EstilizadorDelegua {
15210
15258
  this.modoValidacao = false;
15211
15259
  return violacoesEncontradas;
15212
15260
  }
15261
+ estilizarEFormatar(declaracoes, opcoesFormatacao = {}) {
15262
+ var _a;
15263
+ const declaracoesEstilizadas = this.estilizar(declaracoes);
15264
+ const formatador = new formatadores_1.FormatadorDelegua(opcoesFormatacao.quebraLinha || '\n', (_a = opcoesFormatacao.tamanhoIndentacao) !== null && _a !== void 0 ? _a : 4, {
15265
+ delimitadorTexto: opcoesFormatacao.delimitadorTexto,
15266
+ });
15267
+ return formatador.formatar(declaracoesEstilizadas);
15268
+ }
15213
15269
  }
15214
15270
  exports.EstilizadorDelegua = EstilizadorDelegua;
15215
15271
 
15216
- },{}],125:[function(require,module,exports){
15272
+ },{"../formatadores":134}],125:[function(require,module,exports){
15217
15273
  "use strict";
15218
15274
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15219
15275
  if (k2 === undefined) k2 = k;
@@ -15627,13 +15683,23 @@ const delegua_1 = __importDefault(require("../tipos-de-simbolos/delegua"));
15627
15683
  * Normalmente usado por IDEs, mas pode ser usado por linha de comando ou programaticamente.
15628
15684
  */
15629
15685
  class FormatadorDelegua {
15630
- constructor(quebraLinha, tamanhoIndentacao = 4) {
15686
+ constructor(quebraLinha, tamanhoIndentacao = 4, opcoes = {}) {
15631
15687
  this.quebraLinha = quebraLinha;
15632
15688
  this.tamanhoIndentacao = tamanhoIndentacao;
15633
15689
  this.indentacaoAtual = 0;
15634
15690
  this.codigoFormatado = '';
15635
15691
  this.devePularLinha = true;
15636
15692
  this.deveIndentar = true;
15693
+ this.delimitadorTexto = opcoes.delimitadorTexto || 'aspas-simples';
15694
+ }
15695
+ obterDelimitadorTexto(expressao) {
15696
+ if (this.delimitadorTexto === 'aspas-duplas') {
15697
+ return '"';
15698
+ }
15699
+ if (this.delimitadorTexto === 'preservar' && expressao.delimitadorTexto) {
15700
+ return expressao.delimitadorTexto;
15701
+ }
15702
+ return "'";
15637
15703
  }
15638
15704
  /* istanbul ignore next */
15639
15705
  visitarExpressaoTuplaN(expressao) {
@@ -15673,7 +15739,7 @@ class FormatadorDelegua {
15673
15739
  }
15674
15740
  visitarDeclaracaoComentario(declaracao) {
15675
15741
  if (declaracao.multilinha) {
15676
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}/* `;
15742
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}/*${this.quebraLinha}`;
15677
15743
  for (let linhaConteudo of declaracao.conteudo) {
15678
15744
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)} ${linhaConteudo.replace(/\s+/g, ' ')}${this.quebraLinha}`;
15679
15745
  }
@@ -16132,13 +16198,19 @@ class FormatadorDelegua {
16132
16198
  }
16133
16199
  visitarExpressaoLiteral(expressao) {
16134
16200
  if (typeof expressao.valor === 'string') {
16135
- const valorStr = expressao.valor
16201
+ const delimitador = this.obterDelimitadorTexto(expressao);
16202
+ let valorTexto = expressao.valor
16136
16203
  .replace(/\\/g, '\\\\')
16137
16204
  .replace(/\r/g, '\\r')
16138
16205
  .replace(/\n/g, '\\n')
16139
- .replace(/\t/g, '\\t')
16140
- .replace(/'/g, "\\'");
16141
- this.codigoFormatado += `'${valorStr}'`;
16206
+ .replace(/\t/g, '\\t');
16207
+ if (delimitador === "'") {
16208
+ valorTexto = valorTexto.replace(/'/g, "\\'");
16209
+ }
16210
+ else {
16211
+ valorTexto = valorTexto.replace(/"/g, '\\"');
16212
+ }
16213
+ this.codigoFormatado += `${delimitador}${valorTexto}${delimitador}`;
16142
16214
  return;
16143
16215
  }
16144
16216
  if (['logico', 'lógico'].includes(expressao.tipo)) {
@@ -16256,6 +16328,9 @@ class FormatadorDelegua {
16256
16328
  case declaracoes_1.Classe:
16257
16329
  this.visitarDeclaracaoClasse(declaracaoOuConstruto);
16258
16330
  break;
16331
+ case declaracoes_1.Comentario:
16332
+ this.visitarDeclaracaoComentario(declaracaoOuConstruto);
16333
+ break;
16259
16334
  case declaracoes_1.Continua:
16260
16335
  this.visitarExpressaoContinua(declaracaoOuConstruto);
16261
16336
  break;
@@ -17158,7 +17233,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17158
17233
  __exportStar(require("./avaliador-sintatico-interface"), exports);
17159
17234
  __exportStar(require("./componente-modulo-classe-interface"), exports);
17160
17235
  __exportStar(require("./componente-modulo-funcao-interface"), exports);
17161
- __exportStar(require("./estilizador-comum-interface"), exports);
17236
+ __exportStar(require("./estilizador/estilizador-interface"), exports);
17162
17237
  __exportStar(require("./formatador-comum-interface"), exports);
17163
17238
  __exportStar(require("./interpretador-com-depuracao-interface"), exports);
17164
17239
  __exportStar(require("./interpretador-interface"), exports);
@@ -17179,7 +17254,7 @@ __exportStar(require("./construtos"), exports);
17179
17254
  __exportStar(require("./erros"), exports);
17180
17255
  __exportStar(require("./retornos"), exports);
17181
17256
 
17182
- },{"./avaliador-sintatico-interface":139,"./componente-modulo-classe-interface":140,"./componente-modulo-funcao-interface":141,"./construtos":142,"./erros":146,"./estilizador-comum-interface":147,"./formatador-comum-interface":148,"./interpretador-com-depuracao-interface":150,"./interpretador-interface":151,"./lexador-interface":152,"./modulo-interface":153,"./parametro-interface":154,"./pilha-interface":155,"./primitiva-interface":156,"./resolvedor-interface":157,"./resultado-parcial-interpretador-interface":158,"./retornos":159,"./retornos/retorno-execucao-interface":162,"./simbolo-interface":165,"./tradutor-interface":166,"./variavel-interface":167,"./visitante-comum-interface":168,"./visitante-delegua-interface":169}],150:[function(require,module,exports){
17257
+ },{"./avaliador-sintatico-interface":139,"./componente-modulo-classe-interface":140,"./componente-modulo-funcao-interface":141,"./construtos":142,"./erros":146,"./estilizador/estilizador-interface":147,"./formatador-comum-interface":148,"./interpretador-com-depuracao-interface":150,"./interpretador-interface":151,"./lexador-interface":152,"./modulo-interface":153,"./parametro-interface":154,"./pilha-interface":155,"./primitiva-interface":156,"./resolvedor-interface":157,"./resultado-parcial-interpretador-interface":158,"./retornos":159,"./retornos/retorno-execucao-interface":162,"./simbolo-interface":165,"./tradutor-interface":166,"./variavel-interface":167,"./visitante-comum-interface":168,"./visitante-delegua-interface":169}],150:[function(require,module,exports){
17183
17258
  "use strict";
17184
17259
  Object.defineProperty(exports, "__esModule", { value: true });
17185
17260
 
@@ -26116,6 +26191,8 @@ class Lexador {
26116
26191
  if (caractere === delimitador) {
26117
26192
  this.avancar();
26118
26193
  this.adicionarSimbolo(delegua_1.default.TEXTO, valor);
26194
+ const ultimoSimbolo = this.simbolos[this.simbolos.length - 1];
26195
+ ultimoSimbolo.delimitadorTexto = delimitador;
26119
26196
  return;
26120
26197
  }
26121
26198
  if (caractere === '\0' && this.eUltimaLinha()) {
@@ -26724,11 +26801,11 @@ function obterMapaLexemaParaParadigma() {
26724
26801
  */
26725
26802
  function obterFormaAlternativa(lexema, paradigmaAlvo) {
26726
26803
  var _a, _b;
26727
- const lexemaLower = lexema.toLowerCase();
26804
+ const lexemaMinusculo = lexema.toLowerCase();
26728
26805
  // Encontra o grupo que contém este lexema
26729
26806
  for (const grupo of exports.gruposPalavrasParadigma) {
26730
- const temImperativo = (_a = grupo.imperativo) === null || _a === void 0 ? void 0 : _a.some((p) => p === lexemaLower);
26731
- const temInfinitivo = (_b = grupo.infinitivo) === null || _b === void 0 ? void 0 : _b.some((p) => p === lexemaLower);
26807
+ const temImperativo = (_a = grupo.imperativo) === null || _a === void 0 ? void 0 : _a.some((p) => p === lexemaMinusculo);
26808
+ const temInfinitivo = (_b = grupo.infinitivo) === null || _b === void 0 ? void 0 : _b.some((p) => p === lexemaMinusculo);
26732
26809
  if (temImperativo || temInfinitivo) {
26733
26810
  // Retorna a primeira forma do paradigma alvo
26734
26811
  if (paradigmaAlvo === 'imperativo' && grupo.imperativo && grupo.imperativo.length > 0) {
@@ -27322,7 +27399,7 @@ exports.palavrasReservadasMicroGramatica = {
27322
27399
  Object.defineProperty(exports, "__esModule", { value: true });
27323
27400
  exports.Simbolo = void 0;
27324
27401
  class Simbolo {
27325
- constructor(tipo, lexema, literal, linha, hashArquivo, colunaInicio = 0, colunaFim = 0) {
27402
+ constructor(tipo, lexema, literal, linha, hashArquivo, colunaInicio = 0, colunaFim = 0, delimitadorTexto) {
27326
27403
  this.tipo = tipo;
27327
27404
  this.lexema = lexema;
27328
27405
  this.literal = literal;
@@ -27330,6 +27407,7 @@ class Simbolo {
27330
27407
  this.hashArquivo = hashArquivo;
27331
27408
  this.colunaInicio = colunaInicio;
27332
27409
  this.colunaFim = colunaFim;
27410
+ this.delimitadorTexto = delimitadorTexto;
27333
27411
  }
27334
27412
  paraTexto() {
27335
27413
  return this.tipo + ' ' + this.lexema + ' ' + this.literal;
@@ -43460,7 +43538,7 @@ class TradutorAssemblyScript {
43460
43538
  }
43461
43539
  traduzirDeclaracaoTendoComo(declaracaoTendoComo) {
43462
43540
  // TendoComo is a resource management pattern (like try-with-resources in Java)
43463
- // AssemblyScript doesn't have built-in support, so we'll just treat it as a scope
43541
+ // AssemblyScript doesn't have embutidos support, so we'll just treat it as a scope
43464
43542
  let resultado = `// tendo ${declaracaoTendoComo.simboloVariavel.lexema} como recurso\n`;
43465
43543
  resultado += ' '.repeat(this.indentacao);
43466
43544
  resultado += `let ${declaracaoTendoComo.simboloVariavel.lexema} = `;
@@ -44809,7 +44887,7 @@ class TradutorElixir {
44809
44887
  return Promise.resolve(`${objeto}.${metodo}`);
44810
44888
  }
44811
44889
  /**
44812
- * Mapeia métodos built-in de Delégua para Elixir
44890
+ * Mapeia métodos embutidos de Delégua para Elixir
44813
44891
  */
44814
44892
  mapearMetodoBuiltIn(metodo, objeto, argumentos) {
44815
44893
  switch (metodo) {
@@ -44941,7 +45019,7 @@ class TradutorElixir {
44941
45019
  const acessoMetodo = expressao.entidadeChamada;
44942
45020
  const objeto = await acessoMetodo.objeto.aceitar(this);
44943
45021
  const metodo = this.converterIdentificador(acessoMetodo.nomeMetodo);
44944
- // Mapear métodos built-in
45022
+ // Mapear métodos embutidos
44945
45023
  const metodoMapeado = this.mapearMetodoBuiltIn(metodo, objeto, argumentos);
44946
45024
  if (metodoMapeado) {
44947
45025
  return Promise.resolve(metodoMapeado);
@@ -44953,7 +45031,7 @@ class TradutorElixir {
44953
45031
  const acesso = expressao.entidadeChamada;
44954
45032
  const objeto = await acesso.objeto.aceitar(this);
44955
45033
  const simbolo = this.converterIdentificador(acesso.simbolo.lexema);
44956
- // Mapear métodos built-in
45034
+ // Mapear métodos embutidos
44957
45035
  const metodoMapeado = this.mapearMetodoBuiltIn(simbolo, objeto, argumentos);
44958
45036
  if (metodoMapeado) {
44959
45037
  return Promise.resolve(metodoMapeado);
@@ -1,85 +0,0 @@
1
- import { Declaracao } from '../declaracoes/declaracao';
2
- import { Construto } from '../construtos';
3
- /**
4
- * Define uma regra de transformação/estilização de código.
5
- */
6
- export interface RegraEstilizacao {
7
- /**
8
- * Nome da regra para identificação e logs.
9
- */
10
- nome: string;
11
- /**
12
- * Descrição do que a regra faz.
13
- */
14
- descricao: string;
15
- /**
16
- * Aplica a regra em uma declaração.
17
- * @param declaracao A declaração a ser verificada/transformada.
18
- * @returns A declaração (modificada ou não).
19
- */
20
- aplicarEmDeclaracao?(declaracao: Declaracao): Declaracao;
21
- /**
22
- * Aplica a regra em um construto.
23
- * @param construto O construto a ser verificado/transformado.
24
- * @returns O construto (modificado ou não).
25
- */
26
- aplicarEmConstruto?(construto: Construto): Construto;
27
- }
28
- /**
29
- * Interface base para estilizadores de código.
30
- * Um estilizador aplica transformações no AST para enforcar convenções e melhorar a qualidade do código.
31
- */
32
- export interface EstilizadorComumInterface {
33
- /**
34
- * Regras de estilização ativas.
35
- */
36
- regras: RegraEstilizacao[];
37
- /**
38
- * Adiciona uma regra de estilização.
39
- * @param regra A regra a ser adicionada.
40
- */
41
- adicionarRegra(regra: RegraEstilizacao): void;
42
- /**
43
- * Remove uma regra de estilização pelo nome.
44
- * @param nomeRegra O nome da regra a ser removida.
45
- */
46
- removerRegra(nomeRegra: string): void;
47
- /**
48
- * Aplica as regras de estilização em um conjunto de declarações.
49
- * @param declaracoes As declarações a serem estilizadas.
50
- * @returns As declarações estilizadas (modificadas ou não).
51
- */
52
- estilizar(declaracoes: Declaracao[]): Declaracao[];
53
- /**
54
- * Valida se o código atende todas as regras sem aplicar transformações.
55
- * @param declaracoes As declarações a serem validadas.
56
- * @returns Array de violações encontradas.
57
- */
58
- validar(declaracoes: Declaracao[]): ViolacaoEstilo[];
59
- }
60
- /**
61
- * Representa uma violação de estilo encontrada.
62
- */
63
- export interface ViolacaoEstilo {
64
- /**
65
- * Nome da regra violada.
66
- */
67
- regra: string;
68
- /**
69
- * Mensagem descritiva da violação.
70
- */
71
- mensagem: string;
72
- /**
73
- * Linha onde a violação ocorreu.
74
- */
75
- linha: number;
76
- /**
77
- * Hash do arquivo onde a violação ocorreu.
78
- */
79
- hashArquivo: number;
80
- /**
81
- * Severidade da violação.
82
- */
83
- severidade: 'erro' | 'aviso' | 'informacao';
84
- }
85
- //# sourceMappingURL=estilizador-comum-interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"estilizador-comum-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/estilizador-comum-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,mBAAmB,CAAC,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;IAEzD;;;;OAIG;IACH,kBAAkB,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;CACxD;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAE9C;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC;;;;OAIG;IACH,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;IAEnD;;;;OAIG;IACH,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;CAC/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"estilizador-comum-interface.js","sourceRoot":"","sources":["../../fontes/interfaces/estilizador-comum-interface.ts"],"names":[],"mappings":""}