@designliquido/delegua-node 1.7.8 → 1.8.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-com-importacao.d.ts +8 -0
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.js +172 -6
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.js.map +1 -1
- package/bin/package.json +8 -7
- package/interpretador/comum.d.ts +13 -8
- package/interpretador/comum.d.ts.map +1 -1
- package/interpretador/comum.js +120 -6
- package/interpretador/comum.js.map +1 -1
- package/interpretador/estruturas/classe-de-modulo.d.ts +22 -0
- package/interpretador/estruturas/classe-de-modulo.d.ts.map +1 -0
- package/interpretador/estruturas/classe-de-modulo.js +20 -0
- package/interpretador/estruturas/classe-de-modulo.js.map +1 -0
- package/interpretador/estruturas/index.d.ts +2 -0
- package/interpretador/estruturas/index.d.ts.map +1 -0
- package/interpretador/estruturas/index.js +18 -0
- package/interpretador/estruturas/index.js.map +1 -0
- package/interpretador/interpretador-com-depuracao-importacao.d.ts +3 -7
- package/interpretador/interpretador-com-depuracao-importacao.d.ts.map +1 -1
- package/interpretador/interpretador-com-depuracao-importacao.js +4 -0
- package/interpretador/interpretador-com-depuracao-importacao.js.map +1 -1
- package/interpretador/interpretador-com-importacao.d.ts +3 -7
- package/interpretador/interpretador-com-importacao.d.ts.map +1 -1
- package/interpretador/interpretador-com-importacao.js +4 -0
- package/interpretador/interpretador-com-importacao.js.map +1 -1
- package/mecanismo-importacao-bibliotecas/index.d.ts.map +1 -1
- package/mecanismo-importacao-bibliotecas/index.js +36 -14
- package/mecanismo-importacao-bibliotecas/index.js.map +1 -1
- package/package.json +8 -7
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { AvaliadorSintatico, Chamada, Construto, Declaracao, Literal, RetornoAvaliadorSintatico, RetornoLexador, SimboloInterface } from "@designliquido/delegua";
|
|
2
|
+
import { InformacaoElementoSintatico } from "@designliquido/delegua/informacao-elemento-sintatico";
|
|
2
3
|
import { ImportadorInterface } from "../interfaces";
|
|
3
4
|
import { ImportarBiblioteca } from "../construtos";
|
|
5
|
+
import { ClasseDeModulo } from "../interpretador/estruturas";
|
|
4
6
|
export declare class AvaliadorSintaticoComImportacao extends AvaliadorSintatico {
|
|
7
|
+
tiposDefinidosPorBibliotecas: {
|
|
8
|
+
[nomeTipo: string]: ClasseDeModulo;
|
|
9
|
+
};
|
|
5
10
|
importador: ImportadorInterface<SimboloInterface>;
|
|
6
11
|
arquivosImportados: string[];
|
|
7
12
|
modoLair: boolean;
|
|
8
13
|
constructor(importador: ImportadorInterface<SimboloInterface>);
|
|
9
14
|
finalizarChamada(entidadeChamada: Construto, tipoPrimitiva?: string | undefined): Chamada;
|
|
15
|
+
protected importarFuncaoPadraoComoComponente(dadosComponente: any, nomeComponente: string): InformacaoElementoSintatico;
|
|
16
|
+
protected criarComponenteDeClasse(nomeModulo: string, nome: string, classe: any): InformacaoElementoSintatico;
|
|
10
17
|
protected importarBibliotecaNode(literalCaminho: Literal): ImportarBiblioteca;
|
|
18
|
+
logicaComumInferenciaTiposVariaveisEConstantes(inicializador: Construto, tipo: string): string;
|
|
11
19
|
declaracaoImportar(): any;
|
|
12
20
|
/**
|
|
13
21
|
* No modo LAIR, a pilha de escopos não deve ser reinicializada a cada execução.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-com-importacao.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-com-importacao.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,kBAAkB,EAClB,OAAO,EAEP,SAAS,EAET,UAAU,EAKV,OAAO,EAMP,yBAAyB,EACzB,cAAc,EAGd,gBAAgB,EAGnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AAMnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,qBAAa,+BAAgC,SAAQ,kBAAkB;IACnE,4BAA4B,EAAE;QAC1B,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC;KACtC,CAAC;IACF,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAClD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;gBAEN,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;IAOpD,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAmBlG,SAAS,CAAC,kCAAkC,CAAC,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM;IAiBzF,SAAS,CAAC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,2BAA2B;IA4D7G,SAAS,CAAC,sBAAsB,CAAC,cAAc,EAAE,OAAO,GAAG,kBAAkB;IAwCpE,8CAA8C,CACnD,aAAa,EAAE,SAAS,EACxB,IAAI,EAAE,MAAM,GACb,MAAM;IAgIA,kBAAkB,IAAI,GAAG;IAmElC;;;OAGG;cACgB,uBAAuB,IAAI,IAAI;IAQzC,QAAQ,CACb,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAChD,WAAW,EAAE,MAAM,EACnB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC9B,yBAAyB,CAAC,UAAU,CAAC;CAI3C"}
|
|
@@ -6,13 +6,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.AvaliadorSintaticoComImportacao = void 0;
|
|
7
7
|
const delegua_1 = require("@designliquido/delegua");
|
|
8
8
|
const informacao_elemento_sintatico_1 = require("@designliquido/delegua/informacao-elemento-sintatico");
|
|
9
|
+
const estruturas_1 = require("@designliquido/delegua/interpretador/estruturas");
|
|
9
10
|
const delegua_2 = __importDefault(require("@designliquido/delegua/tipos-de-simbolos/delegua"));
|
|
11
|
+
const delegua_3 = __importDefault(require("@designliquido/delegua/tipos-de-dados/delegua"));
|
|
10
12
|
const declaracoes_1 = require("../declaracoes");
|
|
11
13
|
const construtos_1 = require("../construtos");
|
|
12
14
|
const mecanismo_importacao_bibliotecas_1 = require("../mecanismo-importacao-bibliotecas");
|
|
15
|
+
const estruturas_2 = require("../interpretador/estruturas");
|
|
13
16
|
class AvaliadorSintaticoComImportacao extends delegua_1.AvaliadorSintatico {
|
|
14
17
|
constructor(importador) {
|
|
15
18
|
super();
|
|
19
|
+
this.tiposDefinidosPorBibliotecas = {};
|
|
16
20
|
this.arquivosImportados = [];
|
|
17
21
|
this.importador = importador;
|
|
18
22
|
}
|
|
@@ -25,12 +29,69 @@ class AvaliadorSintaticoComImportacao extends delegua_1.AvaliadorSintatico {
|
|
|
25
29
|
if (objetoEntidadeChamada && objetoEntidadeChamada.simbolo.lexema in this.primitivasConhecidas) {
|
|
26
30
|
const moduloCorrespondente = this.primitivasConhecidas[objetoEntidadeChamada.simbolo.lexema];
|
|
27
31
|
if (entidadeChamadaResolvida.nomeMetodo in moduloCorrespondente) {
|
|
28
|
-
|
|
32
|
+
const tipoResolvido = moduloCorrespondente[entidadeChamadaResolvida.nomeMetodo].tipo;
|
|
33
|
+
entidadeChamadaResolvida.tipoRetornoMetodo = tipoResolvido;
|
|
34
|
+
chamadaResolvida.tipo = tipoResolvido;
|
|
29
35
|
}
|
|
30
36
|
}
|
|
31
37
|
}
|
|
32
38
|
return chamadaResolvida;
|
|
33
39
|
}
|
|
40
|
+
importarFuncaoPadraoComoComponente(dadosComponente, nomeComponente) {
|
|
41
|
+
const dadosComponenteResolvido = dadosComponente;
|
|
42
|
+
const componente = new informacao_elemento_sintatico_1.InformacaoElementoSintatico(nomeComponente, dadosComponenteResolvido.tipoRetorno, true, []);
|
|
43
|
+
for (const argumento of dadosComponenteResolvido.argumentos) {
|
|
44
|
+
const elemento = new informacao_elemento_sintatico_1.InformacaoElementoSintatico(argumento.nome, argumento.tipo);
|
|
45
|
+
componente.subElementos.push(elemento);
|
|
46
|
+
}
|
|
47
|
+
return componente;
|
|
48
|
+
}
|
|
49
|
+
criarComponenteDeClasse(nomeModulo, nome, classe) {
|
|
50
|
+
const componente = new informacao_elemento_sintatico_1.InformacaoElementoSintatico(nome, 'classe', false, []);
|
|
51
|
+
// Processar métodos
|
|
52
|
+
if (classe.metodos) {
|
|
53
|
+
for (const [nomeMetodo, dadosMetodo] of Object.entries(classe.metodos)) {
|
|
54
|
+
if (dadosMetodo instanceof estruturas_1.FuncaoPadrao) {
|
|
55
|
+
const metodo = dadosMetodo;
|
|
56
|
+
const elemMetodo = new informacao_elemento_sintatico_1.InformacaoElementoSintatico(nomeMetodo, metodo.tipoRetorno, true, []);
|
|
57
|
+
for (const arg of metodo.argumentos) {
|
|
58
|
+
const argElem = new informacao_elemento_sintatico_1.InformacaoElementoSintatico(arg.nome, arg.tipo);
|
|
59
|
+
elemMetodo.subElementos.push(argElem);
|
|
60
|
+
}
|
|
61
|
+
componente.subElementos.push(elemMetodo);
|
|
62
|
+
}
|
|
63
|
+
else if (dadosMetodo instanceof estruturas_2.ClasseDeModulo) {
|
|
64
|
+
// Método que retorna/é uma classe de módulo: recursão
|
|
65
|
+
const componenteDeClasseDerivado = this.criarComponenteDeClasse(nomeModulo, nomeMetodo, dadosMetodo);
|
|
66
|
+
this.primitivasConhecidas[nomeModulo][nomeMetodo] = componenteDeClasseDerivado;
|
|
67
|
+
componente.subElementos.push(componenteDeClasseDerivado);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
// Caso genérico: tentar inferir tipo
|
|
71
|
+
const tipoMetodo = (dadosMetodo && dadosMetodo.tipoRetorno) || 'qualquer';
|
|
72
|
+
componente.subElementos.push(new informacao_elemento_sintatico_1.InformacaoElementoSintatico(nomeMetodo, tipoMetodo, true, []));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Processar propriedades
|
|
77
|
+
if (classe.propriedades) {
|
|
78
|
+
for (const [nomeProp, dadosProp] of Object.entries(classe.propriedades)) {
|
|
79
|
+
if (dadosProp instanceof estruturas_2.ClasseDeModulo) {
|
|
80
|
+
const nested = this.criarComponenteDeClasse(nomeModulo, nomeProp, dadosProp);
|
|
81
|
+
// Registrar a classe interna também nas primitivas do módulo
|
|
82
|
+
this.primitivasConhecidas[nomeModulo][nomeProp] = nested;
|
|
83
|
+
componente.subElementos.push(nested);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
// Se for um descriptor simples ou tipo primitivo
|
|
87
|
+
const tipoProp = (dadosProp && dadosProp.tipo) || (typeof dadosProp === 'string' ? dadosProp : 'qualquer');
|
|
88
|
+
componente.subElementos.push(new informacao_elemento_sintatico_1.InformacaoElementoSintatico(nomeProp, tipoProp, false, []));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return componente;
|
|
93
|
+
}
|
|
94
|
+
;
|
|
34
95
|
importarBibliotecaNode(literalCaminho) {
|
|
35
96
|
const bibliotecaResolvida = (0, mecanismo_importacao_bibliotecas_1.verificarModulosDelegua)(literalCaminho.valor);
|
|
36
97
|
if (bibliotecaResolvida) {
|
|
@@ -38,17 +99,122 @@ class AvaliadorSintaticoComImportacao extends delegua_1.AvaliadorSintatico {
|
|
|
38
99
|
this.primitivasConhecidas[literalCaminho.valor] = {};
|
|
39
100
|
for (const [nomeComponente, dadosComponente] of Object.entries(moduloResolvido.componentes)) {
|
|
40
101
|
// TODO: Verificar se sempre é o caso de ser função padrão.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
102
|
+
let componente;
|
|
103
|
+
if (dadosComponente instanceof estruturas_1.FuncaoPadrao) {
|
|
104
|
+
componente = this.importarFuncaoPadraoComoComponente(dadosComponente, nomeComponente);
|
|
105
|
+
}
|
|
106
|
+
else if (dadosComponente instanceof estruturas_2.ClasseDeModulo) {
|
|
107
|
+
const classeModulo = dadosComponente;
|
|
108
|
+
componente = this.criarComponenteDeClasse(literalCaminho.valor, nomeComponente, classeModulo);
|
|
109
|
+
// Registrar também a própria classe (a atribuição ao mapa acontece mais adiante,
|
|
110
|
+
// mas garantir que exista agora caso recursão precise dela)
|
|
111
|
+
this.primitivasConhecidas[literalCaminho.valor] = this.primitivasConhecidas[literalCaminho.valor] || {};
|
|
112
|
+
this.primitivasConhecidas[literalCaminho.valor][nomeComponente] = componente;
|
|
113
|
+
this.tiposDefinidosPorBibliotecas[nomeComponente] = classeModulo;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
throw this.erro({
|
|
117
|
+
hashArquivo: literalCaminho.hashArquivo, linha: literalCaminho.linha
|
|
118
|
+
}, `Tipo de importação inválida: ${JSON.stringify(dadosComponente)}.`);
|
|
46
119
|
}
|
|
47
120
|
this.primitivasConhecidas[literalCaminho.valor][nomeComponente] = componente;
|
|
48
121
|
}
|
|
49
122
|
}
|
|
50
123
|
return new construtos_1.ImportarBiblioteca(literalCaminho.hashArquivo, literalCaminho.linha, literalCaminho.valor);
|
|
51
124
|
}
|
|
125
|
+
// TODO: Passar lógica para o núcleo e apagar.
|
|
126
|
+
logicaComumInferenciaTiposVariaveisEConstantes(inicializador, tipo) {
|
|
127
|
+
if (tipo !== 'qualquer') {
|
|
128
|
+
return tipo;
|
|
129
|
+
}
|
|
130
|
+
switch (inicializador.constructor) {
|
|
131
|
+
case delegua_1.AcessoIndiceVariavel:
|
|
132
|
+
const entidadeChamadaAcessoIndiceVariavel = inicializador
|
|
133
|
+
.entidadeChamada;
|
|
134
|
+
// Este condicional ocorre com chamadas aninhadas. Por exemplo, `vetor[1][2]`.
|
|
135
|
+
if (entidadeChamadaAcessoIndiceVariavel.constructor === delegua_1.AcessoIndiceVariavel) {
|
|
136
|
+
return this.logicaComumInferenciaTiposVariaveisEConstantes(entidadeChamadaAcessoIndiceVariavel, tipo);
|
|
137
|
+
}
|
|
138
|
+
if (entidadeChamadaAcessoIndiceVariavel.tipo.endsWith('[]')) {
|
|
139
|
+
return entidadeChamadaAcessoIndiceVariavel.tipo.slice(0, -2);
|
|
140
|
+
}
|
|
141
|
+
// Normalmente, `entidadeChamadaAcessoIndiceVariavel.tipo` aqui será 'vetor'.
|
|
142
|
+
return 'qualquer';
|
|
143
|
+
case delegua_1.Chamada:
|
|
144
|
+
const entidadeChamadaChamada = inicializador.entidadeChamada;
|
|
145
|
+
switch (entidadeChamadaChamada.constructor) {
|
|
146
|
+
case delegua_1.AcessoMetodo:
|
|
147
|
+
const entidadeChamadaAcessoMetodo = entidadeChamadaChamada;
|
|
148
|
+
const tipoRetornoAcessoMetodoResolvido = entidadeChamadaAcessoMetodo.tipoRetornoMetodo.replace('<T>', entidadeChamadaAcessoMetodo.objeto.tipo);
|
|
149
|
+
return tipoRetornoAcessoMetodoResolvido;
|
|
150
|
+
case delegua_1.AcessoMetodoOuPropriedade:
|
|
151
|
+
const entidadeChamadaAcessoMetodoOuPropriedade = entidadeChamadaChamada;
|
|
152
|
+
// Algumas coisas podem acontecer aqui.
|
|
153
|
+
// Uma delas é a variável/constante ser uma classe padrão.
|
|
154
|
+
// Isso ocorre quando a importação é feita de uma biblioteca Node.js.
|
|
155
|
+
// Nesse caso, o tipo de `entidadeChamadaAcessoMetodoOuPropriedade.objeto` começa com uma letra maiúscula.
|
|
156
|
+
if (entidadeChamadaAcessoMetodoOuPropriedade.objeto.tipo.match(/^[A-Z]/)) {
|
|
157
|
+
const tipoCorrespondente = this.tiposDefinidosPorBibliotecas[entidadeChamadaAcessoMetodoOuPropriedade.objeto.tipo];
|
|
158
|
+
if (!tipoCorrespondente) {
|
|
159
|
+
throw new delegua_1.ErroAvaliadorSintatico(entidadeChamadaAcessoMetodoOuPropriedade.simbolo, `Tipo '${entidadeChamadaAcessoMetodoOuPropriedade.objeto.tipo}' não foi encontrado entre os tipos definidos por bibliotecas.`);
|
|
160
|
+
}
|
|
161
|
+
if (!(entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in tipoCorrespondente.metodos) &&
|
|
162
|
+
!(entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in tipoCorrespondente.propriedades)) {
|
|
163
|
+
throw new delegua_1.ErroAvaliadorSintatico(entidadeChamadaAcessoMetodoOuPropriedade.simbolo, `Membro '${entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema}' não existe no tipo '${entidadeChamadaAcessoMetodoOuPropriedade.objeto.tipo}'.`);
|
|
164
|
+
}
|
|
165
|
+
if (entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in tipoCorrespondente.metodos) {
|
|
166
|
+
return tipoCorrespondente.metodos[entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema].tipo;
|
|
167
|
+
}
|
|
168
|
+
return tipoCorrespondente.propriedades[entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema].tipo;
|
|
169
|
+
}
|
|
170
|
+
// Este caso ocorre quando a variável/constante é do tipo 'qualquer',
|
|
171
|
+
// e a chamada normalmente é feita para uma primitiva.
|
|
172
|
+
// A inferência, portanto, ocorre pelo uso da primitiva.
|
|
173
|
+
for (const primitiva in this.primitivasConhecidas) {
|
|
174
|
+
if (this.primitivasConhecidas[primitiva].hasOwnProperty(entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema)) {
|
|
175
|
+
return this.primitivasConhecidas[primitiva][entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema].tipo;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
throw new delegua_1.ErroAvaliadorSintatico(entidadeChamadaAcessoMetodoOuPropriedade.simbolo, `Primitiva '${entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema}' não existe.`);
|
|
179
|
+
case delegua_1.AcessoPropriedade:
|
|
180
|
+
const entidadeChamadaAcessoPropriedade = entidadeChamadaChamada;
|
|
181
|
+
return entidadeChamadaAcessoPropriedade.tipoRetornoPropriedade;
|
|
182
|
+
case delegua_1.ArgumentoReferenciaFuncao:
|
|
183
|
+
// TODO: Voltar aqui se necessário.
|
|
184
|
+
return 'qualquer';
|
|
185
|
+
case delegua_1.ReferenciaFuncao:
|
|
186
|
+
const entidadeChamadaReferenciaFuncao = entidadeChamadaChamada;
|
|
187
|
+
return entidadeChamadaReferenciaFuncao.tipo;
|
|
188
|
+
case delegua_1.Variavel:
|
|
189
|
+
const entidadeChamadaVariavel = entidadeChamadaChamada;
|
|
190
|
+
return entidadeChamadaVariavel.tipo;
|
|
191
|
+
}
|
|
192
|
+
break;
|
|
193
|
+
case delegua_1.FuncaoConstruto:
|
|
194
|
+
const funcaoConstruto = inicializador;
|
|
195
|
+
return `função<${funcaoConstruto.tipo}>`;
|
|
196
|
+
case delegua_1.Leia:
|
|
197
|
+
return 'texto';
|
|
198
|
+
case delegua_1.Dupla:
|
|
199
|
+
case delegua_1.Trio:
|
|
200
|
+
case delegua_1.Quarteto:
|
|
201
|
+
case delegua_1.Quinteto:
|
|
202
|
+
case delegua_1.Sexteto:
|
|
203
|
+
case delegua_1.Septeto:
|
|
204
|
+
case delegua_1.Octeto:
|
|
205
|
+
case delegua_1.Noneto:
|
|
206
|
+
case delegua_1.Deceto:
|
|
207
|
+
return delegua_3.default.TUPLA;
|
|
208
|
+
default:
|
|
209
|
+
// Construtos mapeados em `delegua-node`.
|
|
210
|
+
switch (inicializador.constructor.name) {
|
|
211
|
+
case 'ImportarBiblioteca':
|
|
212
|
+
case 'ModuloDeclaracoes':
|
|
213
|
+
return 'módulo';
|
|
214
|
+
}
|
|
215
|
+
return inicializador.tipo;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
52
218
|
declaracaoImportar() {
|
|
53
219
|
this.consumir(delegua_2.default.PARENTESE_ESQUERDO, "Esperado '(' após declaração.");
|
|
54
220
|
const caminho = this.expressao();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-com-importacao.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-com-importacao.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":"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"}
|
package/bin/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua-node",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.8",
|
|
4
4
|
"description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"empacotar": "yarn rimraf ./dist && tsc && yarn copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && yarn copyfiles -V ./package.json ./dist/bin && yarn copyfiles -V ./README.md ./dist && yarn copyfiles -V ./LICENSE ./dist",
|
|
@@ -12,17 +12,18 @@
|
|
|
12
12
|
"testes:servidor-depuracao": "yarn ts-node ./fontes/depuracao/servidor-depuracao.ts"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@designliquido/birl": "^0.2.
|
|
16
|
-
"@designliquido/delegua": "^0.54.
|
|
17
|
-
"@designliquido/mapler": "^0.2.
|
|
18
|
-
"@designliquido/portugol-studio": "^0.5.
|
|
19
|
-
"@designliquido/potigol": "^0.4.
|
|
20
|
-
"@designliquido/visualg": "^0.4.
|
|
15
|
+
"@designliquido/birl": "^0.2.7",
|
|
16
|
+
"@designliquido/delegua": "^0.54.8",
|
|
17
|
+
"@designliquido/mapler": "^0.2.8",
|
|
18
|
+
"@designliquido/portugol-studio": "^0.5.7",
|
|
19
|
+
"@designliquido/potigol": "^0.4.8",
|
|
20
|
+
"@designliquido/visualg": "^0.4.8",
|
|
21
21
|
"chalk": "4.1.2",
|
|
22
22
|
"commander": "^14.0.0",
|
|
23
23
|
"json-colorizer": "^3.0.1"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
+
"@designliquido/delegua-arquivos": "^0.0.3",
|
|
26
27
|
"@designliquido/delegua-estatistica": "^0.1.0",
|
|
27
28
|
"@designliquido/delegua-fisica": "^0.1.0",
|
|
28
29
|
"@designliquido/delegua-http": "^0.1.2",
|
package/interpretador/comum.d.ts
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { DeleguaModulo } from "@designliquido/delegua/interpretador/estruturas";
|
|
2
2
|
import { FuncaoDeclaracao } from "@designliquido/delegua/declaracoes";
|
|
3
|
+
import { AcessoMetodoOuPropriedade } from "@designliquido/delegua/construtos";
|
|
3
4
|
import { ImportarBiblioteca } from "../construtos";
|
|
4
5
|
import { ModuloDeclaracoes } from "../declaracoes";
|
|
5
6
|
import { InterpretadorComImportacaoInterface } from "../interfaces/interpretador-com-importacao-interface";
|
|
6
|
-
export declare function visitarConstrutoImportarBiblioteca(
|
|
7
|
-
export declare function visitarDeclaracaoDefinicaoFuncao(interpretador: InterpretadorComImportacaoInterface, funcaoDeclaracao: FuncaoDeclaracao):
|
|
8
|
-
id: string;
|
|
9
|
-
nome: string;
|
|
10
|
-
operacao: string;
|
|
11
|
-
tipo: string;
|
|
12
|
-
tipoExplicito: boolean;
|
|
13
|
-
};
|
|
7
|
+
export declare function visitarConstrutoImportarBiblioteca(interpretador: InterpretadorComImportacaoInterface, importarBiblioteca: ImportarBiblioteca): Promise<DeleguaModulo>;
|
|
8
|
+
export declare function visitarDeclaracaoDefinicaoFuncao(interpretador: InterpretadorComImportacaoInterface, funcaoDeclaracao: FuncaoDeclaracao): Promise<any>;
|
|
14
9
|
export declare function visitarDeclaracaoModuloDeclaracoes(interpretador: InterpretadorComImportacaoInterface, declaracao: ModuloDeclaracoes): Promise<DeleguaModulo>;
|
|
10
|
+
/**
|
|
11
|
+
* Casos que ocorrem aqui:
|
|
12
|
+
*
|
|
13
|
+
* - Quando o método ou propriedade é ou 'qualquer', ou vetor
|
|
14
|
+
* de 'qualquer' ('qualquer[]'), e uma primitiva é usada.
|
|
15
|
+
* - Quando o objeto é uma classe definida em código.
|
|
16
|
+
* @param {AcessoMetodoOuPropriedade} expressao A expressão de acesso a método ou propriedade.
|
|
17
|
+
* @returns A primitiva encontrada.
|
|
18
|
+
*/
|
|
19
|
+
export declare function visitarExpressaoAcessoMetodoOuPropriedade(interpretador: InterpretadorComImportacaoInterface, expressao: AcessoMetodoOuPropriedade): Promise<any>;
|
|
15
20
|
//# sourceMappingURL=comum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,
|
|
1
|
+
{"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAwC,MAAM,iDAAiD,CAAC;AACrI,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAa9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAI3G,wBAAsB,kCAAkC,CACpD,aAAa,EAAE,mCAAmC,EAClD,kBAAkB,EAAE,kBAAkB,0BAQzC;AAED,wBAAsB,gCAAgC,CAClD,aAAa,EAAE,mCAAmC,EAClD,gBAAgB,EAAE,gBAAgB,GACnC,OAAO,CAAC,GAAG,CAAC,CAad;AAED,wBAAsB,kCAAkC,CACpD,aAAa,EAAE,mCAAmC,EAClD,UAAU,EAAE,iBAAiB,0BA0BhC;AAED;;;;;;;;GAQG;AACH,wBAAsB,yCAAyC,CAC3D,aAAa,EAAE,mCAAmC,EAClD,SAAS,EAAE,yBAAyB,GACrC,OAAO,CAAC,GAAG,CAAC,CA2Hd"}
|
package/interpretador/comum.js
CHANGED
|
@@ -6,29 +6,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.visitarConstrutoImportarBiblioteca = visitarConstrutoImportarBiblioteca;
|
|
7
7
|
exports.visitarDeclaracaoDefinicaoFuncao = visitarDeclaracaoDefinicaoFuncao;
|
|
8
8
|
exports.visitarDeclaracaoModuloDeclaracoes = visitarDeclaracaoModuloDeclaracoes;
|
|
9
|
+
exports.visitarExpressaoAcessoMetodoOuPropriedade = visitarExpressaoAcessoMetodoOuPropriedade;
|
|
9
10
|
const estruturas_1 = require("@designliquido/delegua/interpretador/estruturas");
|
|
11
|
+
const quebras_1 = require("@designliquido/delegua/quebras");
|
|
12
|
+
const excecoes_1 = require("@designliquido/delegua/excecoes");
|
|
13
|
+
const inferenciador_1 = require("@designliquido/delegua/inferenciador");
|
|
14
|
+
const primitivas_dicionario_1 = __importDefault(require("@designliquido/delegua/bibliotecas/primitivas-dicionario"));
|
|
15
|
+
const primitivas_numero_1 = __importDefault(require("@designliquido/delegua/bibliotecas/primitivas-numero"));
|
|
16
|
+
const primitivas_texto_1 = __importDefault(require("@designliquido/delegua/bibliotecas/primitivas-texto"));
|
|
17
|
+
const primitivas_vetor_1 = __importDefault(require("@designliquido/delegua/bibliotecas/primitivas-vetor"));
|
|
18
|
+
const delegua_1 = __importDefault(require("@designliquido/delegua/tipos-de-dados/delegua"));
|
|
10
19
|
const mecanismo_importacao_bibliotecas_1 = __importDefault(require("../mecanismo-importacao-bibliotecas"));
|
|
11
|
-
async function visitarConstrutoImportarBiblioteca(
|
|
20
|
+
async function visitarConstrutoImportarBiblioteca(interpretador, importarBiblioteca) {
|
|
12
21
|
try {
|
|
13
22
|
return await (0, mecanismo_importacao_bibliotecas_1.default)(importarBiblioteca.nomeBiblioteca);
|
|
14
23
|
}
|
|
15
24
|
catch (erro) {
|
|
16
|
-
|
|
25
|
+
interpretador.erros.push(erro);
|
|
17
26
|
return null;
|
|
18
27
|
}
|
|
19
28
|
}
|
|
20
|
-
function visitarDeclaracaoDefinicaoFuncao(interpretador, funcaoDeclaracao) {
|
|
29
|
+
async function visitarDeclaracaoDefinicaoFuncao(interpretador, funcaoDeclaracao) {
|
|
21
30
|
const funcao = new estruturas_1.DeleguaFuncao(funcaoDeclaracao.simbolo.lexema, funcaoDeclaracao.funcao);
|
|
22
|
-
// TODO: Depreciar essa abordagem a favor do uso por referências
|
|
31
|
+
// TODO: Depreciar essa abordagem a favor do uso por referências?
|
|
23
32
|
interpretador.pilhaEscoposExecucao.definirVariavel(funcaoDeclaracao.simbolo.lexema, funcao);
|
|
24
33
|
interpretador.pilhaEscoposExecucao.registrarReferenciaFuncao(funcaoDeclaracao.id, funcao);
|
|
25
|
-
return {
|
|
34
|
+
return Promise.resolve({
|
|
26
35
|
id: funcaoDeclaracao.id,
|
|
27
36
|
nome: funcaoDeclaracao.simbolo.lexema,
|
|
28
37
|
operacao: 'DefinicaoFuncao',
|
|
29
38
|
tipo: `função<${funcao.declaracao.tipo || 'qualquer'}>`,
|
|
30
39
|
tipoExplicito: funcao.declaracao.tipoExplicito,
|
|
31
|
-
};
|
|
40
|
+
});
|
|
32
41
|
}
|
|
33
42
|
async function visitarDeclaracaoModuloDeclaracoes(interpretador, declaracao) {
|
|
34
43
|
// TODO: Colocar nome em `ModuloDeclaracoes`.
|
|
@@ -54,4 +63,109 @@ async function visitarDeclaracaoModuloDeclaracoes(interpretador, declaracao) {
|
|
|
54
63
|
}
|
|
55
64
|
return modulo;
|
|
56
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Casos que ocorrem aqui:
|
|
68
|
+
*
|
|
69
|
+
* - Quando o método ou propriedade é ou 'qualquer', ou vetor
|
|
70
|
+
* de 'qualquer' ('qualquer[]'), e uma primitiva é usada.
|
|
71
|
+
* - Quando o objeto é uma classe definida em código.
|
|
72
|
+
* @param {AcessoMetodoOuPropriedade} expressao A expressão de acesso a método ou propriedade.
|
|
73
|
+
* @returns A primitiva encontrada.
|
|
74
|
+
*/
|
|
75
|
+
async function visitarExpressaoAcessoMetodoOuPropriedade(interpretador, expressao) {
|
|
76
|
+
const nomeObjeto = interpretador.resolverNomeObjectoAcessado(expressao.objeto);
|
|
77
|
+
let variavelObjeto = await interpretador.avaliar(expressao.objeto);
|
|
78
|
+
// Este caso acontece quando há encadeamento de métodos.
|
|
79
|
+
// Por exemplo, `objeto1.metodo1().metodo2()`.
|
|
80
|
+
// Como `RetornoQuebra` também possui `valor`, precisamos extrair o
|
|
81
|
+
// valor dele primeiro.
|
|
82
|
+
if (variavelObjeto.constructor === quebras_1.RetornoQuebra) {
|
|
83
|
+
const retornoQuebra = variavelObjeto;
|
|
84
|
+
variavelObjeto = retornoQuebra.valor;
|
|
85
|
+
}
|
|
86
|
+
const objeto = interpretador.resolverValor(variavelObjeto, true);
|
|
87
|
+
if (objeto.constructor === estruturas_1.ObjetoDeleguaClasse) {
|
|
88
|
+
return objeto.obter(expressao.simbolo);
|
|
89
|
+
}
|
|
90
|
+
// Objeto simples do JavaScript, ou dicionário de Delégua.
|
|
91
|
+
if (objeto.constructor === Object) {
|
|
92
|
+
if (expressao.simbolo.lexema in primitivas_dicionario_1.default) {
|
|
93
|
+
if (!(expressao.simbolo.lexema in primitivas_numero_1.default)) {
|
|
94
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simbolo, `Método de primitiva '${expressao.simbolo.lexema}' não existe para o tipo dicionário.`);
|
|
95
|
+
}
|
|
96
|
+
const metodoDePrimitivaDicionario = primitivas_dicionario_1.default[expressao.simbolo.lexema].implementacao;
|
|
97
|
+
return new estruturas_1.MetodoPrimitiva(nomeObjeto, objeto, metodoDePrimitivaDicionario);
|
|
98
|
+
}
|
|
99
|
+
return objeto[expressao.simbolo.lexema];
|
|
100
|
+
}
|
|
101
|
+
// String do JavaScript, ou seja, primitiva de texto.
|
|
102
|
+
if (objeto.constructor === String) {
|
|
103
|
+
if (!(expressao.simbolo.lexema in primitivas_texto_1.default)) {
|
|
104
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simbolo, `Método de primitiva '${expressao.simbolo.lexema}' não existe para o tipo texto.`);
|
|
105
|
+
}
|
|
106
|
+
const metodoDePrimitivaTexto = primitivas_texto_1.default[expressao.simbolo.lexema].implementacao;
|
|
107
|
+
return new estruturas_1.MetodoPrimitiva(nomeObjeto, objeto, metodoDePrimitivaTexto);
|
|
108
|
+
}
|
|
109
|
+
// A partir daqui, presume-se que o objeto é uma das estruturas
|
|
110
|
+
// de Delégua.
|
|
111
|
+
if (objeto instanceof estruturas_1.DeleguaModulo) {
|
|
112
|
+
return objeto.componentes[expressao.simbolo.lexema] || null;
|
|
113
|
+
}
|
|
114
|
+
let tipoObjeto = variavelObjeto.tipo;
|
|
115
|
+
if (tipoObjeto === null || tipoObjeto === undefined) {
|
|
116
|
+
tipoObjeto = (0, inferenciador_1.inferirTipoVariavel)(variavelObjeto);
|
|
117
|
+
}
|
|
118
|
+
// Como internamente um dicionário de Delégua é simplesmente um objeto de
|
|
119
|
+
// JavaScript, as primitivas de dicionário, especificamente, são tratadas
|
|
120
|
+
// mais acima.
|
|
121
|
+
switch (tipoObjeto) {
|
|
122
|
+
case delegua_1.default.INTEIRO:
|
|
123
|
+
case delegua_1.default.NUMERO:
|
|
124
|
+
case delegua_1.default.NÚMERO:
|
|
125
|
+
if (!(expressao.simbolo.lexema in primitivas_numero_1.default)) {
|
|
126
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simbolo, `Método de primitiva '${expressao.simbolo.lexema}' não existe para o tipo ${tipoObjeto}.`);
|
|
127
|
+
}
|
|
128
|
+
const metodoDePrimitivaNumero = primitivas_numero_1.default[expressao.simbolo.lexema].implementacao;
|
|
129
|
+
if (metodoDePrimitivaNumero) {
|
|
130
|
+
return new estruturas_1.MetodoPrimitiva(nomeObjeto, objeto, metodoDePrimitivaNumero);
|
|
131
|
+
}
|
|
132
|
+
break;
|
|
133
|
+
case delegua_1.default.TEXTO:
|
|
134
|
+
if (!(expressao.simbolo.lexema in primitivas_texto_1.default)) {
|
|
135
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simbolo, `Método de primitiva '${expressao.simbolo.lexema}' não existe para o tipo ${tipoObjeto}.`);
|
|
136
|
+
}
|
|
137
|
+
const metodoDePrimitivaTexto = primitivas_texto_1.default[expressao.simbolo.lexema].implementacao;
|
|
138
|
+
if (metodoDePrimitivaTexto) {
|
|
139
|
+
return new estruturas_1.MetodoPrimitiva(nomeObjeto, objeto, metodoDePrimitivaTexto);
|
|
140
|
+
}
|
|
141
|
+
break;
|
|
142
|
+
case delegua_1.default.VETOR:
|
|
143
|
+
case delegua_1.default.VETOR_INTEIRO:
|
|
144
|
+
case delegua_1.default.VETOR_LOGICO:
|
|
145
|
+
case delegua_1.default.VETOR_LÓGICO:
|
|
146
|
+
case delegua_1.default.VETOR_NUMERO:
|
|
147
|
+
case delegua_1.default.VETOR_NÚMERO:
|
|
148
|
+
case delegua_1.default.VETOR_QUALQUER:
|
|
149
|
+
case delegua_1.default.VETOR_TEXTO:
|
|
150
|
+
if (!(expressao.simbolo.lexema in primitivas_vetor_1.default)) {
|
|
151
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simbolo, `Método de primitiva '${expressao.simbolo.lexema}' não existe para o tipo ${tipoObjeto}.`);
|
|
152
|
+
}
|
|
153
|
+
const metodoDePrimitivaVetor = primitivas_vetor_1.default[expressao.simbolo.lexema].implementacao;
|
|
154
|
+
if (metodoDePrimitivaVetor) {
|
|
155
|
+
return new estruturas_1.MetodoPrimitiva(nomeObjeto, objeto, metodoDePrimitivaVetor);
|
|
156
|
+
}
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
// Objeto de uma classe JavaScript regular (ou seja, com construtor e propriedades)
|
|
160
|
+
// que possua a propriedade.
|
|
161
|
+
// Exemplos: classes de LinConEs, como `RetornoComando`, ou bibliotecas globais com objetos próprios.
|
|
162
|
+
if (objeto.hasOwnProperty && objeto.hasOwnProperty(expressao.simbolo.lexema)) {
|
|
163
|
+
return objeto[expressao.simbolo.lexema];
|
|
164
|
+
}
|
|
165
|
+
// Último caso: objeto simples, sem construtor, sem protótipo. Exemplo: {'a': 1, 'b': 2}
|
|
166
|
+
if (typeof objeto[expressao.simbolo.lexema] !== 'undefined') {
|
|
167
|
+
return objeto[expressao.simbolo.lexema];
|
|
168
|
+
}
|
|
169
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(null, `Método ou propriedade para objeto ou primitiva não encontrado: ${expressao.simbolo.lexema}.`, expressao.linha));
|
|
170
|
+
}
|
|
57
171
|
//# sourceMappingURL=comum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Chamavel } from "@designliquido/delegua/interpretador/estruturas";
|
|
2
|
+
/**
|
|
3
|
+
* Uma classe de módulo não é muito diferente de uma `ClassePadrao`, com o adicional
|
|
4
|
+
* de ter documentações extras para métodos e propriedades.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ClasseDeModulo extends Chamavel {
|
|
7
|
+
nome: string;
|
|
8
|
+
modulo: string;
|
|
9
|
+
implementacao: any;
|
|
10
|
+
metodos: {
|
|
11
|
+
[nome: string]: any;
|
|
12
|
+
};
|
|
13
|
+
propriedades: {
|
|
14
|
+
[nome: string]: any;
|
|
15
|
+
};
|
|
16
|
+
constructor(nome: string, modulo: string, implementacao: any, metodos: {
|
|
17
|
+
[nome: string]: any;
|
|
18
|
+
}, propriedades: {
|
|
19
|
+
[nome: string]: any;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=classe-de-modulo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classe-de-modulo.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/classe-de-modulo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAC;AAE3E;;;GAGG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,GAAG,CAAC;IACnB,OAAO,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;IAC/B,YAAY,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;gBAGhC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,EAC9B,YAAY,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC;CAS1C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClasseDeModulo = void 0;
|
|
4
|
+
const estruturas_1 = require("@designliquido/delegua/interpretador/estruturas");
|
|
5
|
+
/**
|
|
6
|
+
* Uma classe de módulo não é muito diferente de uma `ClassePadrao`, com o adicional
|
|
7
|
+
* de ter documentações extras para métodos e propriedades.
|
|
8
|
+
*/
|
|
9
|
+
class ClasseDeModulo extends estruturas_1.Chamavel {
|
|
10
|
+
constructor(nome, modulo, implementacao, metodos, propriedades) {
|
|
11
|
+
super();
|
|
12
|
+
this.nome = nome;
|
|
13
|
+
this.modulo = modulo;
|
|
14
|
+
this.implementacao = implementacao;
|
|
15
|
+
this.metodos = metodos;
|
|
16
|
+
this.propriedades = propriedades;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.ClasseDeModulo = ClasseDeModulo;
|
|
20
|
+
//# sourceMappingURL=classe-de-modulo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classe-de-modulo.js","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/classe-de-modulo.ts"],"names":[],"mappings":";;;AAAA,gFAA2E;AAE3E;;;GAGG;AACH,MAAa,cAAe,SAAQ,qBAAQ;IAOxC,YACI,IAAY,EACZ,MAAc,EACd,aAAkB,EAClB,OAA8B,EAC9B,YAAmC;QAEnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;CACJ;AArBD,wCAqBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./classe-de-modulo"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
|
|
@@ -5,6 +5,7 @@ import { ImportadorInterface } from "../interfaces";
|
|
|
5
5
|
import { ModuloDeclaracoes } from '../declaracoes';
|
|
6
6
|
import { InterpretadorComImportacaoInterface } from '../interfaces/interpretador-com-importacao-interface';
|
|
7
7
|
import { ImportarBiblioteca } from '../construtos';
|
|
8
|
+
import { AcessoMetodoOuPropriedade } from "@designliquido/delegua/construtos";
|
|
8
9
|
export declare class InterpretadorComDepuracaoImportacao extends InterpretadorComDepuracao implements InterpretadorComImportacaoInterface {
|
|
9
10
|
importador: ImportadorInterface<SimboloInterface>;
|
|
10
11
|
constructor(importador: ImportadorInterface<SimboloInterface>, diretorioBase: string, funcaoDeRetorno: Function, funcaoDeRetornoMesmaLinha: Function);
|
|
@@ -20,13 +21,8 @@ export declare class InterpretadorComDepuracaoImportacao extends InterpretadorCo
|
|
|
20
21
|
*/
|
|
21
22
|
executar(declaracao: Declaracao): Promise<ResultadoParcialInterpretadorInterface>;
|
|
22
23
|
visitarConstrutoImportarBiblioteca(importarBiblioteca: ImportarBiblioteca): Promise<import("@designliquido/delegua/interpretador/estruturas").DeleguaModulo>;
|
|
23
|
-
visitarDeclaracaoDefinicaoFuncao(funcaoDeclaracao: FuncaoDeclaracao):
|
|
24
|
-
id: string;
|
|
25
|
-
nome: string;
|
|
26
|
-
operacao: string;
|
|
27
|
-
tipo: string;
|
|
28
|
-
tipoExplicito: boolean;
|
|
29
|
-
};
|
|
24
|
+
visitarDeclaracaoDefinicaoFuncao(funcaoDeclaracao: FuncaoDeclaracao): Promise<any>;
|
|
30
25
|
visitarDeclaracaoModuloDeclaracoes(declaracao: ModuloDeclaracoes): Promise<import("@designliquido/delegua/interpretador/estruturas").DeleguaModulo>;
|
|
26
|
+
visitarExpressaoAcessoMetodoOuPropriedade(expressao: AcessoMetodoOuPropriedade): Promise<any>;
|
|
31
27
|
}
|
|
32
28
|
//# sourceMappingURL=interpretador-com-depuracao-importacao.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-com-depuracao-importacao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,sCAAsC,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAIlF,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"interpretador-com-depuracao-importacao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,sCAAsC,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAIlF,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,qBAAa,mCACT,SAAQ,yBACR,YAAW,mCAAmC;IAE9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAG9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EACjD,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,QAAQ,EACzB,yBAAyB,EAAE,QAAQ;IAMvC;;;;;;;;;OASG;IACY,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,sCAAsC,CAAC;IAkC1F,kCAAkC,CAAC,kBAAkB,EAAE,kBAAkB;IAItE,gCAAgC,CAAC,gBAAgB,EAAE,gBAAgB;IAItE,kCAAkC,CAAC,UAAU,EAAE,iBAAiB;IAKvD,yCAAyC,CAAC,SAAS,EAAE,yBAAyB;CAGhG"}
|
|
@@ -91,6 +91,10 @@ class InterpretadorComDepuracaoImportacao extends depuracao_1.InterpretadorComDe
|
|
|
91
91
|
async visitarDeclaracaoModuloDeclaracoes(declaracao) {
|
|
92
92
|
return comum.visitarDeclaracaoModuloDeclaracoes(this, declaracao);
|
|
93
93
|
}
|
|
94
|
+
// TODO: Passar lógica para o núcleo e apagar.
|
|
95
|
+
async visitarExpressaoAcessoMetodoOuPropriedade(expressao) {
|
|
96
|
+
return comum.visitarExpressaoAcessoMetodoOuPropriedade(this, expressao);
|
|
97
|
+
}
|
|
94
98
|
}
|
|
95
99
|
exports.InterpretadorComDepuracaoImportacao = InterpretadorComDepuracaoImportacao;
|
|
96
100
|
//# sourceMappingURL=interpretador-com-depuracao-importacao.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-com-depuracao-importacao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAA2F;AAG3F,gFAAsF;AACtF,wEAA2E;AAO3E,+CAAiC;
|
|
1
|
+
{"version":3,"file":"interpretador-com-depuracao-importacao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAA2F;AAG3F,gFAAsF;AACtF,wEAA2E;AAO3E,+CAAiC;AAGjC,MAAa,mCACT,SAAQ,qCAAyB;IAKjC,YACI,UAAiD,EACjD,aAAqB,EACrB,eAAyB,EACzB,yBAAmC;QAEnC,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACM,KAAK,CAAC,QAAQ,CAAC,UAAsB;QAC1C,MAAM,SAAS,GAAQ,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtD,6EAA6E;QAC7E,iDAAiD;QACjD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,0EAA0E;QAC1E,IAAI,SAAS,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;QACnC,QAAQ,SAAS,CAAC,WAAW,EAAE,CAAC;YAC5B,KAAK,gCAAmB;gBACpB,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC;gBACjD,MAAM;YACV;gBACI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,aAAa,GAAG,IAAA,mCAAmB,EAAC,SAAS,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM;QACd,CAAC;QAED,OAAO;YACH,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,cAAc,EAAE,SAAS;YACzB,IAAI,EAAE,aAAa;SACoB,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,kBAAsC;QAC3E,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAEQ,gCAAgC,CAAC,gBAAkC;QACxE,OAAO,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,8CAA8C;IACrC,KAAK,CAAC,yCAAyC,CAAC,SAAoC;QACzF,OAAO,KAAK,CAAC,yCAAyC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;CACJ;AA5ED,kFA4EC"}
|
|
@@ -5,6 +5,7 @@ import { InterpretadorComImportacaoInterface } from '../interfaces/interpretador
|
|
|
5
5
|
import { ImportadorInterface } from '../interfaces/importador-interface';
|
|
6
6
|
import { ModuloDeclaracoes } from '../declaracoes';
|
|
7
7
|
import { ImportarBiblioteca } from '../construtos';
|
|
8
|
+
import { AcessoMetodoOuPropriedade } from '@designliquido/delegua/construtos';
|
|
8
9
|
/**
|
|
9
10
|
* O Interpretador visita todos os elementos complexos gerados pelo avaliador sintático (_parser_),
|
|
10
11
|
* e de fato executa a lógica de programação descrita no código.
|
|
@@ -14,13 +15,8 @@ export declare class InterpretadorComImportacao extends Interpretador implements
|
|
|
14
15
|
constructor(importador: ImportadorInterface<SimboloInterface>, diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
|
|
15
16
|
executar(declaracao: Declaracao, mostrarResultado?: boolean): Promise<any>;
|
|
16
17
|
visitarConstrutoImportarBiblioteca(importarBiblioteca: ImportarBiblioteca): Promise<import("@designliquido/delegua/interpretador/estruturas").DeleguaModulo>;
|
|
17
|
-
visitarDeclaracaoDefinicaoFuncao(funcaoDeclaracao: FuncaoDeclaracao):
|
|
18
|
-
id: string;
|
|
19
|
-
nome: string;
|
|
20
|
-
operacao: string;
|
|
21
|
-
tipo: string;
|
|
22
|
-
tipoExplicito: boolean;
|
|
23
|
-
};
|
|
18
|
+
visitarDeclaracaoDefinicaoFuncao(funcaoDeclaracao: FuncaoDeclaracao): Promise<any>;
|
|
24
19
|
visitarDeclaracaoModuloDeclaracoes(declaracao: ModuloDeclaracoes): Promise<import("@designliquido/delegua/interpretador/estruturas").DeleguaModulo>;
|
|
20
|
+
visitarExpressaoAcessoMetodoOuPropriedade(expressao: AcessoMetodoOuPropriedade): Promise<any>;
|
|
25
21
|
}
|
|
26
22
|
//# sourceMappingURL=interpretador-com-importacao.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-com-importacao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAIrE,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"interpretador-com-importacao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAIrE,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E;;;GAGG;AACH,qBAAa,0BACT,SAAQ,aACR,YAAW,mCAAmC;IAE9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAG9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EACjD,aAAa,EAAE,MAAM,EACrB,WAAW,UAAQ,EACnB,eAAe,GAAE,QAAe,EAChC,yBAAyB,GAAE,QAAe;IAM/B,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAcjF,kCAAkC,CAAC,kBAAkB,EAAE,kBAAkB;IAItE,gCAAgC,CAAC,gBAAgB,EAAE,gBAAgB;IAItE,kCAAkC,CAAC,UAAU,EAAE,iBAAiB;IAKvD,yCAAyC,CAAC,SAAS,EAAE,yBAAyB;CAGhG"}
|
|
@@ -68,6 +68,10 @@ class InterpretadorComImportacao extends interpretador_1.Interpretador {
|
|
|
68
68
|
async visitarDeclaracaoModuloDeclaracoes(declaracao) {
|
|
69
69
|
return comum.visitarDeclaracaoModuloDeclaracoes(this, declaracao);
|
|
70
70
|
}
|
|
71
|
+
// TODO: Passar lógica para o núcleo e apagar.
|
|
72
|
+
async visitarExpressaoAcessoMetodoOuPropriedade(expressao) {
|
|
73
|
+
return comum.visitarExpressaoAcessoMetodoOuPropriedade(this, expressao);
|
|
74
|
+
}
|
|
71
75
|
}
|
|
72
76
|
exports.InterpretadorComImportacao = InterpretadorComImportacao;
|
|
73
77
|
//# sourceMappingURL=interpretador-com-importacao.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-com-importacao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wEAAqE;AAErE,kGAAqF;AAOrF,+CAAiC;
|
|
1
|
+
{"version":3,"file":"interpretador-com-importacao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wEAAqE;AAErE,kGAAqF;AAOrF,+CAAiC;AAGjC;;;GAGG;AACH,MAAa,0BACT,SAAQ,6BAAa;IAKrB,YACI,UAAiD,EACjD,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAAC,UAAsB,EAAE,gBAAgB,GAAG,KAAK;QACpE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEnD,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,oBAAqB,CAAC,QAAQ,EAAE,CAAC;YACnE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,kBAAsC;QAC3E,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAEQ,gCAAgC,CAAC,gBAAkC;QACxE,OAAO,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,8CAA8C;IACrC,KAAK,CAAC,yCAAyC,CAAC,SAAoC;QACzF,OAAO,KAAK,CAAC,yCAAyC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;CACJ;AA/CD,gEA+CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/mecanismo-importacao-bibliotecas/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAA8B,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/mecanismo-importacao-bibliotecas/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAA8B,MAAM,iDAAiD,CAAC;AAI5G,eAAO,MAAM,yBAAyB,GAAI,MAAM,MAAM,kBAcrD,CAAC;AAiJF,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,OAmB/D,CAAC;AAEF,yBAA+B,IAAI,EAAE,MAAM,0BAK1C"}
|
|
@@ -40,6 +40,7 @@ const caminho = __importStar(require("path"));
|
|
|
40
40
|
const sistemaArquivos = __importStar(require("fs"));
|
|
41
41
|
const excecoes_1 = require("@designliquido/delegua/excecoes");
|
|
42
42
|
const estruturas_1 = require("@designliquido/delegua/interpretador/estruturas");
|
|
43
|
+
const estruturas_2 = require("../interpretador/estruturas");
|
|
43
44
|
const carregarBibliotecaDelegua = (nome) => {
|
|
44
45
|
try {
|
|
45
46
|
const dadosDoManifesto = require(nome + '/delegua-modulo');
|
|
@@ -58,6 +59,38 @@ const carregarBibliotecaDelegua = (nome) => {
|
|
|
58
59
|
}
|
|
59
60
|
};
|
|
60
61
|
exports.carregarBibliotecaDelegua = carregarBibliotecaDelegua;
|
|
62
|
+
const montarFuncaoPadraoDeManifesto = (dadosMetodo) => {
|
|
63
|
+
const funcaoPadrao = new estruturas_1.FuncaoPadrao(dadosMetodo.argumentos.length, dadosMetodo.funcao);
|
|
64
|
+
funcaoPadrao.descartarPrimeiroArgumento = false;
|
|
65
|
+
funcaoPadrao.argumentos = dadosMetodo.argumentos;
|
|
66
|
+
funcaoPadrao.tipoRetorno = dadosMetodo.tipoRetorno;
|
|
67
|
+
// funcaoPadrao.documentacao = dadosMetodo.documentacao;
|
|
68
|
+
return funcaoPadrao;
|
|
69
|
+
};
|
|
70
|
+
const modularizarBibliotecaPorManifesto = (manifestoModulo, nome) => {
|
|
71
|
+
const novoModulo = new estruturas_1.DeleguaModulo(nome);
|
|
72
|
+
for (const [metodoOuClasse, dadosMetodoOuClasse] of Object.entries(manifestoModulo)) {
|
|
73
|
+
if ('funcao' in dadosMetodoOuClasse && typeof dadosMetodoOuClasse.funcao === 'function') {
|
|
74
|
+
const funcaoPadrao = montarFuncaoPadraoDeManifesto(dadosMetodoOuClasse);
|
|
75
|
+
novoModulo.componentes[metodoOuClasse] = funcaoPadrao;
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if ('implementacao' in dadosMetodoOuClasse) {
|
|
79
|
+
const implementacao = dadosMetodoOuClasse.implementacao;
|
|
80
|
+
if (typeof implementacao === 'function' &&
|
|
81
|
+
String(implementacao).startsWith('class')) {
|
|
82
|
+
const metadados = dadosMetodoOuClasse;
|
|
83
|
+
// TODO: Deixar isso melhor.
|
|
84
|
+
const nomeCurtoModulo = novoModulo.nome.replace(/@designliquido\/delegua-/, '');
|
|
85
|
+
const classeDeModulo = new estruturas_2.ClasseDeModulo(metodoOuClasse, nomeCurtoModulo, metadados.implementacao, metadados.metodos, metadados.propriedades);
|
|
86
|
+
novoModulo.componentes[metodoOuClasse] = classeDeModulo;
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// TODO: Levantar erro aqui?
|
|
91
|
+
}
|
|
92
|
+
return novoModulo;
|
|
93
|
+
};
|
|
61
94
|
const carregarBiblioteca = async (nomeDaBiblioteca, caminhoDaBiblioteca) => {
|
|
62
95
|
let dadosDoModulo;
|
|
63
96
|
try {
|
|
@@ -73,18 +106,6 @@ const carregarBiblioteca = async (nomeDaBiblioteca, caminhoDaBiblioteca) => {
|
|
|
73
106
|
}
|
|
74
107
|
return modularizarBibliotecaNpmPadrao(dadosDoModulo, nomeDaBiblioteca);
|
|
75
108
|
};
|
|
76
|
-
const modularizarBibliotecaPorManifesto = (manifestoModulo, nome) => {
|
|
77
|
-
const novoModulo = new estruturas_1.DeleguaModulo(nome);
|
|
78
|
-
for (const [metodo, dadosMetodo] of Object.entries(manifestoModulo)) {
|
|
79
|
-
const funcaoPadrao = new estruturas_1.FuncaoPadrao(dadosMetodo.argumentos.length, dadosMetodo.funcao);
|
|
80
|
-
funcaoPadrao.descartarPrimeiroArgumento = false;
|
|
81
|
-
funcaoPadrao.argumentos = dadosMetodo.argumentos;
|
|
82
|
-
funcaoPadrao.tipoRetorno = dadosMetodo.tipoRetorno;
|
|
83
|
-
// funcaoPadrao.documentacao = dadosMetodo.documentacao;
|
|
84
|
-
novoModulo.componentes[metodo] = funcaoPadrao;
|
|
85
|
-
}
|
|
86
|
-
return novoModulo;
|
|
87
|
-
};
|
|
88
109
|
const modularizarBibliotecaNpmPadrao = (dadosDoModulo, nome) => {
|
|
89
110
|
const novoModulo = new estruturas_1.DeleguaModulo(nome);
|
|
90
111
|
const chaves = Object.keys(dadosDoModulo);
|
|
@@ -93,9 +114,9 @@ const modularizarBibliotecaNpmPadrao = (dadosDoModulo, nome) => {
|
|
|
93
114
|
if (typeof moduloAtual === 'function') {
|
|
94
115
|
// Por definição, funções tradicionais e classes são identificadas em JavaScript como "functions".
|
|
95
116
|
// A primeira heurística era verificando a propriedade `prototype`, mas isso não funciona bem
|
|
96
|
-
// porque classes e funções avulsas todas possuem prototype
|
|
117
|
+
// porque classes e funções avulsas todas possuem `prototype`.
|
|
97
118
|
// Uma heurística nova é converter `moduloAtual` para `string` e verificar se a declaração começa com `class`.
|
|
98
|
-
// Se sim, podemos dizer que a
|
|
119
|
+
// Se sim, podemos dizer que a `function` é uma classe padrão.
|
|
99
120
|
// Caso contrário, é uma função (`FuncaoPadrao`).
|
|
100
121
|
if (String(moduloAtual).startsWith('class')) {
|
|
101
122
|
const classePadrao = new estruturas_1.ClassePadrao(chaves[i], moduloAtual);
|
|
@@ -132,6 +153,7 @@ const importarPacoteExternoCompleto = async (nome) => {
|
|
|
132
153
|
};
|
|
133
154
|
const verificarModulosDelegua = (nome) => {
|
|
134
155
|
const modulos = {
|
|
156
|
+
arquivos: '@designliquido/delegua-arquivos',
|
|
135
157
|
estatistica: '@designliquido/delegua-estatistica',
|
|
136
158
|
estatística: '@designliquido/delegua-estatistica',
|
|
137
159
|
fisica: '@designliquido/delegua-fisica',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/mecanismo-importacao-bibliotecas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/mecanismo-importacao-bibliotecas/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua-node",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"empacotar": "yarn rimraf ./dist && tsc && yarn copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && yarn copyfiles -V ./package.json ./dist/bin && yarn copyfiles -V ./README.md ./dist && yarn copyfiles -V ./LICENSE ./dist",
|
|
@@ -12,17 +12,18 @@
|
|
|
12
12
|
"testes:servidor-depuracao": "yarn ts-node ./fontes/depuracao/servidor-depuracao.ts"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@designliquido/birl": "^0.2.
|
|
16
|
-
"@designliquido/delegua": "^0.54.
|
|
17
|
-
"@designliquido/mapler": "^0.2.
|
|
18
|
-
"@designliquido/portugol-studio": "^0.5.
|
|
19
|
-
"@designliquido/potigol": "^0.4.
|
|
20
|
-
"@designliquido/visualg": "^0.4.
|
|
15
|
+
"@designliquido/birl": "^0.2.7",
|
|
16
|
+
"@designliquido/delegua": "^0.54.8",
|
|
17
|
+
"@designliquido/mapler": "^0.2.8",
|
|
18
|
+
"@designliquido/portugol-studio": "^0.5.7",
|
|
19
|
+
"@designliquido/potigol": "^0.4.8",
|
|
20
|
+
"@designliquido/visualg": "^0.4.8",
|
|
21
21
|
"chalk": "4.1.2",
|
|
22
22
|
"commander": "^14.0.0",
|
|
23
23
|
"json-colorizer": "^3.0.1"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
+
"@designliquido/delegua-arquivos": "^0.0.3",
|
|
26
27
|
"@designliquido/delegua-estatistica": "^0.1.0",
|
|
27
28
|
"@designliquido/delegua-fisica": "^0.1.0",
|
|
28
29
|
"@designliquido/delegua-http": "^0.1.2",
|