@designliquido/delegua 0.46.2 → 0.48.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/analisador-semantico.d.ts.map +1 -1
- package/analisador-semantico/analisador-semantico.js +2 -1
- package/analisador-semantico/analisador-semantico.js.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico-base.js +1 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts +2 -0
- package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +49 -12
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/comum.d.ts +2 -2
- package/avaliador-sintatico/comum.d.ts.map +1 -1
- package/avaliador-sintatico/comum.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +28 -20
- package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
- package/bibliotecas/biblioteca-global.d.ts.map +1 -1
- package/bibliotecas/biblioteca-global.js.map +1 -1
- package/bibliotecas/primitivas-dicionario.d.ts.map +1 -1
- package/bibliotecas/primitivas-dicionario.js +33 -18
- package/bibliotecas/primitivas-dicionario.js.map +1 -1
- package/bibliotecas/primitivas-numero.d.ts.map +1 -1
- package/bibliotecas/primitivas-numero.js +27 -0
- package/bibliotecas/primitivas-numero.js.map +1 -1
- package/bibliotecas/primitivas-texto.d.ts.map +1 -1
- package/bibliotecas/primitivas-texto.js +125 -11
- package/bibliotecas/primitivas-texto.js.map +1 -1
- package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
- package/bibliotecas/primitivas-vetor.js +173 -12
- package/bibliotecas/primitivas-vetor.js.map +1 -1
- package/bin/package.json +1 -1
- package/construtos/referencia-biblioteca-global.d.ts.map +1 -1
- package/construtos/referencia-biblioteca-global.js.map +1 -1
- package/declaracoes/para-cada.d.ts +3 -3
- package/declaracoes/para-cada.d.ts.map +1 -1
- package/declaracoes/para-cada.js +2 -2
- package/declaracoes/para-cada.js.map +1 -1
- package/formatadores/formatador-delegua.js +1 -1
- package/formatadores/formatador-delegua.js.map +1 -1
- package/informacao-variavel-ou-constante.d.ts +2 -2
- package/informacao-variavel-ou-constante.d.ts.map +1 -1
- package/informacao-variavel-ou-constante.js +2 -1
- package/informacao-variavel-ou-constante.js.map +1 -1
- package/interfaces/escopo-execucao.d.ts +2 -2
- package/interfaces/escopo-execucao.d.ts.map +1 -1
- package/interfaces/interpretador-interface.d.ts +2 -2
- package/interfaces/interpretador-interface.d.ts.map +1 -1
- package/interfaces/pilha-escopos-execucao-interface.d.ts +2 -0
- package/interfaces/pilha-escopos-execucao-interface.d.ts.map +1 -1
- package/interpretador/depuracao/comum.d.ts +13 -13
- package/interpretador/depuracao/comum.d.ts.map +1 -1
- package/interpretador/depuracao/comum.js +24 -24
- package/interpretador/depuracao/comum.js.map +1 -1
- package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts +9 -9
- package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts.map +1 -1
- package/interpretador/depuracao/interpretador-base-com-depuracao.js.map +1 -1
- package/interpretador/depuracao/interpretador-com-depuracao.d.ts +3 -3
- package/interpretador/depuracao/interpretador-com-depuracao.d.ts.map +1 -1
- package/interpretador/depuracao/interpretador-com-depuracao.js +3 -3
- package/interpretador/depuracao/interpretador-com-depuracao.js.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +3 -2
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +24 -70
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +2 -2
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +3 -2
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +18 -15
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
- package/{espaco-variaveis.d.ts → interpretador/espaco-memoria.d.ts} +10 -7
- package/interpretador/espaco-memoria.d.ts.map +1 -0
- package/{espaco-variaveis.js → interpretador/espaco-memoria.js} +10 -7
- package/interpretador/espaco-memoria.js.map +1 -0
- package/interpretador/estruturas/delegua-funcao.d.ts +2 -2
- package/interpretador/estruturas/delegua-funcao.d.ts.map +1 -1
- package/interpretador/estruturas/delegua-funcao.js +2 -2
- package/interpretador/estruturas/delegua-funcao.js.map +1 -1
- package/interpretador/estruturas/descritor-tipo-classe.d.ts +1 -1
- package/interpretador/estruturas/descritor-tipo-classe.d.ts.map +1 -1
- package/interpretador/estruturas/index.d.ts +1 -0
- package/interpretador/estruturas/index.d.ts.map +1 -1
- package/interpretador/estruturas/index.js +1 -0
- package/interpretador/estruturas/index.js.map +1 -1
- package/interpretador/estruturas/referencia-montao.d.ts +15 -0
- package/interpretador/estruturas/referencia-montao.d.ts.map +1 -0
- package/interpretador/estruturas/referencia-montao.js +24 -0
- package/interpretador/estruturas/referencia-montao.js.map +1 -0
- package/interpretador/interpretador-base.d.ts +7 -4
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +68 -59
- package/interpretador/interpretador-base.js.map +1 -1
- package/interpretador/interpretador-com-depuracao.d.ts +191 -0
- package/interpretador/interpretador-com-depuracao.d.ts.map +1 -0
- package/interpretador/interpretador-com-depuracao.js +585 -0
- package/interpretador/interpretador-com-depuracao.js.map +1 -0
- package/interpretador/interpretador.d.ts +45 -2
- package/interpretador/interpretador.d.ts.map +1 -1
- package/interpretador/interpretador.js +365 -13
- package/interpretador/interpretador.js.map +1 -1
- package/interpretador/montao.d.ts +38 -0
- package/interpretador/montao.d.ts.map +1 -0
- package/interpretador/montao.js +56 -0
- package/interpretador/montao.js.map +1 -0
- package/interpretador/pilha-escopos-execucao.d.ts +2 -0
- package/interpretador/pilha-escopos-execucao.d.ts.map +1 -1
- package/interpretador/pilha-escopos-execucao.js +45 -26
- package/interpretador/pilha-escopos-execucao.js.map +1 -1
- package/lexador/dialetos/lexador-tenda.d.ts.map +1 -1
- package/lexador/dialetos/lexador-tenda.js +4 -2
- package/lexador/dialetos/lexador-tenda.js.map +1 -1
- package/lexador/dialetos/palavras-reservadas/tenda.js +1 -1
- package/package.json +1 -1
- package/tipos-de-simbolos/tenda.d.ts.map +1 -1
- package/tipos-de-simbolos/tenda.js.map +1 -1
- package/tradutores/tradutor-assemblyscript.js +1 -1
- package/tradutores/tradutor-assemblyscript.js.map +1 -1
- package/tradutores/tradutor-javascript.d.ts.map +1 -1
- package/tradutores/tradutor-javascript.js +2 -1
- package/tradutores/tradutor-javascript.js.map +1 -1
- package/tradutores/tradutor-mermaidjs.d.ts.map +1 -1
- package/tradutores/tradutor-mermaidjs.js +2 -1
- package/tradutores/tradutor-mermaidjs.js.map +1 -1
- package/tradutores/tradutor-portugol-ipt.d.ts +1 -1
- package/tradutores/tradutor-portugol-ipt.d.ts.map +1 -1
- package/tradutores/tradutor-portugol-ipt.js +5 -5
- package/tradutores/tradutor-portugol-ipt.js.map +1 -1
- package/tradutores/tradutor-python.d.ts.map +1 -1
- package/tradutores/tradutor-python.js +2 -1
- package/tradutores/tradutor-python.js.map +1 -1
- package/tradutores/tradutor-reverso-tenda.d.ts.map +1 -1
- package/tradutores/tradutor-reverso-tenda.js +17 -8
- package/tradutores/tradutor-reverso-tenda.js.map +1 -1
- package/umd/delegua.js +1376 -533
- package/espaco-variaveis.d.ts.map +0 -1
- package/espaco-variaveis.js.map +0 -1
|
@@ -13,7 +13,7 @@ const inferenciador_1 = require("../inferenciador");
|
|
|
13
13
|
const metodo_primitiva_1 = require("./estruturas/metodo-primitiva");
|
|
14
14
|
const lexador_1 = require("../lexador");
|
|
15
15
|
const avaliador_sintatico_1 = require("../avaliador-sintatico");
|
|
16
|
-
const
|
|
16
|
+
const espaco_memoria_1 = require("./espaco-memoria");
|
|
17
17
|
const comum_1 = require("./comum");
|
|
18
18
|
const excecoes_1 = require("../excecoes");
|
|
19
19
|
const primitivas_dicionario_1 = __importDefault(require("../bibliotecas/primitivas-dicionario"));
|
|
@@ -56,7 +56,7 @@ class InterpretadorBase {
|
|
|
56
56
|
this.resultadoInterpretador = [];
|
|
57
57
|
// Isso existe por causa de Potigol.
|
|
58
58
|
// Para acessar uma variável de classe, não é preciso a palavra `isto`.
|
|
59
|
-
this.
|
|
59
|
+
this.expandirPropriedadesDeObjetosEmEspacoMemoria = false;
|
|
60
60
|
// Por padrão é verdadeiro porque Delégua e Pituguês usam
|
|
61
61
|
// o interpretador base como implementação padrão.
|
|
62
62
|
this.requerDeclaracaoPropriedades = true;
|
|
@@ -64,7 +64,7 @@ class InterpretadorBase {
|
|
|
64
64
|
const escopoExecucao = {
|
|
65
65
|
declaracoes: [],
|
|
66
66
|
declaracaoAtual: 0,
|
|
67
|
-
|
|
67
|
+
espacoMemoria: new espaco_memoria_1.EspacoMemoria(),
|
|
68
68
|
finalizado: false,
|
|
69
69
|
tipo: 'outro',
|
|
70
70
|
emLacoRepeticao: false,
|
|
@@ -72,6 +72,15 @@ class InterpretadorBase {
|
|
|
72
72
|
this.pilhaEscoposExecucao.empilhar(escopoExecucao);
|
|
73
73
|
(0, comum_1.carregarBibliotecasGlobais)(this.pilhaEscoposExecucao);
|
|
74
74
|
}
|
|
75
|
+
resolverValor(objeto) {
|
|
76
|
+
if (objeto === null || objeto === undefined) {
|
|
77
|
+
return objeto;
|
|
78
|
+
}
|
|
79
|
+
if (objeto.hasOwnProperty('valor')) {
|
|
80
|
+
return objeto.valor;
|
|
81
|
+
}
|
|
82
|
+
return objeto;
|
|
83
|
+
}
|
|
75
84
|
visitarExpressaoArgumentoReferenciaFuncao(expressao) {
|
|
76
85
|
throw new Error('Método não implementado.');
|
|
77
86
|
}
|
|
@@ -179,14 +188,12 @@ class InterpretadorBase {
|
|
|
179
188
|
retirarInterpolacao(texto, variaveis) {
|
|
180
189
|
let textoFinal = texto;
|
|
181
190
|
variaveis.forEach((elemento) => {
|
|
182
|
-
var _a, _b
|
|
191
|
+
var _a, _b;
|
|
183
192
|
if (((_a = elemento === null || elemento === void 0 ? void 0 : elemento.valor) === null || _a === void 0 ? void 0 : _a.tipo) === delegua_2.default.LOGICO) {
|
|
184
193
|
textoFinal = textoFinal.replace('${' + elemento.variavel + '}', this.paraTexto((_b = elemento === null || elemento === void 0 ? void 0 : elemento.valor) === null || _b === void 0 ? void 0 : _b.valor));
|
|
185
194
|
}
|
|
186
195
|
else {
|
|
187
|
-
const valor = (
|
|
188
|
-
? elemento === null || elemento === void 0 ? void 0 : elemento.valor.valor
|
|
189
|
-
: elemento === null || elemento === void 0 ? void 0 : elemento.valor;
|
|
196
|
+
const valor = this.resolverValor(elemento.valor);
|
|
190
197
|
textoFinal = textoFinal.replace('${' + elemento.variavel + '}', `${this.paraTexto(valor)}`);
|
|
191
198
|
}
|
|
192
199
|
});
|
|
@@ -245,7 +252,7 @@ class InterpretadorBase {
|
|
|
245
252
|
}
|
|
246
253
|
async visitarExpressaoUnaria(expressao) {
|
|
247
254
|
const operando = await this.avaliar(expressao.operando);
|
|
248
|
-
let valor =
|
|
255
|
+
let valor = this.resolverValor(operando);
|
|
249
256
|
switch (expressao.operador.tipo) {
|
|
250
257
|
case delegua_1.default.SUBTRACAO:
|
|
251
258
|
this.verificarOperandoNumero(expressao.operador, valor);
|
|
@@ -291,7 +298,7 @@ class InterpretadorBase {
|
|
|
291
298
|
async visitarExpressaoFormatacaoEscrita(declaracao) {
|
|
292
299
|
let resultado = '';
|
|
293
300
|
const conteudo = await this.avaliar(declaracao.expressao);
|
|
294
|
-
const valorConteudo = (conteudo
|
|
301
|
+
const valorConteudo = this.resolverValor(conteudo);
|
|
295
302
|
const tipoConteudo = conteudo.hasOwnProperty('tipo')
|
|
296
303
|
? conteudo.tipo
|
|
297
304
|
: typeof conteudo;
|
|
@@ -357,8 +364,8 @@ class InterpretadorBase {
|
|
|
357
364
|
async visitarExpressaoBinaria(expressao) {
|
|
358
365
|
const esquerda = await this.avaliar(expressao.esquerda);
|
|
359
366
|
const direita = await this.avaliar(expressao.direita);
|
|
360
|
-
const valorEsquerdo = (esquerda
|
|
361
|
-
const valorDireito = (direita
|
|
367
|
+
const valorEsquerdo = this.resolverValor(esquerda);
|
|
368
|
+
const valorDireito = this.resolverValor(direita);
|
|
362
369
|
const tipoEsquerdo = (esquerda === null || esquerda === void 0 ? void 0 : esquerda.hasOwnProperty('tipo'))
|
|
363
370
|
? esquerda.tipo
|
|
364
371
|
: (0, inferenciador_1.inferirTipoVariavel)(esquerda);
|
|
@@ -464,7 +471,7 @@ class InterpretadorBase {
|
|
|
464
471
|
const argumentosResolvidos = [];
|
|
465
472
|
for (const argumento of expressao.argumentos) {
|
|
466
473
|
const valorResolvido = await this.avaliar(argumento);
|
|
467
|
-
argumentosResolvidos.push((valorResolvido
|
|
474
|
+
argumentosResolvidos.push(this.resolverValor(valorResolvido));
|
|
468
475
|
}
|
|
469
476
|
return await entidadeChamada.chamar(this, argumentosResolvidos);
|
|
470
477
|
}
|
|
@@ -494,9 +501,7 @@ class InterpretadorBase {
|
|
|
494
501
|
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Chamada de função ou método inexistente: ' +
|
|
495
502
|
String(expressao.entidadeChamada), expressao.linha));
|
|
496
503
|
}
|
|
497
|
-
const entidadeChamada =
|
|
498
|
-
? variavelEntidadeChamada.valor
|
|
499
|
-
: variavelEntidadeChamada;
|
|
504
|
+
const entidadeChamada = this.resolverValor(variavelEntidadeChamada);
|
|
500
505
|
if (entidadeChamada instanceof estruturas_1.DeleguaModulo) {
|
|
501
506
|
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Entidade chamada é um módulo de Delégua. Provavelmente você quer chamar um de seus componentes?', expressao.linha));
|
|
502
507
|
}
|
|
@@ -519,9 +524,7 @@ class InterpretadorBase {
|
|
|
519
524
|
}
|
|
520
525
|
if (entidadeChamada instanceof estruturas_1.FuncaoPadrao) {
|
|
521
526
|
try {
|
|
522
|
-
return entidadeChamada.chamar(this, argumentos.map((a) => a && a.valor && a.valor.
|
|
523
|
-
? a.valor.valor
|
|
524
|
-
: a === null || a === void 0 ? void 0 : a.valor), expressao.entidadeChamada.simbolo);
|
|
527
|
+
return entidadeChamada.chamar(this, argumentos.map((a) => a && a.valor && this.resolverValor(a.valor)), expressao.entidadeChamada.simbolo);
|
|
525
528
|
}
|
|
526
529
|
catch (erro) {
|
|
527
530
|
this.erros.push({
|
|
@@ -555,7 +558,7 @@ class InterpretadorBase {
|
|
|
555
558
|
if (expressao.entidadeChamada.objeto) {
|
|
556
559
|
objeto = await this.avaliar(expressao.entidadeChamada.objeto);
|
|
557
560
|
}
|
|
558
|
-
return entidadeChamada.apply(
|
|
561
|
+
return entidadeChamada.apply(this.resolverValor(objeto), argumentos);
|
|
559
562
|
}
|
|
560
563
|
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Só pode chamar função ou classe.', expressao.linha));
|
|
561
564
|
}
|
|
@@ -574,7 +577,7 @@ class InterpretadorBase {
|
|
|
574
577
|
*/
|
|
575
578
|
async visitarExpressaoDeAtribuicao(expressao) {
|
|
576
579
|
const valor = await this.avaliar(expressao.valor);
|
|
577
|
-
const valorResolvido =
|
|
580
|
+
const valorResolvido = this.resolverValor(valor);
|
|
578
581
|
let indice = null;
|
|
579
582
|
if (expressao.indice) {
|
|
580
583
|
indice = await this.avaliar(expressao.indice);
|
|
@@ -588,9 +591,7 @@ class InterpretadorBase {
|
|
|
588
591
|
// Nunca será método aqui: apenas propriedade.
|
|
589
592
|
const alvoPropriedade = expressao.alvo;
|
|
590
593
|
const variavelObjeto = await this.avaliar(alvoPropriedade.objeto);
|
|
591
|
-
const objeto =
|
|
592
|
-
? variavelObjeto.valor
|
|
593
|
-
: variavelObjeto;
|
|
594
|
+
const objeto = this.resolverValor(variavelObjeto);
|
|
594
595
|
const valor = await this.avaliar(expressao.valor);
|
|
595
596
|
if (objeto.constructor.name === 'ObjetoDeleguaClasse') {
|
|
596
597
|
const objetoDeleguaClasse = objeto;
|
|
@@ -672,22 +673,33 @@ class InterpretadorBase {
|
|
|
672
673
|
}
|
|
673
674
|
return retornoExecucao;
|
|
674
675
|
}
|
|
676
|
+
// TODO: Descobrir se mais algum dialeto, fora Delégua e Pituguês, usam isso.
|
|
675
677
|
async visitarDeclaracaoParaCada(declaracao) {
|
|
676
678
|
let retornoExecucao;
|
|
677
679
|
// Posição atual precisa ser reiniciada, pois pode estar dentro de outro
|
|
678
680
|
// laço de repetição.
|
|
679
681
|
declaracao.posicaoAtual = 0;
|
|
680
682
|
const vetorResolvido = await this.avaliar(declaracao.vetor);
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
683
|
+
let valorVetorResolvido = this.resolverValor(vetorResolvido);
|
|
684
|
+
// Se até aqui vetor resolvido é um dicionário, converte dicionário
|
|
685
|
+
// para vetor de duplas.
|
|
686
|
+
if (declaracao.vetor.tipo === 'dicionário') {
|
|
687
|
+
valorVetorResolvido = Object.entries(valorVetorResolvido).map(v => new construtos_1.Dupla(v[0], v[1]));
|
|
688
|
+
}
|
|
684
689
|
if (!Array.isArray(valorVetorResolvido)) {
|
|
685
690
|
return Promise.reject("Variável ou literal provida em instrução 'para cada' não é um vetor.");
|
|
686
691
|
}
|
|
687
692
|
while (!(retornoExecucao instanceof quebras_1.Quebra) &&
|
|
688
693
|
declaracao.posicaoAtual < valorVetorResolvido.length) {
|
|
689
694
|
try {
|
|
690
|
-
|
|
695
|
+
if (declaracao.variavelIteracao instanceof construtos_1.Variavel) {
|
|
696
|
+
this.pilhaEscoposExecucao.definirVariavel(declaracao.variavelIteracao.simbolo.lexema, valorVetorResolvido[declaracao.posicaoAtual]);
|
|
697
|
+
}
|
|
698
|
+
if (declaracao.variavelIteracao instanceof construtos_1.Dupla) {
|
|
699
|
+
const valorComoDupla = valorVetorResolvido[declaracao.posicaoAtual];
|
|
700
|
+
this.pilhaEscoposExecucao.definirVariavel(declaracao.variavelIteracao.primeiro.valor, valorComoDupla.primeiro);
|
|
701
|
+
this.pilhaEscoposExecucao.definirVariavel(declaracao.variavelIteracao.segundo.valor, valorComoDupla.segundo);
|
|
702
|
+
}
|
|
691
703
|
retornoExecucao = await this.executar(declaracao.corpo);
|
|
692
704
|
if (retornoExecucao instanceof quebras_1.SustarQuebra) {
|
|
693
705
|
return null;
|
|
@@ -755,9 +767,7 @@ class InterpretadorBase {
|
|
|
755
767
|
}
|
|
756
768
|
async visitarDeclaracaoEscolha(declaracao) {
|
|
757
769
|
const condicaoEscolha = await this.avaliar(declaracao.identificadorOuLiteral);
|
|
758
|
-
const valorCondicaoEscolha =
|
|
759
|
-
? condicaoEscolha.valor
|
|
760
|
-
: condicaoEscolha;
|
|
770
|
+
const valorCondicaoEscolha = this.resolverValor(condicaoEscolha);
|
|
761
771
|
const caminhos = declaracao.caminhos;
|
|
762
772
|
const caminhoPadrao = declaracao.caminhoPadrao;
|
|
763
773
|
let encontrado = false;
|
|
@@ -859,9 +869,7 @@ class InterpretadorBase {
|
|
|
859
869
|
let formatoTexto = '';
|
|
860
870
|
for (const argumento of argumentos) {
|
|
861
871
|
const resultadoAvaliacao = await this.avaliar(argumento);
|
|
862
|
-
let valor = (resultadoAvaliacao
|
|
863
|
-
? resultadoAvaliacao.valor
|
|
864
|
-
: resultadoAvaliacao;
|
|
872
|
+
let valor = this.resolverValor(resultadoAvaliacao);
|
|
865
873
|
formatoTexto += `${this.paraTexto(valor)} `;
|
|
866
874
|
}
|
|
867
875
|
return formatoTexto.trimEnd();
|
|
@@ -919,7 +927,7 @@ class InterpretadorBase {
|
|
|
919
927
|
const escopoExecucao = {
|
|
920
928
|
declaracoes: declaracoes,
|
|
921
929
|
declaracaoAtual: 0,
|
|
922
|
-
|
|
930
|
+
espacoMemoria: ambiente || new espaco_memoria_1.EspacoMemoria(),
|
|
923
931
|
finalizado: false,
|
|
924
932
|
tipo: 'outro',
|
|
925
933
|
emLacoRepeticao: false,
|
|
@@ -941,9 +949,7 @@ class InterpretadorBase {
|
|
|
941
949
|
}
|
|
942
950
|
let valorFinal = null;
|
|
943
951
|
if (valorOuOutraVariavel !== null && valorOuOutraVariavel !== undefined) {
|
|
944
|
-
valorFinal =
|
|
945
|
-
? valorOuOutraVariavel.valor
|
|
946
|
-
: valorOuOutraVariavel;
|
|
952
|
+
valorFinal = this.resolverValor(valorOuOutraVariavel);
|
|
947
953
|
}
|
|
948
954
|
return valorFinal;
|
|
949
955
|
}
|
|
@@ -997,8 +1003,8 @@ class InterpretadorBase {
|
|
|
997
1003
|
if (objeto.tipo === delegua_2.default.TUPLA) {
|
|
998
1004
|
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.objeto.simbolo.lexema, 'Não é possível modificar uma tupla. As tuplas são estruturas de dados imutáveis.', expressao.linha));
|
|
999
1005
|
}
|
|
1000
|
-
objeto =
|
|
1001
|
-
indice =
|
|
1006
|
+
objeto = this.resolverValor(objeto);
|
|
1007
|
+
indice = this.resolverValor(indice);
|
|
1002
1008
|
if (Array.isArray(objeto)) {
|
|
1003
1009
|
if (indice < 0 && objeto.length !== 0) {
|
|
1004
1010
|
while (indice < 0) {
|
|
@@ -1018,7 +1024,7 @@ class InterpretadorBase {
|
|
|
1018
1024
|
objeto[indice] = valor;
|
|
1019
1025
|
}
|
|
1020
1026
|
else {
|
|
1021
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.objeto.nome, 'Somente listas, dicionários, classes e objetos podem ser mudados por
|
|
1027
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.objeto.nome, 'Somente listas, dicionários, classes e objetos podem ser mudados por índice.', expressao.linha));
|
|
1022
1028
|
}
|
|
1023
1029
|
}
|
|
1024
1030
|
async visitarExpressaoAcessoIndiceVariavel(expressao) {
|
|
@@ -1028,10 +1034,8 @@ class InterpretadorBase {
|
|
|
1028
1034
|
]);
|
|
1029
1035
|
const variavelObjeto = promises[0];
|
|
1030
1036
|
const indice = promises[1];
|
|
1031
|
-
const objeto =
|
|
1032
|
-
|
|
1033
|
-
: variavelObjeto;
|
|
1034
|
-
let valorIndice = indice.hasOwnProperty('valor') ? indice.valor : indice;
|
|
1037
|
+
const objeto = this.resolverValor(variavelObjeto);
|
|
1038
|
+
let valorIndice = this.resolverValor(indice);
|
|
1035
1039
|
if (Array.isArray(objeto)) {
|
|
1036
1040
|
if (!Number.isInteger(valorIndice)) {
|
|
1037
1041
|
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Somente inteiros podem ser usados para indexar um vetor.', expressao.linha));
|
|
@@ -1072,13 +1076,14 @@ class InterpretadorBase {
|
|
|
1072
1076
|
}
|
|
1073
1077
|
return objeto.charAt(valorIndice);
|
|
1074
1078
|
}
|
|
1075
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(
|
|
1079
|
+
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao({
|
|
1080
|
+
hashArquivo: this.hashArquivoDeclaracaoAtual,
|
|
1081
|
+
linha: this.linhaDeclaracaoAtual,
|
|
1082
|
+
}, 'Somente listas, dicionários, classes e objetos podem ter seus valores indexados.', expressao.linha));
|
|
1076
1083
|
}
|
|
1077
1084
|
async visitarExpressaoDefinirValor(expressao) {
|
|
1078
1085
|
const variavelObjeto = await this.avaliar(expressao.objeto);
|
|
1079
|
-
const objeto =
|
|
1080
|
-
? variavelObjeto.valor
|
|
1081
|
-
: variavelObjeto;
|
|
1086
|
+
const objeto = this.resolverValor(variavelObjeto);
|
|
1082
1087
|
if (objeto.constructor.name !== 'ObjetoDeleguaClasse' && objeto.constructor !== Object) {
|
|
1083
1088
|
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.nome, 'Somente instâncias e dicionários podem possuir campos.', expressao.linha));
|
|
1084
1089
|
}
|
|
@@ -1144,9 +1149,7 @@ class InterpretadorBase {
|
|
|
1144
1149
|
if (variavelObjeto.constructor.name === 'RetornoQuebra') {
|
|
1145
1150
|
variavelObjeto = variavelObjeto.valor;
|
|
1146
1151
|
}
|
|
1147
|
-
const objeto =
|
|
1148
|
-
? variavelObjeto.valor
|
|
1149
|
-
: variavelObjeto;
|
|
1152
|
+
const objeto = this.resolverValor(variavelObjeto);
|
|
1150
1153
|
// Outro caso que `instanceof` simplesmente não funciona para casos em Liquido,
|
|
1151
1154
|
// então testamos também o nome do construtor.
|
|
1152
1155
|
if (objeto instanceof estruturas_1.ObjetoDeleguaClasse ||
|
|
@@ -1162,7 +1165,7 @@ class InterpretadorBase {
|
|
|
1162
1165
|
const metodoDePrimitivaDicionario = primitivas_dicionario_1.default[expressao.simbolo.lexema].implementacao;
|
|
1163
1166
|
return new metodo_primitiva_1.MetodoPrimitiva(objeto, metodoDePrimitivaDicionario);
|
|
1164
1167
|
}
|
|
1165
|
-
return objeto[expressao.simbolo.lexema]
|
|
1168
|
+
return objeto[expressao.simbolo.lexema];
|
|
1166
1169
|
}
|
|
1167
1170
|
// Casos em que o objeto possui algum outro tipo que não o de objeto simples.
|
|
1168
1171
|
// Normalmente executam quando uma biblioteca é importada, e estamos tentando
|
|
@@ -1204,9 +1207,8 @@ class InterpretadorBase {
|
|
|
1204
1207
|
dicionario[chaveLogico] = promises[1];
|
|
1205
1208
|
continue;
|
|
1206
1209
|
}
|
|
1207
|
-
dicionario[promises[0]] =
|
|
1208
|
-
|
|
1209
|
-
: promises[1];
|
|
1210
|
+
dicionario[promises[0]] =
|
|
1211
|
+
this.resolverValor(promises[1]);
|
|
1210
1212
|
}
|
|
1211
1213
|
return dicionario;
|
|
1212
1214
|
}
|
|
@@ -1252,7 +1254,9 @@ class InterpretadorBase {
|
|
|
1252
1254
|
}
|
|
1253
1255
|
if (objeto.valor instanceof estruturas_1.ObjetoPadrao)
|
|
1254
1256
|
return objeto.valor.paraTexto();
|
|
1255
|
-
if (objeto instanceof estruturas_1.ObjetoDeleguaClasse ||
|
|
1257
|
+
if (objeto instanceof estruturas_1.ObjetoDeleguaClasse ||
|
|
1258
|
+
objeto instanceof estruturas_1.DeleguaFuncao ||
|
|
1259
|
+
typeof objeto.paraTexto === 'function')
|
|
1256
1260
|
return objeto.paraTexto();
|
|
1257
1261
|
if (objeto instanceof quebras_1.RetornoQuebra) {
|
|
1258
1262
|
if (typeof objeto.valor === 'boolean')
|
|
@@ -1334,7 +1338,10 @@ class InterpretadorBase {
|
|
|
1334
1338
|
try {
|
|
1335
1339
|
for (; !(retornoExecucao instanceof quebras_1.Quebra) &&
|
|
1336
1340
|
ultimoEscopo.declaracaoAtual < ultimoEscopo.declaracoes.length; ultimoEscopo.declaracaoAtual++) {
|
|
1337
|
-
|
|
1341
|
+
const declaracaoAtual = ultimoEscopo.declaracoes[ultimoEscopo.declaracaoAtual];
|
|
1342
|
+
this.linhaDeclaracaoAtual = declaracaoAtual.linha;
|
|
1343
|
+
this.hashArquivoDeclaracaoAtual = declaracaoAtual.hashArquivo;
|
|
1344
|
+
retornoExecucao = await this.executar(declaracaoAtual);
|
|
1338
1345
|
}
|
|
1339
1346
|
return retornoExecucao;
|
|
1340
1347
|
}
|
|
@@ -1355,7 +1362,7 @@ class InterpretadorBase {
|
|
|
1355
1362
|
this.pilhaEscoposExecucao.removerUltimo();
|
|
1356
1363
|
const escopoAnterior = this.pilhaEscoposExecucao.topoDaPilha();
|
|
1357
1364
|
if (manterAmbiente || (retornoExecucao && retornoExecucao.preservarEscopo === true)) {
|
|
1358
|
-
escopoAnterior.
|
|
1365
|
+
escopoAnterior.espacoMemoria.valores = Object.assign(escopoAnterior.espacoMemoria.valores, ultimoEscopo.espacoMemoria.valores);
|
|
1359
1366
|
}
|
|
1360
1367
|
}
|
|
1361
1368
|
}
|
|
@@ -1370,10 +1377,12 @@ class InterpretadorBase {
|
|
|
1370
1377
|
async interpretar(declaracoes, manterAmbiente = false) {
|
|
1371
1378
|
this.erros = [];
|
|
1372
1379
|
this.emDeclaracaoTente = false;
|
|
1380
|
+
this.linhaDeclaracaoAtual = -1;
|
|
1381
|
+
this.hashArquivoDeclaracaoAtual = -1;
|
|
1373
1382
|
const escopoExecucao = {
|
|
1374
1383
|
declaracoes: declaracoes,
|
|
1375
1384
|
declaracaoAtual: 0,
|
|
1376
|
-
|
|
1385
|
+
espacoMemoria: new espaco_memoria_1.EspacoMemoria(),
|
|
1377
1386
|
finalizado: false,
|
|
1378
1387
|
tipo: 'outro',
|
|
1379
1388
|
emLacoRepeticao: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-base.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpretador-base.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-base.ts"],"names":[],"mappings":"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"}
|