@designliquido/delegua 1.27.2 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/avaliador-sintatico/avaliador-sintatico.d.ts +1 -0
  2. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  3. package/avaliador-sintatico/avaliador-sintatico.js +15 -6
  4. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  5. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  6. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +0 -1
  7. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  8. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.d.ts.map +1 -1
  9. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +0 -1
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
  11. package/bibliotecas/biblioteca-global.js +1 -1
  12. package/bibliotecas/biblioteca-global.js.map +1 -1
  13. package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
  14. package/bibliotecas/primitivas-vetor.js +2 -1
  15. package/bibliotecas/primitivas-vetor.js.map +1 -1
  16. package/bin/package.json +3 -2
  17. package/construtos/agrupamento.d.ts +1 -1
  18. package/construtos/agrupamento.d.ts.map +1 -1
  19. package/construtos/agrupamento.js +2 -2
  20. package/construtos/agrupamento.js.map +1 -1
  21. package/construtos/atribuir.d.ts +1 -1
  22. package/construtos/atribuir.d.ts.map +1 -1
  23. package/construtos/atribuir.js +2 -2
  24. package/construtos/atribuir.js.map +1 -1
  25. package/construtos/binario.d.ts +1 -1
  26. package/construtos/binario.d.ts.map +1 -1
  27. package/construtos/binario.js +2 -2
  28. package/construtos/binario.js.map +1 -1
  29. package/construtos/literal.d.ts +1 -1
  30. package/construtos/literal.d.ts.map +1 -1
  31. package/construtos/literal.js +2 -2
  32. package/construtos/literal.js.map +1 -1
  33. package/construtos/logico.d.ts +1 -1
  34. package/construtos/logico.d.ts.map +1 -1
  35. package/construtos/logico.js +2 -2
  36. package/construtos/logico.js.map +1 -1
  37. package/construtos/para-como-construto.d.ts +2 -1
  38. package/construtos/para-como-construto.d.ts.map +1 -1
  39. package/construtos/para-como-construto.js +2 -1
  40. package/construtos/para-como-construto.js.map +1 -1
  41. package/construtos/unario.d.ts +1 -1
  42. package/construtos/unario.d.ts.map +1 -1
  43. package/construtos/unario.js +2 -2
  44. package/construtos/unario.js.map +1 -1
  45. package/construtos/variavel.d.ts +2 -2
  46. package/construtos/variavel.d.ts.map +1 -1
  47. package/construtos/variavel.js +2 -2
  48. package/construtos/variavel.js.map +1 -1
  49. package/declaracoes/para.d.ts +2 -1
  50. package/declaracoes/para.d.ts.map +1 -1
  51. package/declaracoes/para.js +2 -1
  52. package/declaracoes/para.js.map +1 -1
  53. package/formatadores/formatador-delegua.d.ts.map +1 -1
  54. package/formatadores/formatador-delegua.js +11 -7
  55. package/formatadores/formatador-delegua.js.map +1 -1
  56. package/formatadores/formatador-pitugues.d.ts.map +1 -1
  57. package/formatadores/formatador-pitugues.js +2 -1
  58. package/formatadores/formatador-pitugues.js.map +1 -1
  59. package/interfaces/construtos/construto-interface.d.ts +6 -1
  60. package/interfaces/construtos/construto-interface.d.ts.map +1 -1
  61. package/interfaces/delegua/para-interface.d.ts +7 -0
  62. package/interfaces/delegua/para-interface.d.ts.map +1 -1
  63. package/interfaces/interpretador-interface.d.ts +13 -1
  64. package/interfaces/interpretador-interface.d.ts.map +1 -1
  65. package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts +1 -0
  66. package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts.map +1 -1
  67. package/interpretador/depuracao/interpretador-base-com-depuracao.js +1 -0
  68. package/interpretador/depuracao/interpretador-base-com-depuracao.js.map +1 -1
  69. package/interpretador/depuracao/interpretador-com-depuracao.d.ts +1 -0
  70. package/interpretador/depuracao/interpretador-com-depuracao.d.ts.map +1 -1
  71. package/interpretador/depuracao/interpretador-com-depuracao.js +1 -0
  72. package/interpretador/depuracao/interpretador-com-depuracao.js.map +1 -1
  73. package/interpretador/dialetos/calango/interpretador-calango.d.ts +1 -1
  74. package/interpretador/dialetos/calango/interpretador-calango.d.ts.map +1 -1
  75. package/interpretador/dialetos/calango/interpretador-calango.js +14 -10
  76. package/interpretador/dialetos/calango/interpretador-calango.js.map +1 -1
  77. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
  78. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +3 -3
  79. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  80. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts +1 -1
  81. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -1
  82. package/interpretador/dialetos/pitugues/interpretador-pitugues.js +8 -6
  83. package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
  84. package/interpretador/dialetos/prisma/interpretador-prisma.d.ts +2 -2
  85. package/interpretador/dialetos/prisma/interpretador-prisma.d.ts.map +1 -1
  86. package/interpretador/dialetos/prisma/interpretador-prisma.js +26 -19
  87. package/interpretador/dialetos/prisma/interpretador-prisma.js.map +1 -1
  88. package/interpretador/encadear.d.ts +36 -0
  89. package/interpretador/encadear.d.ts.map +1 -0
  90. package/interpretador/encadear.js +43 -0
  91. package/interpretador/encadear.js.map +1 -0
  92. package/interpretador/estruturas/delegua-funcao.d.ts +25 -0
  93. package/interpretador/estruturas/delegua-funcao.d.ts.map +1 -1
  94. package/interpretador/estruturas/delegua-funcao.js +90 -23
  95. package/interpretador/estruturas/delegua-funcao.js.map +1 -1
  96. package/interpretador/interpretador-base.d.ts +34 -22
  97. package/interpretador/interpretador-base.d.ts.map +1 -1
  98. package/interpretador/interpretador-base.js +630 -557
  99. package/interpretador/interpretador-base.js.map +1 -1
  100. package/interpretador/interpretador.d.ts +8 -11
  101. package/interpretador/interpretador.d.ts.map +1 -1
  102. package/interpretador/interpretador.js +170 -116
  103. package/interpretador/interpretador.js.map +1 -1
  104. package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
  105. package/lexador/dialetos/lexador-pitugues.js +0 -1
  106. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  107. package/lexador/dialetos/lexador-tenda.d.ts.map +1 -1
  108. package/lexador/dialetos/lexador-tenda.js +0 -1
  109. package/lexador/dialetos/lexador-tenda.js.map +1 -1
  110. package/lexador/lexador.d.ts.map +1 -1
  111. package/lexador/lexador.js +0 -1
  112. package/lexador/lexador.js.map +1 -1
  113. package/package.json +3 -2
  114. package/umd/delegua.js +1377 -1105
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-pitugues.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/pitugues/interpretador-pitugues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpretador-pitugues.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/pitugues/interpretador-pitugues.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { Binario, Unario } from '../../../construtos';
7
7
  */
