@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.
- package/avaliador-sintatico/avaliador-sintatico.d.ts +1 -0
- package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +15 -6
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +0 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +0 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
- package/bibliotecas/biblioteca-global.js +1 -1
- package/bibliotecas/biblioteca-global.js.map +1 -1
- package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
- package/bibliotecas/primitivas-vetor.js +2 -1
- package/bibliotecas/primitivas-vetor.js.map +1 -1
- package/bin/package.json +3 -2
- package/construtos/agrupamento.d.ts +1 -1
- package/construtos/agrupamento.d.ts.map +1 -1
- package/construtos/agrupamento.js +2 -2
- package/construtos/agrupamento.js.map +1 -1
- package/construtos/atribuir.d.ts +1 -1
- package/construtos/atribuir.d.ts.map +1 -1
- package/construtos/atribuir.js +2 -2
- package/construtos/atribuir.js.map +1 -1
- package/construtos/binario.d.ts +1 -1
- package/construtos/binario.d.ts.map +1 -1
- package/construtos/binario.js +2 -2
- package/construtos/binario.js.map +1 -1
- package/construtos/literal.d.ts +1 -1
- package/construtos/literal.d.ts.map +1 -1
- package/construtos/literal.js +2 -2
- package/construtos/literal.js.map +1 -1
- package/construtos/logico.d.ts +1 -1
- package/construtos/logico.d.ts.map +1 -1
- package/construtos/logico.js +2 -2
- package/construtos/logico.js.map +1 -1
- package/construtos/para-como-construto.d.ts +2 -1
- package/construtos/para-como-construto.d.ts.map +1 -1
- package/construtos/para-como-construto.js +2 -1
- package/construtos/para-como-construto.js.map +1 -1
- package/construtos/unario.d.ts +1 -1
- package/construtos/unario.d.ts.map +1 -1
- package/construtos/unario.js +2 -2
- package/construtos/unario.js.map +1 -1
- package/construtos/variavel.d.ts +2 -2
- package/construtos/variavel.d.ts.map +1 -1
- package/construtos/variavel.js +2 -2
- package/construtos/variavel.js.map +1 -1
- package/declaracoes/para.d.ts +2 -1
- package/declaracoes/para.d.ts.map +1 -1
- package/declaracoes/para.js +2 -1
- package/declaracoes/para.js.map +1 -1
- package/formatadores/formatador-delegua.d.ts.map +1 -1
- package/formatadores/formatador-delegua.js +11 -7
- package/formatadores/formatador-delegua.js.map +1 -1
- package/formatadores/formatador-pitugues.d.ts.map +1 -1
- package/formatadores/formatador-pitugues.js +2 -1
- package/formatadores/formatador-pitugues.js.map +1 -1
- package/interfaces/construtos/construto-interface.d.ts +6 -1
- package/interfaces/construtos/construto-interface.d.ts.map +1 -1
- package/interfaces/delegua/para-interface.d.ts +7 -0
- package/interfaces/delegua/para-interface.d.ts.map +1 -1
- package/interfaces/interpretador-interface.d.ts +13 -1
- package/interfaces/interpretador-interface.d.ts.map +1 -1
- package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts +1 -0
- package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts.map +1 -1
- package/interpretador/depuracao/interpretador-base-com-depuracao.js +1 -0
- package/interpretador/depuracao/interpretador-base-com-depuracao.js.map +1 -1
- package/interpretador/depuracao/interpretador-com-depuracao.d.ts +1 -0
- package/interpretador/depuracao/interpretador-com-depuracao.d.ts.map +1 -1
- package/interpretador/depuracao/interpretador-com-depuracao.js +1 -0
- package/interpretador/depuracao/interpretador-com-depuracao.js.map +1 -1
- package/interpretador/dialetos/calango/interpretador-calango.d.ts +1 -1
- package/interpretador/dialetos/calango/interpretador-calango.d.ts.map +1 -1
- package/interpretador/dialetos/calango/interpretador-calango.js +14 -10
- package/interpretador/dialetos/calango/interpretador-calango.js.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +3 -3
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts +1 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues.js +8 -6
- package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
- package/interpretador/dialetos/prisma/interpretador-prisma.d.ts +2 -2
- package/interpretador/dialetos/prisma/interpretador-prisma.d.ts.map +1 -1
- package/interpretador/dialetos/prisma/interpretador-prisma.js +26 -19
- package/interpretador/dialetos/prisma/interpretador-prisma.js.map +1 -1
- package/interpretador/encadear.d.ts +36 -0
- package/interpretador/encadear.d.ts.map +1 -0
- package/interpretador/encadear.js +43 -0
- package/interpretador/encadear.js.map +1 -0
- package/interpretador/estruturas/delegua-funcao.d.ts +25 -0
- package/interpretador/estruturas/delegua-funcao.d.ts.map +1 -1
- package/interpretador/estruturas/delegua-funcao.js +90 -23
- package/interpretador/estruturas/delegua-funcao.js.map +1 -1
- package/interpretador/interpretador-base.d.ts +34 -22
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +630 -557
- package/interpretador/interpretador-base.js.map +1 -1
- package/interpretador/interpretador.d.ts +8 -11
- package/interpretador/interpretador.d.ts.map +1 -1
- package/interpretador/interpretador.js +170 -116
- package/interpretador/interpretador.js.map +1 -1
- package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
- package/lexador/dialetos/lexador-pitugues.js +0 -1
- package/lexador/dialetos/lexador-pitugues.js.map +1 -1
- package/lexador/dialetos/lexador-tenda.d.ts.map +1 -1
- package/lexador/dialetos/lexador-tenda.js +0 -1
- package/lexador/dialetos/lexador-tenda.js.map +1 -1
- package/lexador/lexador.d.ts.map +1 -1
- package/lexador/lexador.js +0 -1
- package/lexador/lexador.js.map +1 -1
- package/package.json +3 -2
- 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):
|
|
11
|
-
visitarExpressaoBinaria(expressao: Binario):
|
|
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;
|
|
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
|
-
|
|
19
|
+
visitarExpressaoUnaria(expressao) {
|
|
19
20
|
if (expressao.operador.tipo === 'NAO') {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
40
|
+
visitarExpressaoBinaria(expressao) {
|
|
38
41
|
if (expressao.operador.tipo === 'CONCATENACAO') {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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;
|
|
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;
|
|
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
|
-
|
|
158
|
-
|
|
159
|
-
|
|
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":";;;AAAA,yCAAsC;AACtC,sDAAkD;AAIlD,2CAA8C;AAC9C,mEAA8D;
|
|
1
|
+
{"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/delegua-funcao.ts"],"names":[],"mappings":"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"}
|