@designliquido/delegua 0.5.1 → 0.5.2
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/bin/package.json +2 -2
- package/fontes/delegua.d.ts +7 -0
- package/fontes/delegua.js +48 -28
- package/fontes/delegua.js.map +1 -1
- package/fontes/interfaces/interpretador-com-depuracao-interface.d.ts +2 -0
- package/fontes/interfaces/retornos/retorno-execucao-interface.d.ts +1 -7
- package/fontes/interpretador/interpretador-com-depuracao.d.ts +6 -2
- package/fontes/interpretador/interpretador-com-depuracao.js +16 -2
- package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -1
- package/index.js +2 -2
- package/index.js.map +1 -1
- package/package.json +1 -1
package/bin/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Linguagem de programação simples e moderna usando português",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"empacotar": "rm -Rf ./dist && tsc && copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && copyfiles -V ./package.json ./dist/bin && copyfiles -V ./README.md ./dist",
|
|
8
|
-
"publicar-npm": "npm publish --access public",
|
|
8
|
+
"publicar-npm": "npm publish ./dist --access public",
|
|
9
9
|
"testes": "./bin/delegua-ts testes/exemplos/testes.egua",
|
|
10
10
|
"testes:delegua:bhaskara": "./bin/delegua-ts testes/exemplos/dialetos/egua-classico/bhaskara.egua",
|
|
11
11
|
"testes:delegua:fibonacci": "./bin/delegua-ts testes/exemplos/dialetos/egua-classico/fibonacci.egua",
|
package/fontes/delegua.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export declare class Delegua implements DeleguaInterface {
|
|
|
22
22
|
resolvedor: ResolvedorInterface;
|
|
23
23
|
importador: ImportadorInterface;
|
|
24
24
|
funcaoDeRetorno: Function;
|
|
25
|
+
modoDepuracao: Boolean;
|
|
25
26
|
servidorDepuracao: ServidorDepuracao;
|
|
26
27
|
constructor(dialeto?: string, performance?: boolean, depurador?: boolean, funcaoDeRetorno?: Function);
|
|
27
28
|
versao(): string;
|
|
@@ -46,6 +47,12 @@ export declare class Delegua implements DeleguaInterface {
|
|
|
46
47
|
* Mais informações: https://stackoverflow.com/a/47456805/1314276
|
|
47
48
|
*/
|
|
48
49
|
finalizarDepuracao(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Verifica erros nas etapas de lexação e avaliação sintática.
|
|
52
|
+
* @param retornoImportador Um objeto que implementa a interface RetornoImportador.
|
|
53
|
+
* @returns Verdadeiro se há erros. Falso caso contrário.
|
|
54
|
+
*/
|
|
55
|
+
afericaoErros(retornoImportador: RetornoImportador): boolean;
|
|
49
56
|
/**
|
|
50
57
|
* Execução por arquivo.
|
|
51
58
|
* @param caminhoRelativoArquivo O caminho no sistema operacional do arquivo a ser aberto.
|
package/fontes/delegua.js
CHANGED
|
@@ -60,6 +60,7 @@ var Delegua = /** @class */ (function () {
|
|
|
60
60
|
this.conteudoArquivosAbertos = {};
|
|
61
61
|
this.dialeto = dialeto;
|
|
62
62
|
this.funcaoDeRetorno = funcaoDeRetorno || console.log;
|
|
63
|
+
this.modoDepuracao = depurador;
|
|
63
64
|
switch (this.dialeto) {
|
|
64
65
|
case 'egua':
|
|
65
66
|
if (depurador) {
|
|
@@ -112,7 +113,6 @@ var Delegua = /** @class */ (function () {
|
|
|
112
113
|
* ou seja, esperando como entrada linhas de código fornecidas pelo usuário.
|
|
113
114
|
*/
|
|
114
115
|
Delegua.prototype.iniciarLairDelegua = function () {
|
|
115
|
-
var _this = this;
|
|
116
116
|
console.log("Console da Linguagem Del\u00E9gua v".concat(this.versao()));
|
|
117
117
|
console.log('Pressione Ctrl + C para sair');
|
|
118
118
|
var leiaLinha = readline.createInterface({
|
|
@@ -120,12 +120,13 @@ var Delegua = /** @class */ (function () {
|
|
|
120
120
|
output: process.stdout,
|
|
121
121
|
prompt: '\ndelegua> ',
|
|
122
122
|
});
|
|
123
|
+
var isto = this;
|
|
123
124
|
leiaLinha.prompt();
|
|
124
125
|
leiaLinha.on('line', function (linha) {
|
|
125
|
-
var retornoInterpretacao =
|
|
126
|
+
var retornoInterpretacao = isto.executarUmaLinha(linha);
|
|
126
127
|
var resultado = retornoInterpretacao.resultado[0];
|
|
127
128
|
if (resultado !== undefined) {
|
|
128
|
-
|
|
129
|
+
isto.funcaoDeRetorno(resultado);
|
|
129
130
|
}
|
|
130
131
|
leiaLinha.prompt();
|
|
131
132
|
});
|
|
@@ -138,6 +139,9 @@ var Delegua = /** @class */ (function () {
|
|
|
138
139
|
Delegua.prototype.executarUmaLinha = function (linha) {
|
|
139
140
|
var retornoLexador = this.lexador.mapear([linha], -1);
|
|
140
141
|
var retornoAvaliadorSintatico = this.avaliadorSintatico.analisar(retornoLexador);
|
|
142
|
+
if (this.afericaoErros({ retornoLexador: retornoLexador, retornoAvaliadorSintatico: retornoAvaliadorSintatico })) {
|
|
143
|
+
return { resultado: [] };
|
|
144
|
+
}
|
|
141
145
|
return this.executar({
|
|
142
146
|
retornoLexador: retornoLexador,
|
|
143
147
|
retornoAvaliadorSintatico: retornoAvaliadorSintatico
|
|
@@ -161,17 +165,51 @@ var Delegua = /** @class */ (function () {
|
|
|
161
165
|
this.servidorDepuracao.finalizarServidorDepuracao();
|
|
162
166
|
}
|
|
163
167
|
};
|
|
168
|
+
/**
|
|
169
|
+
* Verifica erros nas etapas de lexação e avaliação sintática.
|
|
170
|
+
* @param retornoImportador Um objeto que implementa a interface RetornoImportador.
|
|
171
|
+
* @returns Verdadeiro se há erros. Falso caso contrário.
|
|
172
|
+
*/
|
|
173
|
+
Delegua.prototype.afericaoErros = function (retornoImportador) {
|
|
174
|
+
if (retornoImportador.retornoLexador.erros.length > 0) {
|
|
175
|
+
for (var _i = 0, _a = retornoImportador.retornoLexador.erros; _i < _a.length; _i++) {
|
|
176
|
+
var erroLexador = _a[_i];
|
|
177
|
+
this.reportar(erroLexador.linha, " no '".concat(erroLexador.caractere, "'"), erroLexador.mensagem);
|
|
178
|
+
}
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
if (retornoImportador.retornoAvaliadorSintatico.erros.length > 0) {
|
|
182
|
+
for (var _b = 0, _c = retornoImportador.retornoAvaliadorSintatico.erros; _b < _c.length; _b++) {
|
|
183
|
+
var erroAvaliadorSintatico = _c[_b];
|
|
184
|
+
this.erro(erroAvaliadorSintatico.simbolo, erroAvaliadorSintatico.message);
|
|
185
|
+
}
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
return false;
|
|
189
|
+
};
|
|
164
190
|
/**
|
|
165
191
|
* Execução por arquivo.
|
|
166
192
|
* @param caminhoRelativoArquivo O caminho no sistema operacional do arquivo a ser aberto.
|
|
167
193
|
*/
|
|
168
194
|
Delegua.prototype.carregarArquivo = function (caminhoRelativoArquivo) {
|
|
169
|
-
// this.nomeArquivo = caminho.basename(caminhoRelativoArquivo);
|
|
170
195
|
var retornoImportador = this.importador.importar(caminhoRelativoArquivo);
|
|
171
|
-
|
|
172
|
-
if (erros.lexador.length > 0 || erros.avaliadorSintatico.length > 0)
|
|
196
|
+
if (this.afericaoErros(retornoImportador)) {
|
|
173
197
|
process.exit(65); // Código para erro de avaliação antes da execução
|
|
174
|
-
|
|
198
|
+
}
|
|
199
|
+
var errosExecucao = {
|
|
200
|
+
lexador: [],
|
|
201
|
+
avaliadorSintatico: [],
|
|
202
|
+
interpretador: []
|
|
203
|
+
};
|
|
204
|
+
if (this.modoDepuracao) {
|
|
205
|
+
this.interpretador
|
|
206
|
+
.prepararParaDepuracao(retornoImportador.retornoAvaliadorSintatico.declaracoes);
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
var erros = this.executar(retornoImportador).erros;
|
|
210
|
+
errosExecucao = erros;
|
|
211
|
+
}
|
|
212
|
+
if (errosExecucao.length > 0)
|
|
175
213
|
process.exit(70); // Código com exceções não tratadas
|
|
176
214
|
};
|
|
177
215
|
/**
|
|
@@ -184,24 +222,10 @@ var Delegua = /** @class */ (function () {
|
|
|
184
222
|
*/
|
|
185
223
|
Delegua.prototype.executar = function (retornoImportador, manterAmbiente) {
|
|
186
224
|
if (manterAmbiente === void 0) { manterAmbiente = false; }
|
|
187
|
-
if (retornoImportador.retornoLexador.erros.length > 0) {
|
|
188
|
-
for (var _i = 0, _a = retornoImportador.retornoLexador.erros; _i < _a.length; _i++) {
|
|
189
|
-
var erroLexador = _a[_i];
|
|
190
|
-
this.reportar(erroLexador.linha, " no '".concat(erroLexador.caractere, "'"), erroLexador.mensagem);
|
|
191
|
-
}
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
if (retornoImportador.retornoAvaliadorSintatico.erros.length > 0) {
|
|
195
|
-
for (var _b = 0, _c = retornoImportador.retornoAvaliadorSintatico.erros; _b < _c.length; _b++) {
|
|
196
|
-
var erroAvaliadorSintatico = _c[_b];
|
|
197
|
-
this.erro(erroAvaliadorSintatico.simbolo, erroAvaliadorSintatico.message);
|
|
198
|
-
}
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
225
|
var retornoInterpretador = this.interpretador.interpretar(retornoImportador.retornoAvaliadorSintatico.declaracoes, manterAmbiente);
|
|
202
226
|
if (retornoInterpretador.erros.length > 0) {
|
|
203
|
-
for (var
|
|
204
|
-
var erroInterpretador =
|
|
227
|
+
for (var _i = 0, _a = retornoInterpretador.erros; _i < _a.length; _i++) {
|
|
228
|
+
var erroInterpretador = _a[_i];
|
|
205
229
|
if (erroInterpretador.simbolo) {
|
|
206
230
|
this.erroEmTempoDeExecucao(erroInterpretador);
|
|
207
231
|
}
|
|
@@ -213,11 +237,7 @@ var Delegua = /** @class */ (function () {
|
|
|
213
237
|
}
|
|
214
238
|
}
|
|
215
239
|
return {
|
|
216
|
-
erros:
|
|
217
|
-
lexador: retornoImportador.retornoLexador.erros,
|
|
218
|
-
avaliadorSintatico: retornoImportador.retornoAvaliadorSintatico.erros,
|
|
219
|
-
interpretador: retornoInterpretador.erros
|
|
220
|
-
},
|
|
240
|
+
erros: retornoInterpretador.erros,
|
|
221
241
|
resultado: retornoInterpretador.resultado,
|
|
222
242
|
};
|
|
223
243
|
};
|
package/fontes/delegua.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../fontes/delegua.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,4CAAgC;AAChC,iDAAqC;AACrC,gDAA0B;AAE1B,6CAA4C;AAC5C,iFAA+E;AAC/E,2CAA0C;AAC1C,+DAA8D;AAC9D,0EAAkD;AAYlD,wEAAmF;AACnF,kFAA+E;AAC/E,kEAAgE;AAChE,sGAAmG;AACnG,qEAA6E;AAC7E,2DAAgF;AAChF,yCAAgD;AAGhD,2CAA6D;AAC7D,2FAAwF;AAExF;;;;GAIG;AACH;
|
|
1
|
+
{"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../fontes/delegua.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,4CAAgC;AAChC,iDAAqC;AACrC,gDAA0B;AAE1B,6CAA4C;AAC5C,iFAA+E;AAC/E,2CAA0C;AAC1C,+DAA8D;AAC9D,0EAAkD;AAYlD,wEAAmF;AACnF,kFAA+E;AAC/E,kEAAgE;AAChE,sGAAmG;AACnG,qEAA6E;AAC7E,2DAAgF;AAChF,yCAAgD;AAGhD,2CAA6D;AAC7D,2FAAwF;AAExF;;;;GAIG;AACH;IAeI,iBACI,OAA2B,EAC3B,WAA4B,EAC5B,SAA0B,EAC1B,eAAgC;QAHhC,wBAAA,EAAA,mBAA2B;QAC3B,4BAAA,EAAA,mBAA4B;QAC5B,0BAAA,EAAA,iBAA0B;QAC1B,gCAAA,EAAA,sBAAgC;QAEhC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAElC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAE/B,QAAQ,IAAI,CAAC,OAAO,EAAE;YAClB,KAAK,MAAM;gBACP,IAAI,SAAS,EAAE;oBACX,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC,CAAC;iBAC1E;gBAED,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAsB,EAAE,CAAC;gBAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,2CAAmB,EAAE,CAAC;gBACzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,yCAA8B,EAAE,CAAC;gBAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;gBACvI,IAAI,CAAC,aAAa,GAAG,IAAI,yCAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAExE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACpC,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,GAAG,IAAI,4BAAY,EAAE,CAAC;gBAClC,IAAI,CAAC,kBAAkB,GAAG,IAAI,mDAAuB,EAAE,CAAC;gBACxD,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;gBACvI,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;oBAC5B,IAAI,uDAAyB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;oBACjG,IAAI,6BAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;gBAErG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACrC,MAAM;YACV;gBACI,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,wCAAkB,CAAC,WAAW,CAAC,CAAC;gBAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;gBACvI,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;oBAC5B,IAAI,uDAAyB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;oBACjG,IAAI,6BAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;gBAErG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,MAAM;SACb;QAED,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC3B;IACL,CAAC;IAED,wBAAM,GAAN;QACI,IAAI;YACA,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAClD,OAAO,CACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;iBACvD,OAAO,IAAI,KAAK,CACxB,CAAC;SACL;QAAC,OAAO,KAAU,EAAE;YACjB,OAAO,uBAAuB,CAAC;SAClC;IACL,CAAC;IAED;;;OAGG;IACH,oCAAkB,GAAlB;QACI,OAAO,CAAC,GAAG,CAAC,6CAAiC,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAE5C,IAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC;YACvC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,aAAa;SACxB,CAAC,CAAC;QAEH,IAAM,IAAI,GAAG,IAAI,CAAC;QAElB,SAAS,CAAC,MAAM,EAAE,CAAC;QACnB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,KAAa;YAC/B,IAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,SAAS,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,kCAAgB,GAAhB,UAAiB,KAAa;QAC1B,IAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,IAAM,yBAAyB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,cAAc,gBAAA,EAAE,yBAAyB,2BAAA,EAAuB,CAAC,EAAE;YACxF,OAAO,EAAE,SAAS,EAAE,EAAE,EAA8B,CAAC;SACxD;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;YACjB,cAAc,gBAAA;YACd,yBAAyB,2BAAA;SACP,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,kCAAgB,GAAhB;QACI,IAAI,CAAC,iBAAiB,GAAG,IAAI,6BAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC;QACjD,IAAI,CAAC,aAAqB,CAAC,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3F,CAAC;IAED;;;;OAIG;IACH,oCAAkB,GAAlB;QACI,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,CAAC;SACvD;IACL,CAAC;IAED;;;;OAIG;IACH,+BAAa,GAAb,UAAc,iBAAoC;QAC9C,IAAI,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,KAA0B,UAAsC,EAAtC,KAAA,iBAAiB,CAAC,cAAc,CAAC,KAAK,EAAtC,cAAsC,EAAtC,IAAsC,EAAE;gBAA7D,IAAM,WAAW,SAAA;gBAClB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,eAAQ,WAAW,CAAC,SAAS,MAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;aAC5F;YACD,OAAO,IAAI,CAAC;SACf;QAED,IAAI,iBAAiB,CAAC,yBAAyB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,KAAqC,UAAiD,EAAjD,KAAA,iBAAiB,CAAC,yBAAyB,CAAC,KAAK,EAAjD,cAAiD,EAAjD,IAAiD,EAAE;gBAAnF,IAAM,sBAAsB,SAAA;gBAC7B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;aAC7E;YACD,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,iCAAe,GAAf,UAAgB,sBAA8B;QAC1C,IAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE;YACvC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,kDAAkD;SACvE;QAED,IAAI,aAAa,GAAQ;YACrB,OAAO,EAAE,EAAE;YACX,kBAAkB,EAAE,EAAE;YACtB,aAAa,EAAE,EAAE;SACpB,CAAC;QAEF,IAAI,IAAI,CAAC,aAAa,EAAE;YACnB,IAAI,CAAC,aAAoD;iBACrD,qBAAqB,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;SACvF;aAAM;YACK,IAAA,KAAK,GAAK,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAArC,CAAsC;YACnD,aAAa,GAAG,KAAK,CAAC;SACzB;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mCAAmC;IAC7D,CAAC;IAED;;;;;;;OAOG;IACH,0BAAQ,GAAR,UAAS,iBAAoC,EAAE,cAA+B;QAA/B,+BAAA,EAAA,sBAA+B;QAC1E,IAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAErI,IAAI,oBAAoB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,KAAgC,UAA0B,EAA1B,KAAA,oBAAoB,CAAC,KAAK,EAA1B,cAA0B,EAA1B,IAA0B,EAAE;gBAAvD,IAAM,iBAAiB,SAAA;gBACxB,IAAI,iBAAiB,CAAC,OAAO,EAAE;oBAC3B,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;iBACjD;qBAAM;oBACH,IAAM,gBAAgB,GAAQ,iBAAwB,CAAC;oBACvD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,UAAG,gBAAgB,CAAC,OAAO,CAAE,CAAC,CAAC;oBACjF,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,+BAAqB,CAAC,GAAG,UAAG,gBAAgB,CAAC,KAAK,CAAE,CAAC,CAAC;iBACjF;aACJ;SACJ;QAED,OAAO;YACH,KAAK,EAAE,oBAAoB,CAAC,KAAK;YACjC,SAAS,EAAE,oBAAoB,CAAC,SAAS;SAC5C,CAAC;IACN,CAAC;IAED,0BAAQ,GAAR,UAAS,KAAa,EAAE,IAAS,EAAE,QAAgB;QAC/C,qDAAqD;QACrD;;;;eAIO;QACP,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAW,KAAK,MAAG,CAAC,GAAI,eAAQ,IAAI,eAAK,QAAQ,CAAE,CAAC,CAAC;IACjF,CAAC;IAED,sBAAI,GAAJ,UAAK,OAAyB,EAAE,cAAsB;QAClD,IAAI,OAAO,CAAC,IAAI,KAAK,2BAAe,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;SACrE;aAAM;YACH,IAAI,CAAC,QAAQ,CACT,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EACrB,eAAQ,OAAO,CAAC,MAAM,MAAG,EACzB,cAAc,CACjB,CAAC;SACL;IACL,CAAC;IAED,uCAAqB,GAArB,UAAsB,IAAS;QAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAC5C,2DAA2D;YAC3D;;;;mBAIO;YACP,OAAO,CAAC,KAAK,CACT,eAAK,CAAC,GAAG,CAAC,wBAAiB,IAAI,CAAC,OAAO,CAAC,KAAK,MAAG,CAAC,GAAG,WAAI,IAAI,CAAC,QAAQ,CAAE,CAC1E,CAAC;SACL;aAAM;YACH,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,wBAAiB,IAAI,CAAC,KAAK,IAAI,CAAC,MAAG,CAAC,GAAG,WAAI,IAAI,CAAC,QAAQ,CAAE,CAAC,CAAC;SACvF;IACL,CAAC;IACL,cAAC;AAAD,CAAC,AA1QD,IA0QC;AA1QY,0BAAO"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Declaracao } from "../declaracoes";
|
|
1
2
|
import { PontoParada } from "../depuracao";
|
|
2
3
|
import { InterpretadorInterface } from "./interpretador-interface";
|
|
3
4
|
export interface InterpretadorComDepuracaoInterface extends InterpretadorInterface {
|
|
@@ -9,4 +10,5 @@ export interface InterpretadorComDepuracaoInterface extends InterpretadorInterfa
|
|
|
9
10
|
continuarInterpretacao(): void;
|
|
10
11
|
interpretacaoApenasUmaInstrucao(): void;
|
|
11
12
|
proximoESair(): void;
|
|
13
|
+
prepararParaDepuracao(declaracoes: Declaracao[]): void;
|
|
12
14
|
}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
import { ErroAvaliadorSintatico } from "../../avaliador-sintatico";
|
|
2
1
|
import { ErroInterpretador } from "../../interpretador";
|
|
3
|
-
import { ErroLexador } from "../../lexador/erro-lexador";
|
|
4
2
|
export interface RetornoExecucaoInterface {
|
|
5
|
-
erros:
|
|
6
|
-
avaliadorSintatico?: Array<ErroAvaliadorSintatico>;
|
|
7
|
-
lexador?: Array<ErroLexador>;
|
|
8
|
-
interpretador?: Array<ErroInterpretador>;
|
|
9
|
-
};
|
|
3
|
+
erros: Array<ErroInterpretador>;
|
|
10
4
|
resultado: Array<string>;
|
|
11
5
|
}
|
|
@@ -83,13 +83,17 @@ export declare class InterpretadorComDepuracao extends Interpretador implements
|
|
|
83
83
|
* @param escopo Indica o escopo a ser visitado. Usado para construir uma pilha de chamadas do lado JS.
|
|
84
84
|
*/
|
|
85
85
|
proximoESair(escopo?: number): void;
|
|
86
|
+
/**
|
|
87
|
+
* Prepara a pilha de escopos para uma situação de depuração.
|
|
88
|
+
* Não há execução de código neste caso.
|
|
89
|
+
* @param declaracoes Um vetor de declarações.
|
|
90
|
+
*/
|
|
91
|
+
prepararParaDepuracao(declaracoes: Declaracao[]): void;
|
|
86
92
|
/**
|
|
87
93
|
* Interpretação utilizada pelo depurador. Pode encerrar ao encontrar um
|
|
88
94
|
* ponto de parada ou não.
|
|
89
95
|
* Diferentemente da interpretação tradicional, não possui indicadores
|
|
90
96
|
* de performance porque eles não fazem sentido aqui.
|
|
91
|
-
* Até então essa função não executa imediatamente, porque a depuração é
|
|
92
|
-
* controlada pelo servidor de depuração.
|
|
93
97
|
* @param declaracoes Um vetor de declarações.
|
|
94
98
|
* @returns Um objeto de retorno, com erros encontrados se houverem.
|
|
95
99
|
*/
|
|
@@ -259,13 +259,26 @@ var InterpretadorComDepuracao = /** @class */ (function (_super) {
|
|
|
259
259
|
this.finalizacaoDaExecucao();
|
|
260
260
|
}
|
|
261
261
|
};
|
|
262
|
+
/**
|
|
263
|
+
* Prepara a pilha de escopos para uma situação de depuração.
|
|
264
|
+
* Não há execução de código neste caso.
|
|
265
|
+
* @param declaracoes Um vetor de declarações.
|
|
266
|
+
*/
|
|
267
|
+
InterpretadorComDepuracao.prototype.prepararParaDepuracao = function (declaracoes) {
|
|
268
|
+
this.declaracoes = declaracoes;
|
|
269
|
+
var escopoExecucao = {
|
|
270
|
+
declaracoes: declaracoes,
|
|
271
|
+
declaracaoAtual: 0,
|
|
272
|
+
ambiente: new ambiente_1.Ambiente(),
|
|
273
|
+
};
|
|
274
|
+
this.pilhaEscoposExecucao.empilhar(escopoExecucao);
|
|
275
|
+
this.escopoAtual++;
|
|
276
|
+
};
|
|
262
277
|
/**
|
|
263
278
|
* Interpretação utilizada pelo depurador. Pode encerrar ao encontrar um
|
|
264
279
|
* ponto de parada ou não.
|
|
265
280
|
* Diferentemente da interpretação tradicional, não possui indicadores
|
|
266
281
|
* de performance porque eles não fazem sentido aqui.
|
|
267
|
-
* Até então essa função não executa imediatamente, porque a depuração é
|
|
268
|
-
* controlada pelo servidor de depuração.
|
|
269
282
|
* @param declaracoes Um vetor de declarações.
|
|
270
283
|
* @returns Um objeto de retorno, com erros encontrados se houverem.
|
|
271
284
|
*/
|
|
@@ -280,6 +293,7 @@ var InterpretadorComDepuracao = /** @class */ (function (_super) {
|
|
|
280
293
|
};
|
|
281
294
|
this.pilhaEscoposExecucao.empilhar(escopoExecucao);
|
|
282
295
|
this.escopoAtual++;
|
|
296
|
+
this.executarUltimoEscopo(manterAmbiente);
|
|
283
297
|
var retorno = {
|
|
284
298
|
erros: this.erros,
|
|
285
299
|
resultado: this.resultadoInterpretador,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-com-depuracao.js","sourceRoot":"","sources":["../../../fontes/interpretador/interpretador-com-depuracao.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interpretador-com-depuracao.js","sourceRoot":"","sources":["../../../fontes/interpretador/interpretador-com-depuracao.ts"],"names":[],"mappings":"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"}
|
package/index.js
CHANGED
|
@@ -7,7 +7,7 @@ var principal = function () {
|
|
|
7
7
|
var nomeArquivo;
|
|
8
8
|
analisadorArgumentos
|
|
9
9
|
.option('-d, --dialeto <dialeto>', 'Dialeto a ser usado. Padrão: delegua', 'delegua')
|
|
10
|
-
.option('-D, --depurador', 'Habilita o depurador, permitindo depuração em um ambiente como o VSCode', false)
|
|
10
|
+
.option('-D, --depurador', 'Habilita o depurador, permitindo depuração em um ambiente como o VSCode. Sempre desabilitada em modo LAIR.', false)
|
|
11
11
|
.option('-p, --performance', 'Visualizar indicadores de performance. Desabilitado por padrão', false)
|
|
12
12
|
.argument('[arquivos...]', 'Nomes dos arquivos (opcional)')
|
|
13
13
|
.action(function (arquivos) {
|
|
@@ -17,7 +17,7 @@ var principal = function () {
|
|
|
17
17
|
});
|
|
18
18
|
analisadorArgumentos.parse();
|
|
19
19
|
var opcoes = analisadorArgumentos.opts();
|
|
20
|
-
var delegua = new delegua_1.Delegua(opcoes.dialeto, opcoes.performance, opcoes.depurador);
|
|
20
|
+
var delegua = new delegua_1.Delegua(opcoes.dialeto, opcoes.performance, !!nomeArquivo ? opcoes.depurador : false);
|
|
21
21
|
if (!nomeArquivo) {
|
|
22
22
|
delegua.iniciarLairDelegua();
|
|
23
23
|
}
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;AAAA,4CAA2C;AAC3C,uCAAoC;AAEpC,IAAM,SAAS,GAAG;IACd,IAAM,oBAAoB,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC3C,IAAI,WAAmB,CAAC;IAExB,oBAAoB;SACf,MAAM,CACH,yBAAyB,EACzB,sCAAsC,EACtC,SAAS,CACZ;SACA,MAAM,CACH,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;AAAA,4CAA2C;AAC3C,uCAAoC;AAEpC,IAAM,SAAS,GAAG;IACd,IAAM,oBAAoB,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC3C,IAAI,WAAmB,CAAC;IAExB,oBAAoB;SACf,MAAM,CACH,yBAAyB,EACzB,sCAAsC,EACtC,SAAS,CACZ;SACA,MAAM,CACH,iBAAiB,EACjB,4GAA4G,EAC5G,KAAK,CACR;SACA,MAAM,CACH,mBAAmB,EACnB,gEAAgE,EAChE,KAAK,CACR;SACA,QAAQ,CAAC,eAAe,EAAE,+BAA+B,CAAC;SAC1D,MAAM,CAAC,UAAC,QAAQ;QACb,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC7B;IACL,CAAC,CAAC,CAAC;IAEP,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC7B,IAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAE3C,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAE1G,IAAI,CAAC,WAAW,EAAE;QACd,OAAO,CAAC,kBAAkB,EAAE,CAAC;KAChC;SAAM;QACH,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;KACxC;AACL,CAAC,CAAC;AAEF,SAAS,EAAE,CAAC;AACZ,qDAAqD"}
|