@designliquido/delegua 1.12.0 → 1.13.1

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 (58) hide show
  1. package/README.md +2 -1
  2. package/analisador-documentario/index.d.ts +3 -0
  3. package/analisador-documentario/index.d.ts.map +1 -0
  4. package/analisador-documentario/index.js +83 -0
  5. package/analisador-documentario/index.js.map +1 -0
  6. package/analisador-semantico/analisador-semantico.d.ts +4 -0
  7. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  8. package/analisador-semantico/analisador-semantico.js +25 -2
  9. package/analisador-semantico/analisador-semantico.js.map +1 -1
  10. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
  11. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +2 -2
  12. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
  13. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  14. package/avaliador-sintatico/avaliador-sintatico.js +5 -5
  15. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  16. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +3 -1
  17. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  18. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +57 -4
  19. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  20. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.d.ts.map +1 -1
  21. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +2 -2
  22. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
  23. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js +1 -1
  24. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js.map +1 -1
  25. package/bin/package.json +5 -5
  26. package/construtos/vetor.d.ts +7 -2
  27. package/construtos/vetor.d.ts.map +1 -1
  28. package/construtos/vetor.js +12 -7
  29. package/construtos/vetor.js.map +1 -1
  30. package/interfaces/documentario/documentario-analisado.d.ts +11 -0
  31. package/interfaces/documentario/documentario-analisado.d.ts.map +1 -0
  32. package/interfaces/documentario/documentario-analisado.js +3 -0
  33. package/interfaces/documentario/documentario-analisado.js.map +1 -0
  34. package/interfaces/documentario/index.d.ts +4 -0
  35. package/interfaces/documentario/index.d.ts.map +1 -0
  36. package/interfaces/documentario/index.js +20 -0
  37. package/interfaces/documentario/index.js.map +1 -0
  38. package/interfaces/documentario/parametro-doc.d.ts +6 -0
  39. package/interfaces/documentario/parametro-doc.d.ts.map +1 -0
  40. package/interfaces/documentario/parametro-doc.js +3 -0
  41. package/interfaces/documentario/parametro-doc.js.map +1 -0
  42. package/interfaces/documentario/retorna-doc.d.ts +5 -0
  43. package/interfaces/documentario/retorna-doc.d.ts.map +1 -0
  44. package/interfaces/documentario/retorna-doc.js +3 -0
  45. package/interfaces/documentario/retorna-doc.js.map +1 -0
  46. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts +3 -1
  47. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -1
  48. package/interpretador/dialetos/pitugues/interpretador-pitugues.js +15 -0
  49. package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
  50. package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
  51. package/lexador/dialetos/lexador-pitugues.js +4 -0
  52. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  53. package/package.json +5 -5
  54. package/tipos-de-simbolos/pitugues.d.ts +1 -0
  55. package/tipos-de-simbolos/pitugues.d.ts.map +1 -1
  56. package/tipos-de-simbolos/pitugues.js +1 -0
  57. package/tipos-de-simbolos/pitugues.js.map +1 -1
  58. package/umd/delegua.js +108 -22
