@designliquido/delegua 1.0.0 → 1.2.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/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +0 -3
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico-base.d.ts +5 -0
- package/avaliador-sintatico/avaliador-sintatico-base.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico-base.js +20 -0
- package/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts +11 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +38 -6
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/comum.d.ts.map +1 -1
- package/avaliador-sintatico/comum.js +4 -2
- package/avaliador-sintatico/comum.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +2 -2
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +11 -2
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.d.ts +0 -47
- package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.d.ts.map +1 -1
- package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.js +0 -135
- package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.js.map +1 -1
- package/bibliotecas/biblioteca-global.d.ts +21 -0
- package/bibliotecas/biblioteca-global.d.ts.map +1 -1
- package/bibliotecas/biblioteca-global.js +147 -0
- package/bibliotecas/biblioteca-global.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts +21 -0
- package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/biblioteca-global.js +147 -0
- package/bibliotecas/dialetos/pitugues/biblioteca-global.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-dicionario.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-dicionario.js +5 -5
- package/bibliotecas/dialetos/pitugues/primitivas-dicionario.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-numero.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-numero.js +4 -4
- package/bibliotecas/dialetos/pitugues/primitivas-numero.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-texto.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-texto.js +18 -18
- package/bibliotecas/dialetos/pitugues/primitivas-texto.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-tupla.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-tupla.js +2 -2
- package/bibliotecas/dialetos/pitugues/primitivas-tupla.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-vetor.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-vetor.js +18 -38
- package/bibliotecas/dialetos/pitugues/primitivas-vetor.js.map +1 -1
- package/bibliotecas/primitivas-dicionario.d.ts.map +1 -1
- package/bibliotecas/primitivas-dicionario.js +5 -5
- package/bibliotecas/primitivas-dicionario.js.map +1 -1
- package/bibliotecas/primitivas-numero.d.ts.map +1 -1
- package/bibliotecas/primitivas-numero.js +4 -4
- package/bibliotecas/primitivas-numero.js.map +1 -1
- package/bibliotecas/primitivas-texto.d.ts +1 -1
- package/bibliotecas/primitivas-texto.d.ts.map +1 -1
- package/bibliotecas/primitivas-texto.js +21 -21
- package/bibliotecas/primitivas-texto.js.map +1 -1
- package/bibliotecas/primitivas-tupla.d.ts.map +1 -1
- package/bibliotecas/primitivas-tupla.js +2 -2
- package/bibliotecas/primitivas-tupla.js.map +1 -1
- package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
- package/bibliotecas/primitivas-vetor.js +19 -39
- package/bibliotecas/primitivas-vetor.js.map +1 -1
- package/bin/package.json +1 -1
- package/declaracoes/ajuda.d.ts +2 -0
- package/declaracoes/ajuda.d.ts.map +1 -1
- package/declaracoes/ajuda.js +3 -0
- package/declaracoes/ajuda.js.map +1 -1
- package/formatadores/formatador-pitugues.d.ts +1 -0
- package/formatadores/formatador-pitugues.d.ts.map +1 -1
- package/formatadores/formatador-pitugues.js +3 -1
- package/formatadores/formatador-pitugues.js.map +1 -1
- package/interpretador/comum.d.ts +1 -0
- package/interpretador/comum.d.ts.map +1 -1
- package/interpretador/comum.js +21 -0
- package/interpretador/comum.js.map +1 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts +1 -2
- package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues.js +0 -38
- package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
- package/interpretador/estruturas/metodo-primitiva.d.ts +2 -2
- package/interpretador/estruturas/metodo-primitiva.js +4 -4
- package/interpretador/estruturas/metodo-primitiva.js.map +1 -1
- package/interpretador/interpretador-base.d.ts +15 -0
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +190 -7
- package/interpretador/interpretador-base.js.map +1 -1
- package/interpretador/interpretador.d.ts +5 -2
- package/interpretador/interpretador.d.ts.map +1 -1
- package/interpretador/interpretador.js +67 -33
- package/interpretador/interpretador.js.map +1 -1
- package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
- package/lexador/dialetos/lexador-pitugues.js +36 -1
- package/lexador/dialetos/lexador-pitugues.js.map +1 -1
- package/package.json +1 -1
- package/tradutores/index.d.ts +1 -0
- package/tradutores/index.d.ts.map +1 -1
- package/tradutores/index.js +1 -0
- package/tradutores/index.js.map +1 -1
- package/tradutores/mermaid/index.d.ts +1 -1
- package/tradutores/mermaid/index.js +1 -1
- package/tradutores/mermaid/subgrafo-classe.d.ts +7 -5
- package/tradutores/mermaid/subgrafo-classe.d.ts.map +1 -1
- package/tradutores/mermaid/subgrafo-classe.js +18 -18
- package/tradutores/mermaid/subgrafo-classe.js.map +1 -1
- package/tradutores/mermaid/subgrafo-metodo.d.ts +13 -0
- package/tradutores/mermaid/subgrafo-metodo.d.ts.map +1 -0
- package/tradutores/mermaid/subgrafo-metodo.js +16 -0
- package/tradutores/mermaid/subgrafo-metodo.js.map +1 -0
- package/tradutores/tradutor-mermaidjs.d.ts +15 -6
- package/tradutores/tradutor-mermaidjs.d.ts.map +1 -1
- package/tradutores/tradutor-mermaidjs.js +145 -52
- package/tradutores/tradutor-mermaidjs.js.map +1 -1
- package/tradutores/tradutor-python.d.ts +11 -0
- package/tradutores/tradutor-python.d.ts.map +1 -1
- package/tradutores/tradutor-python.js +32 -2
- package/tradutores/tradutor-python.js.map +1 -1
- package/tradutores/tradutor-reverso-javascript.d.ts.map +1 -1
- package/tradutores/tradutor-reverso-javascript.js +0 -2
- package/tradutores/tradutor-reverso-javascript.js.map +1 -1
- package/tradutores/tradutor-ruby.d.ts +101 -0
- package/tradutores/tradutor-ruby.d.ts.map +1 -0
- package/tradutores/tradutor-ruby.js +687 -0
- package/tradutores/tradutor-ruby.js.map +1 -0
- package/umd/delegua.js +1738 -477
- package/tradutores/mermaid/diagrama-classe.d.ts +0 -16
- package/tradutores/mermaid/diagrama-classe.d.ts.map +0 -1
- package/tradutores/mermaid/diagrama-classe.js +0 -33
- package/tradutores/mermaid/diagrama-classe.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,
|
|
1
|
+
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, AcessoIntervaloVariavel, TuplaN, Atribuir, AtribuicaoPorIndice, AcessoIndiceVariavel
|
|
1
|
+
import { AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, AcessoIntervaloVariavel, TuplaN, Atribuir, AtribuicaoPorIndice, AcessoIndiceVariavel } from "../../../construtos";
|
|
2
2
|
import { Interpretador } from "../../interpretador";
|
|
3
3
|
export declare class InterpretadorPitugues extends Interpretador {
|
|
4
|
-
visitarExpressaoUnaria(expressao: Unario): Promise<any>;
|
|
5
4
|
visitarExpressaoAcessoMetodo(expressao: AcessoMetodo): Promise<any>;
|
|
6
5
|
visitarExpressaoAcessoMetodoOuPropriedade(expressao: AcessoMetodoOuPropriedade): Promise<any>;
|
|
7
6
|
visitarExpressaoAcessoPropriedade(expressao: AcessoPropriedade): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-pitugues.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/pitugues/interpretador-pitugues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,EACN,QAAQ,EAER,mBAAmB,EACnB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"interpretador-pitugues.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/pitugues/interpretador-pitugues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,EACN,QAAQ,EAER,mBAAmB,EACnB,oBAAoB,EAGvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD,qBAAa,qBAAsB,SAAQ,aAAa;IACrC,4BAA4B,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAInE,yCAAyC,CAAC,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7F,iCAAiC,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7E,uCAAuC,CAAC,SAAS,EAAE,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlG,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,4BAA4B,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAItD,mCAAmC,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC;IAejF,oCAAoC,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;CA0BrG"}
|
|
@@ -32,51 +32,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
36
|
exports.InterpretadorPitugues = void 0;
|
|
40
37
|
const construtos_1 = require("../../../construtos");
|
|
41
38
|
const interpretador_1 = require("../../interpretador");
|
|
42
39
|
const excecoes_1 = require("../../../excecoes");
|
|
43
|
-
const pitugues_1 = __importDefault(require("../../../tipos-de-simbolos/pitugues"));
|
|
44
40
|
const comum = __importStar(require("./comum"));
|
|
45
41
|
class InterpretadorPitugues extends interpretador_1.Interpretador {
|
|
46
|
-
async visitarExpressaoUnaria(expressao) {
|
|
47
|
-
// Tratamento especial para expressões unárias aplicadas a chamadas de método em literais numéricos.
|
|
48
|
-
// Por exemplo: -5.absoluto() deve ser avaliado como (-5).absoluto(), não como -(5.absoluto())
|
|
49
|
-
// Isso garante que o operador unário seja aplicado ao literal antes de chamar o método.
|
|
50
|
-
if ((expressao.operador.tipo === pitugues_1.default.SUBTRACAO || expressao.operador.tipo === pitugues_1.default.ADICAO) &&
|
|
51
|
-
expressao.operando instanceof construtos_1.Chamada) {
|
|
52
|
-
const entidadeChamada = expressao.operando.entidadeChamada;
|
|
53
|
-
// Verifica se é AcessoMetodo ou AcessoMetodoOuPropriedade
|
|
54
|
-
if (entidadeChamada instanceof construtos_1.AcessoMetodo || entidadeChamada instanceof construtos_1.AcessoMetodoOuPropriedade) {
|
|
55
|
-
const objetoAcesso = entidadeChamada.objeto;
|
|
56
|
-
// Verifica se o objeto do método é um literal numérico
|
|
57
|
-
if (objetoAcesso instanceof construtos_1.Literal && typeof objetoAcesso.valor === 'number') {
|
|
58
|
-
// Cria um novo literal com o sinal aplicado
|
|
59
|
-
const novoLiteral = new construtos_1.Literal(objetoAcesso.hashArquivo, objetoAcesso.linha, expressao.operador.tipo === pitugues_1.default.SUBTRACAO ?
|
|
60
|
-
-objetoAcesso.valor :
|
|
61
|
-
+objetoAcesso.valor);
|
|
62
|
-
// Cria um novo acesso com o literal modificado
|
|
63
|
-
let novoAcesso;
|
|
64
|
-
if (entidadeChamada instanceof construtos_1.AcessoMetodo) {
|
|
65
|
-
novoAcesso = new construtos_1.AcessoMetodo(entidadeChamada.hashArquivo, novoLiteral, entidadeChamada.nomeMetodo, entidadeChamada.tipoRetornoMetodo);
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
novoAcesso = new construtos_1.AcessoMetodoOuPropriedade(entidadeChamada.hashArquivo, novoLiteral, entidadeChamada.simbolo);
|
|
69
|
-
}
|
|
70
|
-
// Cria uma nova Chamada com o acesso modificado
|
|
71
|
-
const novaChamada = new construtos_1.Chamada(expressao.operando.hashArquivo, novoAcesso, expressao.operando.argumentos);
|
|
72
|
-
// Avalia a nova chamada
|
|
73
|
-
return await this.avaliar(novaChamada);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
// Para outros casos, usa o comportamento padrão
|
|
78
|
-
return await super.visitarExpressaoUnaria(expressao);
|
|
79
|
-
}
|
|
80
42
|
async visitarExpressaoAcessoMetodo(expressao) {
|
|
81
43
|
return comum.visitarExpressaoAcessoMetodo(this, expressao);
|
|
82
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-pitugues.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/pitugues/interpretador-pitugues.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interpretador-pitugues.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/pitugues/interpretador-pitugues.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ import { Chamavel } from './chamavel';
|
|
|
7
7
|
* - `v.inclui(1)` (`v` é um vetor)
|
|
8
8
|
* - `t.minusculo()` (`t` é um texto)
|
|
9
9
|
*
|
|
10
|
-
* A aridade é sempre a quantidade de argumentos do método menos
|
|
11
|
-
*
|
|
10
|
+
* A aridade é sempre a quantidade de argumentos do método menos dois porque os
|
|
11
|
+
* dois primeiros parâmetros são sempre o interpretador e a referência para a primitiva.
|
|
12
12
|
*/
|
|
13
13
|
export declare class MetodoPrimitiva extends Chamavel {
|
|
14
14
|
nome: string;
|
|
@@ -9,8 +9,8 @@ const chamavel_1 = require("./chamavel");
|
|
|
9
9
|
* - `v.inclui(1)` (`v` é um vetor)
|
|
10
10
|
* - `t.minusculo()` (`t` é um texto)
|
|
11
11
|
*
|
|
12
|
-
* A aridade é sempre a quantidade de argumentos do método menos
|
|
13
|
-
*
|
|
12
|
+
* A aridade é sempre a quantidade de argumentos do método menos dois porque os
|
|
13
|
+
* dois primeiros parâmetros são sempre o interpretador e a referência para a primitiva.
|
|
14
14
|
*/
|
|
15
15
|
class MetodoPrimitiva extends chamavel_1.Chamavel {
|
|
16
16
|
constructor(nome, primitiva, metodo, nomeMetodo, tipo = 'qualquer') {
|
|
@@ -21,10 +21,10 @@ class MetodoPrimitiva extends chamavel_1.Chamavel {
|
|
|
21
21
|
this.metodo = metodo;
|
|
22
22
|
this.nomeMetodo = nomeMetodo;
|
|
23
23
|
this.tipo = tipo;
|
|
24
|
-
this.valorAridade = metodo.length -
|
|
24
|
+
this.valorAridade = metodo.length - 2;
|
|
25
25
|
}
|
|
26
26
|
async chamar(interpretador, argumentos = []) {
|
|
27
|
-
return await this.metodo(interpretador, this.
|
|
27
|
+
return await this.metodo(interpretador, this.primitiva, ...argumentos);
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Método utilizado por Delégua para inspecionar este método em depuração.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metodo-primitiva.js","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/metodo-primitiva.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AAEtC;;;;;;;;;GASG;AACH,MAAa,eAAgB,SAAQ,mBAAQ;IAOzC,YAAY,IAAY,EAAE,SAAc,EAAE,MAAgB,EAAE,UAAkB,EAAE,OAAe,UAAU;QACrG,KAAK,EAAE,CAAC;QAHZ,SAAI,GAAW,UAAU,CAAC;QAItB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAqC,EAAE,aAAoB,EAAE;QACtE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"metodo-primitiva.js","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/metodo-primitiva.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AAEtC;;;;;;;;;GASG;AACH,MAAa,eAAgB,SAAQ,mBAAQ;IAOzC,YAAY,IAAY,EAAE,SAAc,EAAE,MAAgB,EAAE,UAAkB,EAAE,OAAe,UAAU;QACrG,KAAK,EAAE,CAAC;QAHZ,SAAI,GAAW,UAAU,CAAC;QAItB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAqC,EAAE,aAAoB,EAAE;QACtE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACH,SAAS;QACL,OAAO,gBAAgB,IAAI,CAAC,UAAU,cAAc,IAAI,CAAC,IAAI,sBAAsB,IAAI,CAAC,IAAI,KAAK,CAAC;IACtG,CAAC;IAED;;;OAGG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;CACJ;AApCD,0CAoCC"}
|
|
@@ -54,6 +54,13 @@ export declare class InterpretadorBase implements InterpretadorInterface {
|
|
|
54
54
|
*/
|
|
55
55
|
protected resolverNomeObjectoAcessado(objetoAcessado: Construto): string;
|
|
56
56
|
resolverValor(objeto: any): any;
|
|
57
|
+
/**
|
|
58
|
+
* Resolve valores recursivamente, incluindo valores aninhados em arrays e dicionários.
|
|
59
|
+
* Remove metadados que não devem ser serializados.
|
|
60
|
+
* @param objeto O objeto a ser resolvido
|
|
61
|
+
* @returns O valor resolvido sem metadados
|
|
62
|
+
*/
|
|
63
|
+
protected resolverValorRecursivo(objeto: any): any;
|
|
57
64
|
visitarExpressaoArgumentoReferenciaFuncao(expressao: ArgumentoReferenciaFuncao): Promise<any> | void;
|
|
58
65
|
visitarExpressaoReferenciaFuncao(expressao: ReferenciaFuncao): Promise<any> | void;
|
|
59
66
|
visitarExpressaoAcessoMetodo(expressao: AcessoMetodo): Promise<any> | void;
|
|
@@ -271,6 +278,14 @@ export declare class InterpretadorBase implements InterpretadorInterface {
|
|
|
271
278
|
* @returns Sempre retorna nulo.
|
|
272
279
|
*/
|
|
273
280
|
visitarDeclaracaoVarMultiplo(declaracao: VarMultiplo): Promise<any>;
|
|
281
|
+
/**
|
|
282
|
+
* Formata uma string usando o operador % (similar ao Python).
|
|
283
|
+
* @param formato A string de formato com especificadores (ex: "Olá %s").
|
|
284
|
+
* @param valores Os valores para substituir (pode ser um único valor ou uma tupla/vetor).
|
|
285
|
+
* @param operador O símbolo do operador para mensagens de erro.
|
|
286
|
+
* @returns A string formatada.
|
|
287
|
+
*/
|
|
288
|
+
private formatarStringComOperadorPorcentagem;
|
|
274
289
|
paraTexto(objeto: any): string;
|
|
275
290
|
/**
|
|
276
291
|
* Efetivamente executa uma declaração.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-base.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-base.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interpretador-base.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -123,6 +123,39 @@ class InterpretadorBase {
|
|
|
123
123
|
}
|
|
124
124
|
return objeto;
|
|
125
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Resolve valores recursivamente, incluindo valores aninhados em arrays e dicionários.
|
|
128
|
+
* Remove metadados que não devem ser serializados.
|
|
129
|
+
* @param objeto O objeto a ser resolvido
|
|
130
|
+
* @returns O valor resolvido sem metadados
|
|
131
|
+
*/
|
|
132
|
+
resolverValorRecursivo(objeto) {
|
|
133
|
+
// Null, undefined, ou tipos primitivos
|
|
134
|
+
if (objeto === null || objeto === undefined || typeof objeto !== 'object') {
|
|
135
|
+
return objeto;
|
|
136
|
+
}
|
|
137
|
+
// Resolve metadados primeiro (valorRetornado ou valor)
|
|
138
|
+
if (objeto.hasOwnProperty && objeto.hasOwnProperty('valorRetornado')) {
|
|
139
|
+
return this.resolverValorRecursivo(objeto.valorRetornado);
|
|
140
|
+
}
|
|
141
|
+
if (objeto.hasOwnProperty && objeto.hasOwnProperty('valor')) {
|
|
142
|
+
return this.resolverValorRecursivo(objeto.valor);
|
|
143
|
+
}
|
|
144
|
+
// Se é array, resolve recursivamente todos os elementos
|
|
145
|
+
if (Array.isArray(objeto)) {
|
|
146
|
+
return objeto.map(elemento => this.resolverValorRecursivo(elemento));
|
|
147
|
+
}
|
|
148
|
+
// Se é objeto plano, resolve recursivamente todas as propriedades
|
|
149
|
+
if (objeto && objeto.constructor && objeto.constructor === Object) {
|
|
150
|
+
const objetoResolvido = {};
|
|
151
|
+
for (const chave in objeto) {
|
|
152
|
+
objetoResolvido[chave] = this.resolverValorRecursivo(objeto[chave]);
|
|
153
|
+
}
|
|
154
|
+
return objetoResolvido;
|
|
155
|
+
}
|
|
156
|
+
// Outros tipos de objetos (Date, classes customizadas, etc.)
|
|
157
|
+
return objeto;
|
|
158
|
+
}
|
|
126
159
|
visitarExpressaoArgumentoReferenciaFuncao(expressao) {
|
|
127
160
|
throw new Error('Método não implementado.');
|
|
128
161
|
}
|
|
@@ -164,11 +197,17 @@ class InterpretadorBase {
|
|
|
164
197
|
throw new Error('Método não implementado.');
|
|
165
198
|
}
|
|
166
199
|
async visitarExpressaoTupla(expressao) {
|
|
167
|
-
|
|
200
|
+
// Lista de propriedades válidas para tuplas (ignorar propriedades de controle)
|
|
201
|
+
const propriedadesValidas = [
|
|
202
|
+
'primeiro', 'segundo', 'terceiro', 'quarto', 'quinto',
|
|
203
|
+
'sexto', 'sétimo', 'setimo', 'oitavo', 'nono', 'décimo', 'decimo'
|
|
204
|
+
];
|
|
168
205
|
const valores = [];
|
|
169
|
-
for (let
|
|
170
|
-
|
|
171
|
-
|
|
206
|
+
for (let propriedade of propriedadesValidas) {
|
|
207
|
+
if (expressao.hasOwnProperty(propriedade) && expressao[propriedade] !== undefined) {
|
|
208
|
+
const valor = await this.avaliar(expressao[propriedade]);
|
|
209
|
+
valores.push(valor);
|
|
210
|
+
}
|
|
172
211
|
}
|
|
173
212
|
return valores;
|
|
174
213
|
}
|
|
@@ -540,6 +579,12 @@ class InterpretadorBase {
|
|
|
540
579
|
return Number(valorEsquerdo) * Number(valorDireito);
|
|
541
580
|
case delegua_1.default.MODULO:
|
|
542
581
|
case delegua_1.default.MODULO_IGUAL:
|
|
582
|
+
// Se o operando esquerdo é uma string, usar formatação de string
|
|
583
|
+
if (tipoEsquerdo === delegua_2.default.TEXTO || typeof valorEsquerdo === 'string') {
|
|
584
|
+
return this.formatarStringComOperadorPorcentagem(String(valorEsquerdo), direita, // Passar 'direita' ao invés de 'valorDireito' para preservar arrays de tuplas
|
|
585
|
+
expressao.operador);
|
|
586
|
+
}
|
|
587
|
+
// Caso contrário, operação matemática normal
|
|
543
588
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
544
589
|
return Number(valorEsquerdo) % Number(valorDireito);
|
|
545
590
|
case delegua_1.default.BIT_AND:
|
|
@@ -1403,7 +1448,7 @@ class InterpretadorBase {
|
|
|
1403
1448
|
]);
|
|
1404
1449
|
if (typeof promises[0] === 'boolean') {
|
|
1405
1450
|
const chaveLogico = promises[0] === true ? 'verdadeiro' : 'falso';
|
|
1406
|
-
dicionario[chaveLogico] = promises[1];
|
|
1451
|
+
dicionario[chaveLogico] = this.resolverValor(promises[1]);
|
|
1407
1452
|
continue;
|
|
1408
1453
|
}
|
|
1409
1454
|
dicionario[promises[0]] = this.resolverValor(promises[1]);
|
|
@@ -1414,7 +1459,7 @@ class InterpretadorBase {
|
|
|
1414
1459
|
async visitarExpressaoVetor(expressao) {
|
|
1415
1460
|
const valores = [];
|
|
1416
1461
|
for (let i = 0; i < expressao.valores.length; i++) {
|
|
1417
|
-
valores.push(await this.avaliar(expressao.valores[i]));
|
|
1462
|
+
valores.push(this.resolverValor(await this.avaliar(expressao.valores[i])));
|
|
1418
1463
|
}
|
|
1419
1464
|
return valores.filter((v) => v !== null && v !== undefined);
|
|
1420
1465
|
}
|
|
@@ -1455,6 +1500,143 @@ class InterpretadorBase {
|
|
|
1455
1500
|
}
|
|
1456
1501
|
return null;
|
|
1457
1502
|
}
|
|
1503
|
+
/**
|
|
1504
|
+
* Formata uma string usando o operador % (similar ao Python).
|
|
1505
|
+
* @param formato A string de formato com especificadores (ex: "Olá %s").
|
|
1506
|
+
* @param valores Os valores para substituir (pode ser um único valor ou uma tupla/vetor).
|
|
1507
|
+
* @param operador O símbolo do operador para mensagens de erro.
|
|
1508
|
+
* @returns A string formatada.
|
|
1509
|
+
*/
|
|
1510
|
+
formatarStringComOperadorPorcentagem(formato, valores, operador) {
|
|
1511
|
+
let valoresArray;
|
|
1512
|
+
// Verificar se é uma TuplaN (verifica instanceof OU propriedade elementos/tipo para maior compatibilidade)
|
|
1513
|
+
if (valores instanceof construtos_1.TuplaN ||
|
|
1514
|
+
(valores && valores.tipo === 'tupla' && valores.elementos && Array.isArray(valores.elementos))) {
|
|
1515
|
+
valoresArray = valores.elementos.map((elem) => {
|
|
1516
|
+
if (elem instanceof construtos_1.Literal || (elem && typeof elem === 'object' && elem.hasOwnProperty('valor'))) {
|
|
1517
|
+
return this.resolverValor(elem.valor);
|
|
1518
|
+
}
|
|
1519
|
+
return this.resolverValor(elem);
|
|
1520
|
+
});
|
|
1521
|
+
}
|
|
1522
|
+
else if (Array.isArray(valores)) {
|
|
1523
|
+
valoresArray = valores.map(v => this.resolverValor(v));
|
|
1524
|
+
}
|
|
1525
|
+
else {
|
|
1526
|
+
const valorResolvido = this.resolverValor(valores);
|
|
1527
|
+
if (Array.isArray(valorResolvido)) {
|
|
1528
|
+
valoresArray = valorResolvido.map(v => this.resolverValor(v));
|
|
1529
|
+
}
|
|
1530
|
+
else {
|
|
1531
|
+
valoresArray = [valorResolvido];
|
|
1532
|
+
}
|
|
1533
|
+
}
|
|
1534
|
+
let indiceValor = 0;
|
|
1535
|
+
let resultado = '';
|
|
1536
|
+
let i = 0;
|
|
1537
|
+
while (i < formato.length) {
|
|
1538
|
+
if (formato[i] === '%') {
|
|
1539
|
+
if (i + 1 >= formato.length) {
|
|
1540
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Formato inválido: % no final da string', operador.linha);
|
|
1541
|
+
}
|
|
1542
|
+
const proximoChar = formato[i + 1];
|
|
1543
|
+
// %% -> % literal
|
|
1544
|
+
if (proximoChar === '%') {
|
|
1545
|
+
resultado += '%';
|
|
1546
|
+
i += 2;
|
|
1547
|
+
continue;
|
|
1548
|
+
}
|
|
1549
|
+
// Verificar se ainda temos valores para substituir
|
|
1550
|
+
if (indiceValor >= valoresArray.length) {
|
|
1551
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Argumentos insuficientes para a string de formatação', operador.linha);
|
|
1552
|
+
}
|
|
1553
|
+
const valor = valoresArray[indiceValor];
|
|
1554
|
+
indiceValor++;
|
|
1555
|
+
// Processar especificadores de formato
|
|
1556
|
+
if (proximoChar === 's') {
|
|
1557
|
+
// %s - string
|
|
1558
|
+
resultado += this.paraTexto(valor);
|
|
1559
|
+
i += 2;
|
|
1560
|
+
}
|
|
1561
|
+
else if (proximoChar === 'd') {
|
|
1562
|
+
// %d - inteiro
|
|
1563
|
+
const valorNumerico = Number(valor);
|
|
1564
|
+
if (isNaN(valorNumerico)) {
|
|
1565
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(operador, `Esperado número para %d, mas recebeu ${typeof valor}`, operador.linha);
|
|
1566
|
+
}
|
|
1567
|
+
resultado += Math.floor(valorNumerico).toString();
|
|
1568
|
+
i += 2;
|
|
1569
|
+
}
|
|
1570
|
+
else if (proximoChar === 'f') {
|
|
1571
|
+
// %f - flutuante
|
|
1572
|
+
const valorNumerico = Number(valor);
|
|
1573
|
+
if (isNaN(valorNumerico)) {
|
|
1574
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(operador, `Esperado número para %f, mas recebeu ${typeof valor}`, operador.linha);
|
|
1575
|
+
}
|
|
1576
|
+
resultado += valorNumerico.toString();
|
|
1577
|
+
i += 2;
|
|
1578
|
+
}
|
|
1579
|
+
else if (proximoChar === '.') {
|
|
1580
|
+
// %.nf - flutuante com n casas decimais
|
|
1581
|
+
let j = i + 2;
|
|
1582
|
+
let casasDecimais = '';
|
|
1583
|
+
while (j < formato.length && formato[j] >= '0' && formato[j] <= '9') {
|
|
1584
|
+
casasDecimais += formato[j];
|
|
1585
|
+
j++;
|
|
1586
|
+
}
|
|
1587
|
+
if (j >= formato.length || formato[j] !== 'f') {
|
|
1588
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Formato inválido: esperado %.nf (ex: %.2f)', operador.linha);
|
|
1589
|
+
}
|
|
1590
|
+
const precisao = parseInt(casasDecimais, 10);
|
|
1591
|
+
const valorNumerico = Number(valor);
|
|
1592
|
+
if (isNaN(valorNumerico)) {
|
|
1593
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(operador, `Esperado número para %.${precisao}f, mas recebeu ${typeof valor}`, operador.linha);
|
|
1594
|
+
}
|
|
1595
|
+
resultado += valorNumerico.toFixed(precisao);
|
|
1596
|
+
i = j + 1;
|
|
1597
|
+
}
|
|
1598
|
+
else if (proximoChar === 'x') {
|
|
1599
|
+
// %x - hexadecimal (caixa baixa)
|
|
1600
|
+
const valorNumerico = Number(valor);
|
|
1601
|
+
if (isNaN(valorNumerico)) {
|
|
1602
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(operador, `Esperado número para %x, mas recebeu ${typeof valor}`, operador.linha);
|
|
1603
|
+
}
|
|
1604
|
+
resultado += Math.floor(valorNumerico).toString(16);
|
|
1605
|
+
i += 2;
|
|
1606
|
+
}
|
|
1607
|
+
else if (proximoChar === 'X') {
|
|
1608
|
+
// %X - hexadecimal (caixa alta)
|
|
1609
|
+
const valorNumerico = Number(valor);
|
|
1610
|
+
if (isNaN(valorNumerico)) {
|
|
1611
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(operador, `Esperado número para %X, mas recebeu ${typeof valor}`, operador.linha);
|
|
1612
|
+
}
|
|
1613
|
+
resultado += Math.floor(valorNumerico).toString(16).toUpperCase();
|
|
1614
|
+
i += 2;
|
|
1615
|
+
}
|
|
1616
|
+
else if (proximoChar === 'o') {
|
|
1617
|
+
// %o - octal
|
|
1618
|
+
const valorNumerico = Number(valor);
|
|
1619
|
+
if (isNaN(valorNumerico)) {
|
|
1620
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(operador, `Esperado número para %o, mas recebeu ${typeof valor}`, operador.linha);
|
|
1621
|
+
}
|
|
1622
|
+
resultado += Math.floor(valorNumerico).toString(8);
|
|
1623
|
+
i += 2;
|
|
1624
|
+
}
|
|
1625
|
+
else {
|
|
1626
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(operador, `Especificador de formato desconhecido: %${proximoChar}`, operador.linha);
|
|
1627
|
+
}
|
|
1628
|
+
}
|
|
1629
|
+
else {
|
|
1630
|
+
resultado += formato[i];
|
|
1631
|
+
i++;
|
|
1632
|
+
}
|
|
1633
|
+
}
|
|
1634
|
+
// Verificar se há valores não utilizados
|
|
1635
|
+
if (indiceValor < valoresArray.length) {
|
|
1636
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Nem todos os argumentos foram convertidos durante a formatação da string.', operador.linha);
|
|
1637
|
+
}
|
|
1638
|
+
return resultado;
|
|
1639
|
+
}
|
|
1458
1640
|
paraTexto(objeto) {
|
|
1459
1641
|
if (objeto === null || objeto === undefined)
|
|
1460
1642
|
return delegua_2.default.NULO;
|
|
@@ -1501,7 +1683,8 @@ class InterpretadorBase {
|
|
|
1501
1683
|
if ('tipo' in objeto) {
|
|
1502
1684
|
switch (objeto.tipo) {
|
|
1503
1685
|
case 'dicionário':
|
|
1504
|
-
|
|
1686
|
+
const valorResolvido = this.resolverValorRecursivo(objeto.valor);
|
|
1687
|
+
return JSON.stringify(valorResolvido);
|
|
1505
1688
|
default:
|
|
1506
1689
|
return objeto.valor;
|
|
1507
1690
|
}
|