8
8
  export declare class InterpretadorPrisma extends Interpretador implements InterpretadorInterface {
9
9
  constructor(diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
10
- visitarExpressaoUnaria(expressao: Unario): Promise<any>;
11
- visitarExpressaoBinaria(expressao: Binario): Promise<any>;
10
+ visitarExpressaoUnaria(expressao: Unario): any;
11
+ visitarExpressaoBinaria(expressao: Binario): any;
12
12
  }
13
13
  //# sourceMappingURL=interpretador-prisma.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-prisma.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/prisma/interpretador-prisma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,aAAc,YAAW,sBAAsB;gBAEhF,aAAa,EAAE,MAAM,EACrB,WAAW,UAAQ,EACnB,eAAe,GAAE,QAAe,EAChC,yBAAyB,GAAE,QAAe;IAM/B,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAmBvD,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;CAW3E"}
1
+ {"version":3,"file":"interpretador-prisma.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/prisma/interpretador-prisma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGtD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,aAAc,YAAW,sBAAsB;gBAEhF,aAAa,EAAE,MAAM,EACrB,WAAW,UAAQ,EACnB,eAAe,GAAE,QAAe,EAChC,yBAAyB,GAAE,QAAe;IAMrC,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAqB9C,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG;CAe5D"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.InterpretadorPrisma = void 0;
7
7
  const interpretador_1 = require("../../interpretador");
8
8
  const biblioteca_global_1 = __importDefault(require("../../../bibliotecas/dialetos/prisma/biblioteca-global"));
9
+ const encadear_1 = require("../../encadear");
9
10
  /**
10
11
  * Interpretador específico para o dialeto Prisma da linguagem Delégua.
11
12
  * Carrega as funções nativas (embutidos) do Prisma durante a construção.
@@ -15,32 +16,38 @@ class InterpretadorPrisma extends interpretador_1.Interpretador {
15
16
  super(diretorioBase, performance, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
16
17
  (0, biblioteca_global_1.default)(this, this.pilhaEscoposExecucao);
17
18
  }
18
- async visitarExpressaoUnaria(expressao) {
19
+ visitarExpressaoUnaria(expressao) {
19
20
  if (expressao.operador.tipo === 'NAO') {
20
- const operando = await this.avaliar(expressao.operando);
21
- const valor = this.resolverValor(operando);
22
- return !this.eVerdadeiro(valor);
21
+ return (0, encadear_1.encadear)(this.avaliar(expressao.operando), (operando) => {
22
+ const valor = this.resolverValor(operando);
23
+ return !this.eVerdadeiro(valor);
24
+ });
23
25
  }
24
26
  if (expressao.operador.tipo === 'COMPRIMENTO') {
25
- const operando = await this.avaliar(expressao.operando);
26
- const valor = this.resolverValor(operando);
27
- if (typeof valor === 'string')
28
- return valor.length;
29
- if (Array.isArray(valor))
30
- return valor.length;
31
- if (typeof valor === 'object' && valor !== null)
32
- return Object.keys(valor).length;
33
- return 0;
27
+ return (0, encadear_1.encadear)(this.avaliar(expressao.operando), (operando) => {
28
+ const valor = this.resolverValor(operando);
29
+ if (typeof valor === 'string')
30
+ return valor.length;
31
+ if (Array.isArray(valor))
32
+ return valor.length;
33
+ if (typeof valor === 'object' && valor !== null)
34
+ return Object.keys(valor).length;
35
+ return 0;
36
+ });
34
37
  }
35
38
  return super.visitarExpressaoUnaria(expressao);
36
39
  }
37
- async visitarExpressaoBinaria(expressao) {
40
+ visitarExpressaoBinaria(expressao) {
38
41
  if (expressao.operador.tipo === 'CONCATENACAO') {
39
- const esquerda = this.resolverValor(await this.avaliar(expressao.esquerda));
40
- const direita = this.resolverValor(await this.avaliar(expressao.direita));
41
- const esqStr = esquerda !== null && esquerda !== undefined ? String(esquerda) : '';
42
- const dirStr = direita !== null && direita !== undefined ? String(direita) : '';
43
- return esqStr + dirStr;
42
+ return (0, encadear_1.encadear)(this.avaliar(expressao.esquerda), (esquerdaBruta) => {
43
+ const esquerda = this.resolverValor(esquerdaBruta);
44
+ return (0, encadear_1.encadear)(this.avaliar(expressao.direita), (direitaBruta) => {
45
+ const direita = this.resolverValor(direitaBruta);
46
+ const esqStr = esquerda !== null && esquerda !== undefined ? String(esquerda) : '';
47
+ const dirStr = direita !== null && direita !== undefined ? String(direita) : '';
48
+ return esqStr + dirStr;
49
+ });
50
+ });
44
51
  }
45
52
  return super.visitarExpressaoBinaria(expressao);
46
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-prisma.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/prisma/interpretador-prisma.ts"],"names":[],"mappings":";;;;;;AACA,uDAAoD;AACpD,+GAAoG;AAGpG;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,6BAAa;IAClD,YACI,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAA,2BAA8B,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpE,CAAC;IAEQ,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QACnD,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC,MAAM,CAAC;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,MAAM,CAAC;YAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YAClF,OAAO,CAAC,CAAC;QACb,CAAC;QAED,OAAO,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAEQ,KAAK,CAAC,uBAAuB,CAAC,SAAkB;QACrD,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,OAAO,MAAM,GAAG,MAAM,CAAC;QAC3B,CAAC;QAED,OAAO,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACJ;AAzCD,kDAyCC"}
1
+ {"version":3,"file":"interpretador-prisma.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/prisma/interpretador-prisma.ts"],"names":[],"mappings":";;;;;;AACA,uDAAoD;AACpD,+GAAoG;AAEpG,6CAA0C;AAE1C;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,6BAAa;IAClD,YACI,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAA,2BAA8B,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpE,CAAC;IAEQ,sBAAsB,CAAC,SAAiB;QAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACpC,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC5C,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAAE,OAAO,KAAK,CAAC,MAAM,CAAC;gBACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC,MAAM,CAAC;gBAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;oBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;gBAClF,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAEQ,uBAAuB,CAAC,SAAkB;QAC/C,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC7C,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE;gBAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBACnD,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE;oBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oBACjD,MAAM,MAAM,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnF,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChF,OAAO,MAAM,GAAG,MAAM,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACJ;AA/CD,kDA+CC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Encadeia a continuação de uma avaliação que pode ter resultado num valor direto ou numa
3
+ * `Promise` — sem nunca forçar `await` quando não é necessário.
4
+ *
5
+ * A maior parte do interpretador é `async`/`await` mesmo para nós puramente computacionais
6
+ * (aritmética, leitura de variável, literais) que nunca tocam I/O. Isso tem custo real: `await`
7
+ * agenda ao menos uma microtarefa mesmo quando o valor `await`ado já não é uma `Promise` — uma
8
+ * árvore de expressão com profundidade N paga N idas ao laço de microtarefas do V8, não 1.
9
+ *
10
+ * `encadear` permite escrever avaliadores que retornam ou o valor calculado diretamente
11
+ * (síncrono, custo zero de microtarefa) ou uma `Promise` (quando alguma subexpressão realmente
12
+ * precisou de operação assíncrona real — `leia()`, FFI, biblioteca que faz I/O) — nos dois casos
13
+ * de forma transparente para quem consome o resultado com `await` (que sempre funciona, em
14
+ * ambos os casos, só não é gratuito).
15
+ *
16
+ * @example
17
+ * // Em vez de:
18
+ * async function visitarExpressaoBinaria(expressao) {
19
+ * const esquerda = await avaliar(expressao.esquerda);
20
+ * const direita = await avaliar(expressao.direita);
21
+ * return esquerda + direita;
22
+ * }
23
+ * // Escreve-se:
24
+ * function visitarExpressaoBinaria(expressao) {
25
+ * return encadear(avaliar(expressao.esquerda), (esquerda) =>
26
+ * encadear(avaliar(expressao.direita), (direita) => esquerda + direita)
27
+ * );
28
+ * }
29
+ * // Quando `esquerda`/`direita` resolvem de forma síncrona (o caso comum), a cadeia inteira
30
+ * // roda sem nenhuma Promise alocada e sem nenhuma microtarefa agendada.
31
+ *
32
+ * @param valorOuPromise O resultado de uma avaliação anterior — um valor já resolvido, ou uma `Promise`.
33
+ * @param continuacao Recebe o valor já resolvido e produz o próximo passo (valor ou nova `Promise`).
34
+ */
35
+ export declare function encadear<T>(valorOuPromise: any, continuacao: (valor: any) => T): T;
36
+ //# sourceMappingURL=encadear.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encadear.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/encadear.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAIlF"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encadear = encadear;
4
+ /**
5
+ * Encadeia a continuação de uma avaliação que pode ter resultado num valor direto ou numa
6
+ * `Promise` — sem nunca forçar `await` quando não é necessário.
7
+ *
8
+ * A maior parte do interpretador é `async`/`await` mesmo para nós puramente computacionais
9
+ * (aritmética, leitura de variável, literais) que nunca tocam I/O. Isso tem custo real: `await`
10
+ * agenda ao menos uma microtarefa mesmo quando o valor `await`ado já não é uma `Promise` — uma
11
+ * árvore de expressão com profundidade N paga N idas ao laço de microtarefas do V8, não 1.
12
+ *
13
+ * `encadear` permite escrever avaliadores que retornam ou o valor calculado diretamente
14
+ * (síncrono, custo zero de microtarefa) ou uma `Promise` (quando alguma subexpressão realmente
15
+ * precisou de operação assíncrona real — `leia()`, FFI, biblioteca que faz I/O) — nos dois casos
16
+ * de forma transparente para quem consome o resultado com `await` (que sempre funciona, em
17
+ * ambos os casos, só não é gratuito).
18
+ *
19
+ * @example
20
+ * // Em vez de:
21
+ * async function visitarExpressaoBinaria(expressao) {
22
+ * const esquerda = await avaliar(expressao.esquerda);
23
+ * const direita = await avaliar(expressao.direita);
24
+ * return esquerda + direita;
25
+ * }
26
+ * // Escreve-se:
27
+ * function visitarExpressaoBinaria(expressao) {
28
+ * return encadear(avaliar(expressao.esquerda), (esquerda) =>
29
+ * encadear(avaliar(expressao.direita), (direita) => esquerda + direita)
30
+ * );
31
+ * }
32
+ * // Quando `esquerda`/`direita` resolvem de forma síncrona (o caso comum), a cadeia inteira
33
+ * // roda sem nenhuma Promise alocada e sem nenhuma microtarefa agendada.
34
+ *
35
+ * @param valorOuPromise O resultado de uma avaliação anterior — um valor já resolvido, ou uma `Promise`.
36
+ * @param continuacao Recebe o valor já resolvido e produz o próximo passo (valor ou nova `Promise`).
37
+ */
38
+ function encadear(valorOuPromise, continuacao) {
39
+ return valorOuPromise instanceof Promise
40
+ ? valorOuPromise.then(continuacao)
41
+ : continuacao(valorOuPromise);
42
+ }
43
+ //# sourceMappingURL=encadear.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encadear.js","sourceRoot":"","sources":["../../fontes/interpretador/encadear.ts"],"names":[],"mappings":";;AAkCA,4BAIC;AAtCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,SAAgB,QAAQ,CAAI,cAAmB,EAAE,WAA8B;IAC3E,OAAO,cAAc,YAAY,OAAO;QACpC,CAAC,CAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAS;QAC3C,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AACtC,CAAC"}
@@ -5,6 +5,8 @@ import { InterpretadorInterface } from '../../interfaces';
5
5
  import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
6
6
  import { ComentarioComoConstruto, FuncaoConstruto } from '../../construtos';
7
7
  import { ArgumentoInterface } from '../argumento-interface';
8
+ import { PilhaEscoposExecucaoInterface } from '../../interfaces/pilha-escopos-execucao-interface';
9
+ import { EscopoExecucaoInterface } from '../../interfaces/escopo-execucao';
8
10
  /**
9
11
  * Qualquer função declarada em código é uma DeleguaFuncao.
10
12
  */
@@ -16,7 +18,30 @@ export declare class DeleguaFuncao extends Chamavel {
16
18
  documentacao?: ComentarioComoConstruto;
17
19
  /** Classe que declarou este método; usado para calcular a posição no OReM em chamadas a `super()`. */
18
20
  classeDefinidora: DescritorTipoClasse | null;
21
+ /**
22
+ * Retrato (cópia rasa) da pilha de escopos de execução no momento em que esta função
23
+ * foi definida (expressão de função avaliada, ou declaração de função/método processada).
24
+ * É isto que permite fecho léxico (_closures_): quando a função for chamada, ainda que
25
+ * muito depois de o escopo onde foi definida já ter sido desempilhado, `chamar` restaura
26
+ * temporariamente este retrato para que variáveis de fora, capturadas em sua definição,
27
+ * continuem visíveis e compartilhadas entre todas as chamadas.
28
+ * `undefined` quando a função ainda não teve seu escopo de definição capturado (ex.:
29
+ * construída fora de uma execução, como em testes) — nesse caso `chamar` mantém o
30
+ * comportamento anterior de executar sobre a pilha corrente.
31
+ * @see capturarEscopo
32
+ * @see chamar
33
+ */
34
+ escoposCapturados?: EscopoExecucaoInterface[];
19
35
  constructor(nome: string | null, declaracao: FuncaoConstruto, instancia?: any, eInicializador?: boolean);
36
+ /**
37
+ * Fotografa a pilha de escopos de execução corrente como o ambiente léxico desta função.
38
+ * Deve ser chamado uma única vez, no ponto em que a função é definida (expressão de função
39
+ * avaliada, declaração de função ou método processada) — nunca em `funcaoPorMetodoDeClasse`
40
+ * ou `funcaoPorExtensao`, que apenas revinculam `isto` e devem preservar o ambiente original.
41
+ * @param pilhaEscoposExecucao A pilha de escopos no momento da definição.
42
+ * @returns A própria instância, para uso encadeado: `new DeleguaFuncao(...).capturarEscopo(...)`.
43
+ */
44
+ capturarEscopo(pilhaEscoposExecucao: PilhaEscoposExecucaoInterface): this;
20
45
  aridade(): number;
21
46
  /**
22
47
  * Método utilizado por Delégua para representar esta função quando impressa.
@@ -1 +1 @@
1
- {"version":3,"file":"delegua-funcao.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/delegua-funcao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAsB,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAM5D;;GAEG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IACvC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,eAAe,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,sGAAsG;IACtG,gBAAgB,EAAE,mBAAmB,GAAG,IAAI,CAAQ;gBAGhD,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,UAAU,EAAE,eAAe,EAC3B,SAAS,GAAE,GAAe,EAC1B,cAAc,UAAQ;IAS1B,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,SAAS,IAAI,MAAM;IAgCnB;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,4BAA4B;cAiBpB,gBAAgB,CAC5B,SAAS,EAAE,sBAAsB,EACjC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,GACtC,OAAO,CAAC,aAAa,CAAC;IA4EnB,MAAM,CACR,SAAS,EAAE,sBAAsB,EACjC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,GACtC,OAAO,CAAC,GAAG,CAAC;IAqEf,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,GAAG,aAAa;IAYtE,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,aAAa;CAK/C"}
1
+ {"version":3,"file":"delegua-funcao.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/delegua-funcao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAsB,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAuB3E;;GAEG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IACvC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,eAAe,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,sGAAsG;IACtG,gBAAgB,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAEpD;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,EAAE,CAAC;gBAG1C,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,UAAU,EAAE,eAAe,EAC3B,SAAS,GAAE,GAAe,EAC1B,cAAc,UAAQ;IAS1B;;;;;;;OAOG;IACH,cAAc,CAAC,oBAAoB,EAAE,6BAA6B,GAAG,IAAI;IAKzE,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,SAAS,IAAI,MAAM;IAgCnB;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,4BAA4B;cAiBpB,gBAAgB,CAC5B,SAAS,EAAE,sBAAsB,EACjC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,GACtC,OAAO,CAAC,aAAa,CAAC;IAmFnB,MAAM,CACR,SAAS,EAAE,sBAAsB,EACjC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,GACtC,OAAO,CAAC,GAAG,CAAC;IAmGf,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,GAAG,aAAa;IAetE,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,aAAa;CAM/C"}
@@ -8,6 +8,24 @@ const objeto_delegua_classe_1 = require("./objeto-delegua-classe");
8
8
  const declaracoes_1 = require("../../declaracoes");
9
9
  const inferenciador_1 = require("../../inferenciador");
10
10
  const referencia_montao_1 = require("./referencia-montao");
11
+ /**
12
+ * Converte um valor para `BigInt`, seguindo a mesma lógica usada por `longo()`
13
+ * e pela conversão de variáveis com tipo explícito `longo` (ver `converterValor`
14
+ * em `PilhaEscoposExecucao`). Não lança `ErroEmTempoDeExecucao` em caso de
15
+ * texto inválido, apenas deixa `BigInt` lançar seu próprio erro nativo.
16
+ * @param {any} valor O valor a ser convertido.
17
+ * @returns {bigint} O valor convertido para `BigInt`.
18
+ */
19
+ function converterParaLongo(valor) {
20
+ if (typeof valor === 'bigint')
21
+ return valor;
22
+ if (typeof valor === 'number')
23
+ return globalThis.BigInt(Math.floor(valor));
24
+ const strValue = String(valor).trim();
25
+ if (!strValue)
26
+ return globalThis.BigInt(0);
27
+ return globalThis.BigInt(strValue.split('.')[0]);
28
+ }
11
29
  /**
12
30
  * Qualquer função declarada em código é uma DeleguaFuncao.
13
31
  */
@@ -21,6 +39,18 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
21
39
  this.instancia = instancia;
22
40
  this.eInicializador = eInicializador;
23
41
  }
42
+ /**
43
+ * Fotografa a pilha de escopos de execução corrente como o ambiente léxico desta função.
44
+ * Deve ser chamado uma única vez, no ponto em que a função é definida (expressão de função
45
+ * avaliada, declaração de função ou método processada) — nunca em `funcaoPorMetodoDeClasse`
46
+ * ou `funcaoPorExtensao`, que apenas revinculam `isto` e devem preservar o ambiente original.
47
+ * @param pilhaEscoposExecucao A pilha de escopos no momento da definição.
48
+ * @returns A própria instância, para uso encadeado: `new DeleguaFuncao(...).capturarEscopo(...)`.
49
+ */
50
+ capturarEscopo(pilhaEscoposExecucao) {
51
+ this.escoposCapturados = [...pilhaEscoposExecucao.pilha];
52
+ return this;
53
+ }
24
54
  aridade() {
25
55
  return this.declaracao?.parametros?.filter((p) => p.abrangencia !== 'multiplo').length || 0;
26
56
  }
@@ -103,6 +133,12 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
103
133
  else {
104
134
  valorFinal = null;
105
135
  }
136
+ // Parâmetro anotado como `longo` deve receber o argumento como
137
+ // `BigInt`, senão a anotação de tipo é apenas decorativa e a
138
+ // aritmética dentro da função perde precisão (issue #1429).
139
+ if (parametro.tipoDado === 'longo' && valorFinal !== null) {
140
+ valorFinal = converterParaLongo(valorFinal);
141
+ }
106
142
  if (parametro.fixo) {
107
143
  // Vetores e dicionários vivem no montão; `valorFinal` é apenas
108
144
  // o ponteiro (`ReferenciaMontao`). É preciso congelar o valor
@@ -136,36 +172,58 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
136
172
  return ambiente;
137
173
  }
138
174
  async chamar(visitante, argumentos) {
139
- const ambiente = await this.resolverAmbiente(visitante, argumentos);
140
- if (this.instancia !== undefined) {
141
- ambiente.valores['isto'] = {
142
- valor: this.instancia,
143
- tipo: this.instancia instanceof objeto_delegua_classe_1.ObjetoDeleguaClasse
144
- ? 'objeto'
145
- : tipoDeDados(this.instancia),
146
- imutavel: false,
147
- };
148
- if (this.classeDefinidora) {
149
- ambiente.valores['classeExecutora'] = {
150
- valor: this.classeDefinidora,
151
- tipo: 'classe',
152
- imutavel: true,
153
- };
154
- }
155
- }
156
175
  const interpretador = visitante;
157
- interpretador.proximoEscopo = 'funcao';
158
- // Rastrear a classe atual em execução para verificação de acesso.
159
- const classeAnteriorEmExecucao = interpretador.classeAtualEmExecucao;
160
- if (this.instancia instanceof objeto_delegua_classe_1.ObjetoDeleguaClasse) {
161
- interpretador.classeAtualEmExecucao = this.instancia.classe;
162
- }
176
+ const pilhaEscoposExecucao = interpretador.pilhaEscoposExecucao;
177
+ const pilhaDeQuemChamou = pilhaEscoposExecucao.pilha;
178
+ let ambiente;
163
179
  let retornoBloco;
180
+ const classeAnteriorEmExecucao = interpretador.classeAtualEmExecucao;
164
181
  try {
182
+ // Fecho léxico (_closure_): enquanto os parâmetros são resolvidos (valores padrão
183
+ // podem referenciar variáveis do ambiente de definição) e o corpo é executado, a
184
+ // função enxerga a pilha de escopos tal como estava no momento em que foi DEFINIDA,
185
+ // não a pilha dinâmica de quem a está chamando agora. Sem isto, uma função devolvida
186
+ // por outra (ex.: fábrica de contador) perde acesso a tudo que capturou assim que a
187
+ // chamada que a criou retorna e desempilha seu escopo.
188
+ // `escoposCapturados` fica `undefined` para funções construídas fora de uma execução
189
+ // (ex.: alguns testes); nesse caso mantemos o comportamento anterior de executar
190
+ // sobre a pilha corrente.
191
+ // Em modo de depuração, este mecanismo é desligado: o depurador indexa a pilha por
192
+ // posição absoluta e por comprimento (passo a passo, pontos de parada) e depende
193
+ // dela ser um único histórico monotônico da execução real (ver `emModoDepuracao`).
194
+ if (this.escoposCapturados && !interpretador.emModoDepuracao) {
195
+ pilhaEscoposExecucao.pilha = [...this.escoposCapturados];
196
+ }
197
+ ambiente = await this.resolverAmbiente(visitante, argumentos);
198
+ if (this.instancia !== undefined) {
199
+ ambiente.valores['isto'] = {
200
+ valor: this.instancia,
201
+ tipo: this.instancia instanceof objeto_delegua_classe_1.ObjetoDeleguaClasse
202
+ ? 'objeto'
203
+ : tipoDeDados(this.instancia),
204
+ imutavel: false,
205
+ };
206
+ if (this.classeDefinidora) {
207
+ ambiente.valores['classeExecutora'] = {
208
+ valor: this.classeDefinidora,
209
+ tipo: 'classe',
210
+ imutavel: true,
211
+ };
212
+ }
213
+ }
214
+ interpretador.proximoEscopo = 'funcao';
215
+ // Rastrear a classe atual em execução para verificação de acesso.
216
+ if (this.instancia instanceof objeto_delegua_classe_1.ObjetoDeleguaClasse) {
217
+ interpretador.classeAtualEmExecucao = this.instancia.classe;
218
+ }
165
219
  retornoBloco = await interpretador.executarBloco(this.declaracao.corpo, ambiente);
166
220
  }
167
221
  finally {
168
222
  interpretador.classeAtualEmExecucao = classeAnteriorEmExecucao;
223
+ // Restaura a pilha de quem chamou ANTES de qualquer lógica abaixo (propagação de
224
+ // parâmetros de referência, valor de retorno): essas etapas devem enxergar o
225
+ // ambiente dinâmico de quem chamou, não o léxico capturado da função chamada.
226
+ pilhaEscoposExecucao.pilha = pilhaDeQuemChamou;
169
227
  }
170
228
  const referencias = this.declaracao.parametros
171
229
  .map((p, indice) => {
@@ -183,6 +241,11 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
183
241
  pilha.definirVariavel(referencia.parametro.nome.lexema, argumentoReferencia.valor);
184
242
  }
185
243
  if (retornoBloco instanceof quebras_1.RetornoQuebra) {
244
+ // Tipo de retorno `longo` também deve coagir o valor devolvido,
245
+ // pelo mesmo motivo do parâmetro (issue #1429).
246
+ if (this.declaracao.tipo === 'longo' && retornoBloco.valor !== null) {
247
+ return converterParaLongo(retornoBloco.valor);
248
+ }
186
249
  return retornoBloco.valor;
187
250
  }
188
251
  if (this.eInicializador) {
@@ -194,11 +257,15 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
194
257
  const funcao = new DeleguaFuncao(this.nome, this.declaracao, instancia, this.eInicializador);
195
258
  funcao.documentacao = this.documentacao;
196
259
  funcao.classeDefinidora = this.classeDefinidora;
260
+ // Revincula `isto`, mas a posição léxica da função continua sendo onde o método
261
+ // foi originalmente declarado — preserva o ambiente capturado, não recaptura.
262
+ funcao.escoposCapturados = this.escoposCapturados;
197
263
  return funcao;
198
264
  }
199
265
  funcaoPorExtensao(valor) {
200
266
  const funcao = new DeleguaFuncao(this.nome, this.declaracao, valor, false);
201
267
  funcao.documentacao = this.documentacao;
268
+ funcao.escoposCapturados = this.escoposCapturados;
202
269
  return funcao;
203
270
  }
204
271
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/delegua-funcao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/delegua-funcao.ts"],"names":[],"mappings":"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"}