@@ -1 +1 @@
1
- {"version":3,"file":"lexador-pitugues.js","sourceRoot":"","sources":["../../../fontes/lexador/dialetos/lexador-pitugues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lexador-pitugues.js","sourceRoot":"","sources":["../../../fontes/lexador/dialetos/lexador-pitugues.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "1.12.0",
3
+ "version": "1.13.1",
4
4
  "description": "Linguagem de programação simples e moderna usando português estruturado.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -54,10 +54,6 @@
54
54
  "name": "Maitê Capistrano Refosco",
55
55
  "url": "https://github.com/maitecr"
56
56
  },
57
- {
58
- "name": "Maitê Capistrano Refosco",
59
- "url": "https://github.com/maitecr"
60
- },
61
57
  {
62
58
  "name": "Aristides da Costa",
63
59
  "url": "https://github.com/Aristidescosta"
@@ -69,6 +65,10 @@
69
65
  {
70
66
  "name": "Henrique Oliveira",
71
67
  "url": "https://github.com/hernique33comiitei"
68
+ },
69
+ {
70
+ "name": "Victor Francelino",
71
+ "url": "https://github.com/VictorFrancelino"
72
72
  }
73
73
  ],
74
74
  "license": "MIT",
@@ -1,5 +1,6 @@
1
1
  declare const _default: {
2
2
  ADICAO: string;
3
+ ARROBA: string;
3
4
  BIT_AND: string;
4
5
  BIT_OR: string;
5
6
  BIT_XOR: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pitugues.d.ts","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/pitugues.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAsFE"}
1
+ {"version":3,"file":"pitugues.d.ts","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/pitugues.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAuFE"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = {
4
4
  ADICAO: 'ADICAO',
5
+ ARROBA: 'ARROBA',
5
6
  BIT_AND: 'BIT_AND',
6
7
  BIT_OR: 'BIT_OR',
7
8
  BIT_XOR: 'BIT_XOR',
@@ -1 +1 @@
1
- {"version":3,"file":"pitugues.js","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/pitugues.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,EAAE,EAAE,IAAI;IACR,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,mBAAmB;IACtC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACrB,CAAC"}
1
+ {"version":3,"file":"pitugues.js","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/pitugues.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,EAAE,EAAE,IAAI;IACR,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,mBAAmB;IACtC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACrB,CAAC"}
package/umd/delegua.js CHANGED
@@ -489,7 +489,7 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
489
489
  if (['vetor', 'qualquer[]', 'inteiro[]', 'texto[]'].includes(declaracao.tipo)) {
490
490
  if (declaracao.inicializador instanceof construtos_1.Vetor) {
491
491
  const vetor = declaracao.inicializador;
492
- const vetorSemSeparadores = vetor.valores.filter((v) => v.constructor !== construtos_1.Separador);
492
+ const vetorSemSeparadores = vetor.elementos;
493
493
  if (declaracao.tipo === 'inteiro[]') {
494
494
  const apenasValores = vetorSemSeparadores.find((v) => typeof (v === null || v === void 0 ? void 0 : v.valor) !== 'number');
495
495
  if (apenasValores) {
@@ -664,6 +664,13 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
664
664
  }
665
665
  // Marca como inicializada após atribuição
666
666
  this.gerenciadorEscopos.marcarComoInicializada(simboloAlvo.lexema, expressao.valor);
667
+ // Atualiza tipo se a variável não foi tipada explicitamente
668
+ if (variavel.tipo === 'qualquer') {
669
+ const tipoInferido = this.obterTipoExpressao(expressao.valor);
670
+ if (tipoInferido && tipoInferido !== 'qualquer') {
671
+ variavel.tipo = tipoInferido;
672
+ }
673
+ }
667
674
  // TODO: Readaptar para trabalhar com `expressao.alvo` sendo um construto.
668
675
  switch (expressao.alvo.constructor) {
669
676
  case construtos_1.Variavel:
@@ -706,7 +713,7 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
706
713
  }
707
714
  }
708
715
  if (expressao.valor instanceof construtos_1.Vetor) {
709
- let valoresSemSeparador = expressao.valor.valores.filter((v) => v.constructor !== construtos_1.Separador);
716
+ let valoresSemSeparador = expressao.valor.elementos;
710
717
  if (!['qualquer[]'].includes(valor.tipo)) {
711
718
  if (valor.tipo === 'texto[]') {
712
719
  if (!valoresSemSeparador.every((v) => typeof v.valor === 'string')) {
@@ -874,9 +881,13 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
874
881
  this.verificarOperadorBinario(binario.direita);
875
882
  }
876
883
  const operadoresMatematicos = ['ADICAO', 'SUBTRACAO', 'MULTIPLICACAO', 'DIVISAO', 'MODULO'];
884
+ const operadoresComparacao = ['MAIOR', 'MAIOR_IGUAL', 'MENOR', 'MENOR_IGUAL', 'IGUAL', 'DIFERENTE'];
877
885
  if (operadoresMatematicos.includes(binario.operador.tipo)) {
878
886
  this.verificarTiposOperandos(binario);
879
887
  }
888
+ if (operadoresComparacao.includes(binario.operador.tipo)) {
889
+ this.verificarTiposComparacao(binario);
890
+ }
880
891
  if (binario.operador.tipo === 'DIVISAO') {
881
892
  this.verificarDivisaoPorZero(binario);
882
893
  }
@@ -924,6 +935,18 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
924
935
  }
925
936
  }
926
937
  }
938
+ /**
939
+ * Verifica se os tipos dos operandos em uma comparação são compatíveis
940
+ */
941
+ verificarTiposComparacao(binario) {
942
+ const tipoEsquerda = this.obterTipoExpressao(binario.esquerda);
943
+ const tipoDireita = this.obterTipoExpressao(binario.direita);
944
+ const tiposNumericos = ['inteiro', 'número', 'real'];
945
+ if ((tipoEsquerda === 'texto' && tiposNumericos.includes(tipoDireita)) ||
946
+ (tiposNumericos.includes(tipoEsquerda) && tipoDireita === 'texto')) {
947
+ this.aviso(binario.operador, `Esta comparação ocorre entre tipos ${tipoEsquerda} e ${tipoDireita}, e o resultado pode não ser o desejado.`);
948
+ }
949
+ }
927
950
  /**
928
951
  * Verifica divisão por zero recursivamente
929
952
  */
@@ -2158,7 +2181,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
2158
2181
  this.avancarEDevolverAnterior();
2159
2182
  valores = [];
2160
2183
  if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.COLCHETE_DIREITO)) {
2161
- return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), [], 0, 'qualquer[]');
2184
+ return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), [], 'qualquer[]');
2162
2185
  }
2163
2186
  if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.PARENTESE_ESQUERDO)) {
2164
2187
  return this.construtoTupla();
@@ -2208,7 +2231,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
2208
2231
  }
