@designliquido/portugol-studio 0.4.36 → 0.4.38
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/interpretador/interpretador-portugol-studio.js +2 -2
- package/interpretador/interpretador-portugol-studio.js.map +1 -1
- package/interpretador/pilha-escopos-execucao-portugol-studio.d.ts +2 -0
- package/interpretador/pilha-escopos-execucao-portugol-studio.d.ts.map +1 -1
- package/interpretador/pilha-escopos-execucao-portugol-studio.js +34 -28
- package/interpretador/pilha-escopos-execucao-portugol-studio.js.map +1 -1
- package/package.json +2 -2
|
@@ -35,7 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.InterpretadorPortugolStudio = void 0;
|
|
37
37
|
const interpretador_base_1 = require("@designliquido/delegua/interpretador/interpretador-base");
|
|
38
|
-
const
|
|
38
|
+
const espaco_memoria_1 = require("@designliquido/delegua/interpretador/espaco-memoria");
|
|
39
39
|
const pilha_escopos_execucao_portugol_studio_1 = require("./pilha-escopos-execucao-portugol-studio");
|
|
40
40
|
const comum = __importStar(require("./comum"));
|
|
41
41
|
class InterpretadorPortugolStudio extends interpretador_base_1.InterpretadorBase {
|
|
@@ -51,7 +51,7 @@ class InterpretadorPortugolStudio extends interpretador_base_1.InterpretadorBase
|
|
|
51
51
|
const escopoExecucao = {
|
|
52
52
|
declaracoes: [],
|
|
53
53
|
declaracaoAtual: 0,
|
|
54
|
-
|
|
54
|
+
espacoMemoria: new espaco_memoria_1.EspacoMemoria(),
|
|
55
55
|
finalizado: false,
|
|
56
56
|
tipo: 'outro',
|
|
57
57
|
emLacoRepeticao: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-portugol-studio.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-portugol-studio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gGAA4F;AAE5F,
|
|
1
|
+
{"version":3,"file":"interpretador-portugol-studio.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-portugol-studio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gGAA4F;AAE5F,wFAAoF;AAKpF,qGAA8F;AAI9F,+CAAiC;AAEjC,MAAa,2BAA4B,SAAQ,sCAAiB;IAK9D,YACI,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,cAAwB,IAAI;QAE5B,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QAVxE,gBAAW,GAAa,GAAG,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACzF,CAAC,CAAC;QAUE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,2EAAkC,EAAE,CAAC;QACrE,MAAM,cAAc,GAAmB;YACnC,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,CAAC;YAClB,aAAa,EAAE,IAAI,8BAAa,EAAE;YAClC,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,OAAO;YACb,eAAe,EAAE,KAAK;SACzB,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAAgB;QACxC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,UAAoB;QAChD,OAAO,KAAK,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAe;QACtC,OAAO,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QAC1C,OAAO,KAAK,CAAC,2BAA2B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,IAAI,CAAC;YACD,MAAM,YAAY,GAAW,MAAM,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/F,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,IAAS,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACZ,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,WAAW,EAAE,UAAU,CAAC,WAAW;aACtC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ;AAtED,kEAsEC"}
|
|
@@ -5,6 +5,8 @@ import { DeleguaFuncao } from '@designliquido/delegua/interpretador/estruturas';
|
|
|
5
5
|
export declare class PilhaEscoposExecucaoPortugolStudio implements PilhaEscoposExecucaoInterface {
|
|
6
6
|
pilha: EscopoExecucao[];
|
|
7
7
|
constructor();
|
|
8
|
+
migrarReferenciaMontaoParaEscopoDeVariavel(nomeVariavel: string, enderecoMontao: string): void;
|
|
9
|
+
registrarReferenciaMontao(endereco: string): void;
|
|
8
10
|
obterTodasDeclaracoesClasse(): void;
|
|
9
11
|
obterReferenciaFuncao(idFuncao: string): DeleguaFuncao;
|
|
10
12
|
registrarReferenciaFuncao(idFuncao: string, funcao: DeleguaFuncao): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pilha-escopos-execucao-portugol-studio.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/pilha-escopos-execucao-portugol-studio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGxF,OAAO,EAAuB,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAKrG,qBAAa,kCAAmC,YAAW,6BAA6B;IACpF,KAAK,EAAE,cAAc,EAAE,CAAC;;IAexB,2BAA2B;IAI3B,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IAItD,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAIxE,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAIpC,MAAM,IAAI,OAAO;IAIjB,SAAS,IAAI,MAAM;IAInB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;IAI1C,WAAW,IAAI,cAAc;IAK7B,aAAa,IAAI,cAAc;IAK/B,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAwBxE,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM;IAkC/D,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAYrE,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG;IA4BtD,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAW5D,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB;IAKnE,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,iBAAiB;IAWhE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IAcrD;;OAEG;IACH,mBAAmB,CAAC,cAAc,GAAE,iBAAiB,EAAO,GAAG,GAAG,EAAE;IAgBpE;;;OAGG;IACH,uBAAuB,IAAI;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE;IAa5D;;;OAGG;IACH,0BAA0B,IAAI,GAAG;CAYpC"}
|
|
1
|
+
{"version":3,"file":"pilha-escopos-execucao-portugol-studio.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/pilha-escopos-execucao-portugol-studio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGxF,OAAO,EAAuB,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAKrG,qBAAa,kCAAmC,YAAW,6BAA6B;IACpF,KAAK,EAAE,cAAc,EAAE,CAAC;;IAexB,0CAA0C,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAI9F,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIjD,2BAA2B;IAI3B,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IAItD,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAIxE,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAIpC,MAAM,IAAI,OAAO;IAIjB,SAAS,IAAI,MAAM;IAInB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;IAI1C,WAAW,IAAI,cAAc;IAK7B,aAAa,IAAI,cAAc;IAK/B,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAwBxE,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM;IAkC/D,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAYrE,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG;IA4BtD,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAW5D,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB;IAKnE,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,iBAAiB;IAWhE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IAcrD;;OAEG;IACH,mBAAmB,CAAC,cAAc,GAAE,iBAAiB,EAAO,GAAG,GAAG,EAAE;IAgBpE;;;OAGG;IACH,uBAAuB,IAAI;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE;IAa5D;;;OAGG;IACH,0BAA0B,IAAI,GAAG;CAYpC"}
|
|
@@ -4,7 +4,7 @@ exports.PilhaEscoposExecucaoPortugolStudio = void 0;
|
|
|
4
4
|
const lexador_1 = require("@designliquido/delegua/lexador");
|
|
5
5
|
const excecoes_1 = require("@designliquido/delegua/excecoes");
|
|
6
6
|
const estruturas_1 = require("@designliquido/delegua/interpretador/estruturas");
|
|
7
|
-
const
|
|
7
|
+
const espaco_memoria_1 = require("@designliquido/delegua/interpretador/espaco-memoria");
|
|
8
8
|
const inferenciador_1 = require("./inferenciador");
|
|
9
9
|
class PilhaEscoposExecucaoPortugolStudio {
|
|
10
10
|
constructor() {
|
|
@@ -12,13 +12,19 @@ class PilhaEscoposExecucaoPortugolStudio {
|
|
|
12
12
|
const escopoExecucao = {
|
|
13
13
|
declaracoes: [],
|
|
14
14
|
declaracaoAtual: 0,
|
|
15
|
-
|
|
15
|
+
espacoMemoria: new espaco_memoria_1.EspacoMemoria(),
|
|
16
16
|
finalizado: false,
|
|
17
17
|
tipo: 'outro',
|
|
18
18
|
emLacoRepeticao: false,
|
|
19
19
|
};
|
|
20
20
|
this.empilhar(escopoExecucao);
|
|
21
21
|
}
|
|
22
|
+
migrarReferenciaMontaoParaEscopoDeVariavel(nomeVariavel, enderecoMontao) {
|
|
23
|
+
throw new Error('Método não implementado.');
|
|
24
|
+
}
|
|
25
|
+
registrarReferenciaMontao(endereco) {
|
|
26
|
+
throw new Error('Método não implementado.');
|
|
27
|
+
}
|
|
22
28
|
obterTodasDeclaracoesClasse() {
|
|
23
29
|
throw new Error('Método não implementado.');
|
|
24
30
|
}
|
|
@@ -51,7 +57,7 @@ class PilhaEscoposExecucaoPortugolStudio {
|
|
|
51
57
|
return this.pilha.pop();
|
|
52
58
|
}
|
|
53
59
|
definirConstante(nomeConstante, valor, tipo) {
|
|
54
|
-
const constante = this.pilha[this.pilha.length - 1].
|
|
60
|
+
const constante = this.pilha[this.pilha.length - 1].espacoMemoria.valores[nomeConstante];
|
|
55
61
|
let tipoConstante;
|
|
56
62
|
if (constante && constante.hasOwnProperty('tipo')) {
|
|
57
63
|
tipoConstante = constante.tipo;
|
|
@@ -69,16 +75,16 @@ class PilhaEscoposExecucaoPortugolStudio {
|
|
|
69
75
|
subtipo: tipoAbsoluto,
|
|
70
76
|
imutavel: true,
|
|
71
77
|
};
|
|
72
|
-
this.pilha[this.pilha.length - 1].
|
|
78
|
+
this.pilha[this.pilha.length - 1].espacoMemoria.valores[nomeConstante] = elementoAlvo;
|
|
73
79
|
}
|
|
74
80
|
definirVariavel(nomeVariavel, valor, tipo) {
|
|
75
81
|
let variavel;
|
|
76
82
|
let profundidadeVariavel = 0;
|
|
77
83
|
for (let i = 1; i <= this.pilha.length; i++) {
|
|
78
84
|
profundidadeVariavel = this.pilha.length - i;
|
|
79
|
-
const
|
|
80
|
-
if (
|
|
81
|
-
variavel =
|
|
85
|
+
const espacoMemoria = this.pilha[profundidadeVariavel].espacoMemoria;
|
|
86
|
+
if (espacoMemoria.valores[nomeVariavel] !== undefined) {
|
|
87
|
+
variavel = espacoMemoria.valores[nomeVariavel];
|
|
82
88
|
break;
|
|
83
89
|
}
|
|
84
90
|
}
|
|
@@ -100,14 +106,14 @@ class PilhaEscoposExecucaoPortugolStudio {
|
|
|
100
106
|
imutavel: false,
|
|
101
107
|
};
|
|
102
108
|
const profundadeResolvida = profundidadeVariavel > 0 ? profundidadeVariavel : this.pilha.length - 1;
|
|
103
|
-
this.pilha[profundadeResolvida].
|
|
109
|
+
this.pilha[profundadeResolvida].espacoMemoria.valores[nomeVariavel] = elementoAlvo;
|
|
104
110
|
}
|
|
105
111
|
atribuirVariavelEm(distancia, simbolo, valor) {
|
|
106
|
-
const
|
|
107
|
-
if (
|
|
112
|
+
const espacoMemoriaAncestral = this.pilha[this.pilha.length - distancia].espacoMemoria;
|
|
113
|
+
if (espacoMemoriaAncestral.valores[simbolo.lexema].imutavel) {
|
|
108
114
|
throw new excecoes_1.ErroEmTempoDeExecucao(simbolo, `Constante '${simbolo.lexema}' não pode receber novos valores.`);
|
|
109
115
|
}
|
|
110
|
-
|
|
116
|
+
espacoMemoriaAncestral.valores[simbolo.lexema] = {
|
|
111
117
|
valor,
|
|
112
118
|
tipo: (0, inferenciador_1.inferirTipoVariavel)(valor),
|
|
113
119
|
imutavel: false,
|
|
@@ -115,15 +121,15 @@ class PilhaEscoposExecucaoPortugolStudio {
|
|
|
115
121
|
}
|
|
116
122
|
atribuirVariavel(simbolo, valor) {
|
|
117
123
|
for (let i = 1; i <= this.pilha.length; i++) {
|
|
118
|
-
const
|
|
119
|
-
if (
|
|
120
|
-
const variavel =
|
|
124
|
+
const espacoMemoria = this.pilha[this.pilha.length - i].espacoMemoria;
|
|
125
|
+
if (espacoMemoria.valores[simbolo.lexema] !== undefined) {
|
|
126
|
+
const variavel = espacoMemoria.valores[simbolo.lexema];
|
|
121
127
|
if (variavel.imutavel) {
|
|
122
128
|
throw new excecoes_1.ErroEmTempoDeExecucao(simbolo, `Constante '${simbolo.lexema}' não pode receber novos valores.`);
|
|
123
129
|
}
|
|
124
130
|
const tipo = (variavel && variavel.hasOwnProperty('tipo') ? variavel.tipo : (0, inferenciador_1.inferirTipoVariavel)(valor)).toLowerCase();
|
|
125
131
|
const valorResolvido = (0, inferenciador_1.converterValor)(tipo, valor);
|
|
126
|
-
|
|
132
|
+
espacoMemoria.valores[simbolo.lexema] = {
|
|
127
133
|
valor: valorResolvido,
|
|
128
134
|
tipo: tipo,
|
|
129
135
|
imutavel: false,
|
|
@@ -143,23 +149,23 @@ class PilhaEscoposExecucaoPortugolStudio {
|
|
|
143
149
|
return undefined;
|
|
144
150
|
}
|
|
145
151
|
obterVariavelEm(distancia, nome) {
|
|
146
|
-
const
|
|
147
|
-
return
|
|
152
|
+
const espacoMemoriaAncestral = this.pilha[this.pilha.length - distancia].espacoMemoria;
|
|
153
|
+
return espacoMemoriaAncestral.valores[nome];
|
|
148
154
|
}
|
|
149
155
|
obterValorVariavel(simbolo) {
|
|
150
156
|
for (let i = 1; i <= this.pilha.length; i++) {
|
|
151
|
-
const
|
|
152
|
-
if (
|
|
153
|
-
return
|
|
157
|
+
const espacoMemoria = this.pilha[this.pilha.length - i].espacoMemoria;
|
|
158
|
+
if (espacoMemoria.valores[simbolo.lexema] !== undefined) {
|
|
159
|
+
return espacoMemoria.valores[simbolo.lexema];
|
|
154
160
|
}
|
|
155
161
|
}
|
|
156
162
|
throw new excecoes_1.ErroEmTempoDeExecucao(simbolo, "Variável não definida: '" + simbolo.lexema + "'.");
|
|
157
163
|
}
|
|
158
164
|
obterVariavelPorNome(nome) {
|
|
159
165
|
for (let i = 1; i <= this.pilha.length; i++) {
|
|
160
|
-
const
|
|
161
|
-
if (
|
|
162
|
-
return
|
|
166
|
+
const espacoMemoria = this.pilha[this.pilha.length - i].espacoMemoria;
|
|
167
|
+
if (espacoMemoria.valores[nome] !== undefined) {
|
|
168
|
+
return espacoMemoria.valores[nome];
|
|
163
169
|
}
|
|
164
170
|
}
|
|
165
171
|
throw new excecoes_1.ErroEmTempoDeExecucao(new lexador_1.Simbolo('especial', nome, nome, -1, -1), "Variável não definida: '" + nome + "'.");
|
|
@@ -169,7 +175,7 @@ class PilhaEscoposExecucaoPortugolStudio {
|
|
|
169
175
|
*/
|
|
170
176
|
obterTodasVariaveis(todasVariaveis = []) {
|
|
171
177
|
for (let i = 1; i <= this.pilha.length - 1; i++) {
|
|
172
|
-
const valoresAmbiente = this.pilha[this.pilha.length - i].
|
|
178
|
+
const valoresAmbiente = this.pilha[this.pilha.length - i].espacoMemoria.valores;
|
|
173
179
|
const vetorObjeto = Object.entries(valoresAmbiente).map((chaveEValor, indice) => ({
|
|
174
180
|
nome: chaveEValor[0],
|
|
175
181
|
valor: chaveEValor[1].valor,
|
|
@@ -186,8 +192,8 @@ class PilhaEscoposExecucaoPortugolStudio {
|
|
|
186
192
|
*/
|
|
187
193
|
obterTodasDeleguaFuncao() {
|
|
188
194
|
const retorno = {};
|
|
189
|
-
const
|
|
190
|
-
for (const [nome, corpo] of Object.entries(
|
|
195
|
+
const espacoMemoria = this.pilha[this.pilha.length - 1].espacoMemoria;
|
|
196
|
+
for (const [nome, corpo] of Object.entries(espacoMemoria.valores)) {
|
|
191
197
|
const corpoValor = corpo.hasOwnProperty('valor') ? corpo.valor : corpo;
|
|
192
198
|
if (corpoValor instanceof estruturas_1.DeleguaFuncao) {
|
|
193
199
|
retorno[nome] = corpoValor;
|
|
@@ -201,8 +207,8 @@ class PilhaEscoposExecucaoPortugolStudio {
|
|
|
201
207
|
*/
|
|
202
208
|
obterTodasDeclaracaoClasse() {
|
|
203
209
|
const retorno = {};
|
|
204
|
-
const
|
|
205
|
-
for (const [nome, corpo] of Object.entries(
|
|
210
|
+
const espacoMemoria = this.pilha[this.pilha.length - 1].espacoMemoria;
|
|
211
|
+
for (const [nome, corpo] of Object.entries(espacoMemoria.valores)) {
|
|
206
212
|
const corpoValor = corpo.hasOwnProperty('valor') ? corpo.valor : corpo;
|
|
207
213
|
if (corpoValor instanceof estruturas_1.DescritorTipoClasse) {
|
|
208
214
|
retorno[nome] = corpoValor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pilha-escopos-execucao-portugol-studio.js","sourceRoot":"","sources":["../../fontes/interpretador/pilha-escopos-execucao-portugol-studio.ts"],"names":[],"mappings":";;;AAGA,4DAAyD;AACzD,8DAAwE;AACxE,gFAAqG;AACrG,
|
|
1
|
+
{"version":3,"file":"pilha-escopos-execucao-portugol-studio.js","sourceRoot":"","sources":["../../fontes/interpretador/pilha-escopos-execucao-portugol-studio.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/portugol-studio",
|
|
3
3
|
"description": "Dialeto de Portugol Studio baseado em Delégua e TypeScript",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.38",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/DesignLiquido/portugol-studio/issues"
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"deixar-codigo-bonito": "yarn prettier --config .prettierrc --write fontes/**/*.ts"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@designliquido/delegua": "^0.
|
|
27
|
+
"@designliquido/delegua": "^0.48.0",
|
|
28
28
|
"lodash": "^4.17.21",
|
|
29
29
|
"node-fetch": "2",
|
|
30
30
|
"xml2js": "^0.6.2"
|