2209
2232
  const valoresSemSeparadores = valoresSemComentarios.filter((v) => v.constructor !== construtos_1.Separador);
2210
2233
  const tipoVetor = (0, inferenciador_1.inferirTipoVariavel)(valoresSemSeparadores);
2211
- return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), valores, valores.length, tipoVetor);
2234
+ return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), valores, tipoVetor);
2212
2235
  case delegua_2.default.ENQUANTO:
2213
2236
  this.avancarEDevolverAnterior();
2214
2237
  return await this.enquantoComoConstruto();
@@ -4427,7 +4450,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
4427
4450
  case delegua_2.default.COMENTARIO:
4428
4451
  return this.declaracaoComentarioUmaLinha();
4429
4452
  case delegua_2.default.DOCUMENTARIO: {
4430
- const simboloDoc = this.avancarEDevolverAnterior();
4453
+ const simboloDocumentario = this.avancarEDevolverAnterior();
4431
4454
  // Se o próximo token for uma declaração de função com identificador,
4432
4455
  // anexa o documentário como documentação da função.
4433
4456
  if ((this.verificarTipoSimboloAtual(delegua_2.default.FUNCAO) ||
@@ -4435,10 +4458,10 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
4435
4458
  this.verificarTipoProximoSimbolo(delegua_2.default.IDENTIFICADOR)) {
4436
4459
  this.avancarEDevolverAnterior();
4437
4460
  const declaracaoFuncao = (await this.funcao('funcao'));
4438
- declaracaoFuncao.documentacao = new construtos_1.ComentarioComoConstruto(simboloDoc);
4461
+ declaracaoFuncao.documentacao = new construtos_1.ComentarioComoConstruto(simboloDocumentario);
4439
4462
  return declaracaoFuncao;
4440
4463
  }
4441
- return new declaracoes_1.Comentario(simboloDoc.hashArquivo, simboloDoc.linha, simboloDoc.literal, false);
4464
+ return new declaracoes_1.Comentario(simboloDocumentario.hashArquivo, simboloDocumentario.linha, simboloDocumentario.literal, false);
4442
4465
  }
4443
4466
  case delegua_2.default.CONSTANTE:
4444
4467
  this.avancarEDevolverAnterior();
@@ -5511,6 +5534,7 @@ class AvaliadorSintaticoPitugues {
5511
5534
  this.performance = performance;
5512
5535
  this.intuirTipoQualquerParaIdentificadores = false;
5513
5536
  this.escopos = [];
5537
+ this.pilhaDecoradores = [];
5514
5538
  this.pilhaEscopos = new pilha_escopos_1.PilhaEscopos();
5515
5539
  this.primitivasConhecidas = {};
5516
5540
  this.tiposDefinidosEmCodigo = {};
@@ -5813,7 +5837,7 @@ class AvaliadorSintaticoPitugues {
5813
5837
  let tipoInferido = (0, inferenciador_1.inferirTipoVariavel)(valoresResto);
5814
5838
  if (!tipoInferido.endsWith('[]'))
5815
5839
  tipoInferido = `${tipoInferido}[]`;
5816
- inicializador = new construtos_1.Vetor(identificador.hashArquivo, identificador.linha, valoresResto, valoresResto.length, tipoInferido);
5840
+ inicializador = new construtos_1.Vetor(identificador.hashArquivo, identificador.linha, valoresResto, tipoInferido);
5817
5841
  tipo = tipoInferido;
5818
5842
  cursorValores += qtdParaResto;
5819
5843
  }
@@ -5936,7 +5960,7 @@ class AvaliadorSintaticoPitugues {
5936
5960
  case pitugues_2.default.COLCHETE_ESQUERDO:
5937
5961
  this.avancarEDevolverAnterior();
5938
5962
  if (this.verificarSeSimboloAtualEIgualA(pitugues_2.default.COLCHETE_DIREITO)) {
5939
- return new construtos_1.Vetor(this.hashArquivo, simboloAtual.linha, [], 0, 'qualquer[]');
5963
+ return new construtos_1.Vetor(this.hashArquivo, simboloAtual.linha, [], 'qualquer[]');
5940
5964
  }
5941
5965
  // Ao resolver a expressão aqui, identificadores dentro da expressão de compreensão
5942
5966
  // de lista serão tratados como 'qualquer', para evitar erros de tipo.
@@ -5956,7 +5980,7 @@ class AvaliadorSintaticoPitugues {
5956
5980
  valoresVetor.push(valor);
5957
5981
  }
5958
5982
  const tipoVetor = (0, inferenciador_1.inferirTipoVariavel)(valoresVetor);
5959
- return new construtos_1.Vetor(this.hashArquivo, simboloAtual.linha, valoresVetor, valoresVetor.length, tipoVetor);
5983
+ return new construtos_1.Vetor(this.hashArquivo, simboloAtual.linha, valoresVetor, tipoVetor);
5960
5984
  case pitugues_2.default.COMENTARIO:
5961
5985
  const simboloComentario = this.avancarEDevolverAnterior();
5962
5986
  return new construtos_1.ComentarioComoConstruto(simboloComentario);
@@ -6529,6 +6553,35 @@ class AvaliadorSintaticoPitugues {
6529
6553
  }
6530
6554
  return new declaracoes_1.Sustar(this.simboloAtual());
6531
6555
  }
6556
+ async resolverDecoradores() {
6557
+ while (this.verificarTipoSimboloAtual(pitugues_2.default.ARROBA)) {
6558
+ this.avancarEDevolverAnterior();
6559
+ let nomeDecorador = '@';
6560
+ let linha;
6561
+ let parametros = [];
6562
+ const atributos = {};
6563
+ const primeiraParteNomeDecorador = this.consumir(pitugues_2.default.IDENTIFICADOR, 'Esperado nome de decorador após "@".');
6564
+ linha = Number(primeiraParteNomeDecorador.linha);
6565
+ nomeDecorador += primeiraParteNomeDecorador.lexema;
6566
+ while (this.verificarSeSimboloAtualEIgualA(pitugues_2.default.PONTO)) {
6567
+ const parteNomeDecorador = this.consumir(pitugues_2.default.IDENTIFICADOR, 'Esperado nome de decorador após "."');
6568
+ nomeDecorador += '.' + parteNomeDecorador.lexema;
6569
+ }
6570
+ if (this.verificarSeSimboloAtualEIgualA(pitugues_2.default.PARENTESE_ESQUERDO)) {
6571
+ if (!this.verificarTipoSimboloAtual(pitugues_2.default.PARENTESE_DIREITO)) {
6572
+ parametros = await this.logicaComumParametros();
6573
+ }
6574
+ for (const parametro of parametros) {
6575
+ if (parametro.nome.lexema in atributos) {
6576
+ throw this.erro(parametro.nome, `Atributo de decorador declarado duas ou mais vezes: ${parametro.nome.lexema}`);
6577
+ }
6578
+ atributos[parametro.nome.lexema] = parametro.valorPadrao;
6579
+ }
6580
+ this.consumir(pitugues_2.default.PARENTESE_DIREITO, 'Esperado ")" após argumentos do decorador.');
6581
+ }
6582
+ this.pilhaDecoradores.push(new construtos_1.Decorador(this.hashArquivo, linha, nomeDecorador, atributos));
6583
+ }
6584
+ }
6532
6585
  declaracaoComentario() {
6533
6586
  const simboloComentario = this.avancarEDevolverAnterior();
6534
6587
  return new declaracoes_1.Comentario(simboloComentario.hashArquivo, simboloComentario.linha, simboloComentario.literal, false);
@@ -6638,13 +6691,15 @@ class AvaliadorSintaticoPitugues {
6638
6691
  const simbolo = !construtor
6639
6692
  ? this.consumir(pitugues_2.default.IDENTIFICADOR, `Esperado nome ${tipo}.`)
6640
6693
  : new lexador_1.Simbolo(pitugues_2.default.CONSTRUTOR, 'construtor', null, -1, -1);
6694
+ const decoradores = Array.from(this.pilhaDecoradores);
6695
+ this.pilhaDecoradores = [];
6641
6696
  // Se houver chamadas recursivas à função, precisamos definir um tipo
6642
6697
  // para ela. Vai ser atualizado após avaliação do corpo da função.
6643
6698
  this.pilhaEscopos.definirInformacoesVariavel(simbolo.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(simbolo.lexema, 'qualquer'));
6644
6699
  const corpoDaFuncao = await this.corpoDaFuncao(tipo);
6645
6700
  const tipoDaFuncao = `função<${corpoDaFuncao.tipo}>`;
6646
6701
  this.pilhaEscopos.definirInformacoesVariavel(simbolo.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(simbolo.lexema, tipoDaFuncao));
6647
- const funcaoDeclaracao = new declaracoes_1.FuncaoDeclaracao(simbolo, corpoDaFuncao, tipoDaFuncao);
6702
+ const funcaoDeclaracao = new declaracoes_1.FuncaoDeclaracao(simbolo, corpoDaFuncao, tipoDaFuncao, decoradores);
6648
6703
  this.pilhaEscopos.registrarReferenciaFuncao(simbolo.lexema, funcaoDeclaracao);
6649
6704
  return funcaoDeclaracao;
6650
6705
  }
@@ -6715,6 +6770,17 @@ class AvaliadorSintaticoPitugues {
6715
6770
  ])), retornoExpressao.tipo ? `${retornoExpressao.tipo}[]` : 'qualquer[]');
6716
6771
  }
6717
6772
  verificarDefinicaoTipoAtual() {
6773
+ if (this.verificarTipoSimboloAtual(pitugues_2.default.FUNCAO) ||
6774
+ this.verificarTipoSimboloAtual(pitugues_2.default.FUNÇÃO)) {
6775
+ if (this.verificarTipoProximoSimbolo(pitugues_2.default.MENOR)) {
6776
+ this.avancarEDevolverAnterior();
6777
+ this.avancarEDevolverAnterior();
6778
+ const tipoRetorno = this.simboloAtual().lexema;
6779
+ this.avancarEDevolverAnterior();
6780
+ return `função<${tipoRetorno}>`;
6781
+ }
6782
+ return 'função<qualquer>';
6783
+ }
6718
6784
  const tipos = [...Object.values(pitugues_1.default)];
6719
6785
  if (this.simbolos[this.atual].lexema in this.tiposDefinidosEmCodigo) {
6720
6786
  return this.simbolos[this.atual].lexema;
@@ -6846,10 +6912,19 @@ class AvaliadorSintaticoPitugues {
6846
6912
  * @returns Objeto do tipo `Declaracao`.
6847
6913
  */
6848
6914
  async resolverDeclaracaoForaDeBloco() {
6915
+ var _a;
6849
6916
  try {
6917
+ if (this.verificarTipoSimboloAtual(pitugues_2.default.ARROBA)) {
6918
+ await this.resolverDecoradores();
6919
+ }
6850
6920
  if (this.verificarTipoSimboloAtual(pitugues_2.default.FUNCAO) ||
6851
6921
  this.verificarTipoSimboloAtual(pitugues_2.default.FUNÇÃO)) {
6852
6922
  this.avancarEDevolverAnterior();
6923
+ if (this.verificarTipoSimboloAtual(pitugues_2.default.DE) &&
6924
+ ((_a = this.simboloNaPosicao(1)) === null || _a === void 0 ? void 0 : _a.lexema) === 'decorador') {
6925
+ this.avancarEDevolverAnterior();
6926
+ this.avancarEDevolverAnterior();
6927
+ }
6853
6928
  return await this.funcao('da função');
6854
6929
  }
6855
6930
  if (this.verificarSeSimboloAtualEIgualA(pitugues_2.default.CLASSE))
@@ -7082,6 +7157,7 @@ class AvaliadorSintaticoPitugues {
7082
7157
  this.atual = 0;
7083
7158
  this.blocos = 0;
7084
7159
  this.escopos = [];
7160
+ this.pilhaDecoradores = [];
7085
7161
  this.inicializarPilhaEscopos();
7086
7162
  this.tiposDefinidosEmCodigo = {};
7087
7163
  this.hashArquivo = hashArquivo || 0;
@@ -8208,7 +8284,7 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
8208
8284
  this.avancarEDevolverAnterior();
8209
8285
  valores = [];
8210
8286
  if (this.verificarSeSimboloAtualEIgualA(tenda_1.default.COLCHETE_DIREITO)) {
8211
- return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), [], 0, 'qualquer[]');
8287
+ return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), [], 'qualquer[]');
8212
8288
  }
8213
8289
  while (!this.verificarSeSimboloAtualEIgualA(tenda_1.default.COLCHETE_DIREITO)) {
8214
8290
  if (this.verificarSeSimboloAtualEIgualA(tenda_1.default.PARENTESE_ESQUERDO)) {
@@ -8221,7 +8297,7 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
8221
8297
  }
8222
8298
  }
8223
8299
  const tipoVetor = (0, inferenciador_1.inferirTipoVariavel)(valores);
8224
- return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), valores, valores.length, tipoVetor);
8300
+ return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), valores, tipoVetor);
8225
8301
  case tenda_1.default.EXPRESSAO_REGULAR:
8226
8302
  let valor = '';
8227
8303
  let linhaAtual = this.simbolos[this.atual].linha;
@@ -9111,7 +9187,7 @@ class MicroAvaliadorSintaticoPitugues extends micro_avaliador_sintatico_base_1.M
9111
9187
  }
9112
9188
  }
9113
9189
  const tipoVetor = (0, inferenciador_1.inferirTipoVariavel)(valores);
9114
- return new construtos_1.Vetor(-1, Number(this.linha), valores, valores.length, tipoVetor);
9190
+ return new construtos_1.Vetor(-1, Number(this.linha), valores, tipoVetor);
9115
9191
  case pitugues_1.default.FALSO:
9116
9192
  this.avancarEDevolverAnterior();
9117
9193
  return new construtos_1.Literal(-1, Number(this.linha), false);
@@ -13719,18 +13795,23 @@ exports.Variavel = Variavel;
13719
13795
  "use strict";
13720
13796
  Object.defineProperty(exports, "__esModule", { value: true });
13721
13797
  exports.Vetor = void 0;
13798
+ const separador_1 = require("./separador");
13722
13799
  class Vetor {
13723
- constructor(hashArquivo, linha, valores, tamanho, tipo) {
13800
+ constructor(hashArquivo, linha, valores, tipo) {
13724
13801
  this.linha = linha;
13725
13802
  this.hashArquivo = hashArquivo;
13726
13803
  this.tipo = tipo;
13727
13804
  this.valores = valores;
13728
- if (tamanho) {
13729
- this.tamanho = tamanho;
13730
- }
13731
- else {
13732
- this.tamanho = this.valores.length;
13733
- }
13805
+ }
13806
+ /**
13807
+ * Retorna apenas os elementos de dados do vetor, excluindo nós sintáticos
13808
+ * (Separador, comentários) que podem aparecer entre os elementos.
13809
+ */
13810
+ get elementos() {
13811
+ return this.valores.filter((v) => v.constructor !== separador_1.Separador);
13812
+ }
13813
+ get tamanho() {
13814
+ return this.elementos.length;
13734
13815
  }
13735
13816
  async aceitar(visitante) {
13736
13817
  return await visitante.visitarExpressaoVetor(this);
@@ -13744,7 +13825,7 @@ class Vetor {
13744
13825
  }
13745
13826
  exports.Vetor = Vetor;
13746
13827
 
13747
- },{}],91:[function(require,module,exports){
13828
+ },{"./separador":73}],91:[function(require,module,exports){
13748
13829
  "use strict";
13749
13830
  Object.defineProperty(exports, "__esModule", { value: true });
13750
13831
  exports.Ajuda = void 0;
@@ -23553,6 +23634,10 @@ class LexadorPitugues {
23553
23634
  this.adicionarSimbolo(pitugues_2.default.PONTO_E_VIRGULA);
23554
23635
  this.avancar();
23555
23636
  break;
23637
+ case '@':
23638
+ this.adicionarSimbolo(pitugues_2.default.ARROBA);
23639
+ this.avancar();
23640
+ break;
23556
23641
  case '=':
23557
23642
  this.avancar();
23558
23643
  if (this.simboloAtual() === '=') {
@@ -27146,6 +27231,7 @@ exports.default = {
27146
27231
  Object.defineProperty(exports, "__esModule", { value: true });
27147
27232
  exports.default = {
27148
27233
  ADICAO: 'ADICAO',
27234
+ ARROBA: 'ARROBA',
27149
27235
  BIT_AND: 'BIT_AND',
27150
27236
  BIT_OR: 'BIT_OR',
27151
27237
  BIT_XOR: 'BIT_XOR',