@designliquido/delegua 0.2.12 → 0.3.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/bin/package.json +1 -1
- package/fontes/ambiente.d.ts +1 -14
- package/fontes/ambiente.js +1 -53
- package/fontes/ambiente.js.map +1 -1
- package/fontes/avaliador-sintatico/avaliador-sintatico.js +10 -10
- package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +7 -7
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +7 -7
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -1
- package/fontes/bibliotecas/biblioteca-global.d.ts +2 -2
- package/fontes/bibliotecas/biblioteca-global.js +15 -15
- package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
- package/fontes/construtos/atribuir.d.ts +2 -2
- package/fontes/construtos/atribuir.js.map +1 -1
- package/fontes/construtos/chamada.d.ts +2 -1
- package/fontes/construtos/chamada.js.map +1 -1
- package/fontes/construtos/literal.d.ts +2 -1
- package/fontes/construtos/literal.js.map +1 -1
- package/fontes/construtos/variavel.d.ts +2 -2
- package/fontes/construtos/variavel.js.map +1 -1
- package/fontes/declaracoes/bloco.d.ts +2 -1
- package/fontes/declaracoes/bloco.js.map +1 -1
- package/fontes/declaracoes/escreva.d.ts +2 -1
- package/fontes/declaracoes/escreva.js.map +1 -1
- package/fontes/declaracoes/expressao.d.ts +2 -1
- package/fontes/declaracoes/expressao.js.map +1 -1
- package/fontes/declaracoes/funcao.d.ts +2 -2
- package/fontes/declaracoes/funcao.js.map +1 -1
- package/fontes/declaracoes/retorna.d.ts +2 -1
- package/fontes/declaracoes/retorna.js.map +1 -1
- package/fontes/declaracoes/se.d.ts +2 -1
- package/fontes/declaracoes/se.js.map +1 -1
- package/fontes/declaracoes/var.d.ts +2 -2
- package/fontes/declaracoes/var.js.map +1 -1
- package/fontes/delegua.d.ts +2 -1
- package/fontes/delegua.js +12 -7
- package/fontes/delegua.js.map +1 -1
- package/fontes/estruturas/delegua-classe.d.ts +14 -0
- package/fontes/estruturas/{classe.js → delegua-classe.js} +4 -4
- package/fontes/estruturas/delegua-classe.js.map +1 -0
- package/fontes/estruturas/funcao-padrao.d.ts +1 -1
- package/fontes/estruturas/funcao-padrao.js +1 -1
- package/fontes/estruturas/funcao-padrao.js.map +1 -1
- package/fontes/estruturas/funcao.d.ts +9 -7
- package/fontes/estruturas/funcao.js +20 -26
- package/fontes/estruturas/funcao.js.map +1 -1
- package/fontes/estruturas/index.d.ts +2 -2
- package/fontes/estruturas/index.js +2 -2
- package/fontes/estruturas/index.js.map +1 -1
- package/fontes/estruturas/{instancia.d.ts → objeto-delegua-classe.d.ts} +3 -2
- package/fontes/estruturas/objeto-delegua-classe.js +28 -0
- package/fontes/estruturas/objeto-delegua-classe.js.map +1 -0
- package/fontes/excecoes/index.d.ts +0 -3
- package/fontes/excecoes/index.js +0 -3
- package/fontes/excecoes/index.js.map +1 -1
- package/fontes/interfaces/escopo-execucao.d.ts +7 -0
- package/fontes/interfaces/escopo-execucao.js +3 -0
- package/fontes/interfaces/escopo-execucao.js.map +1 -0
- package/fontes/interfaces/interpretador-interface.d.ts +6 -4
- package/fontes/interfaces/pilha-interface.d.ts +2 -2
- package/fontes/interpretador/dialetos/egua-classico.d.ts +27 -19
- package/fontes/interpretador/dialetos/egua-classico.js +121 -139
- package/fontes/interpretador/dialetos/egua-classico.js.map +1 -1
- package/fontes/interpretador/interpretador.d.ts +38 -18
- package/fontes/interpretador/interpretador.js +142 -139
- package/fontes/interpretador/interpretador.js.map +1 -1
- package/fontes/interpretador/pilha-escopos-execucao.d.ts +20 -0
- package/fontes/interpretador/pilha-escopos-execucao.js +74 -0
- package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -0
- package/fontes/quebras/index.d.ts +10 -0
- package/fontes/quebras/index.js +51 -0
- package/fontes/quebras/index.js.map +1 -0
- package/fontes/resolvedor/index.d.ts +4 -62
- package/fontes/resolvedor/index.js +18 -340
- package/fontes/resolvedor/index.js.map +1 -1
- package/fontes/resolvedor/resolvedor.d.ts +64 -0
- package/fontes/resolvedor/resolvedor.js +345 -0
- package/fontes/resolvedor/resolvedor.js.map +1 -0
- package/package.json +1 -1
- package/testes/biblioteca-global.test.js +15 -29
- package/testes/biblioteca-global.test.js.map +1 -1
- package/testes/egua-classico/interpretador.test.js +21 -41
- package/testes/egua-classico/interpretador.test.js.map +1 -1
- package/testes/interpretador.test.js +21 -41
- package/testes/interpretador.test.js.map +1 -1
- package/fontes/estruturas/classe.d.ts +0 -11
- package/fontes/estruturas/classe.js.map +0 -1
- package/fontes/estruturas/instancia.js +0 -28
- package/fontes/estruturas/instancia.js.map +0 -1
- package/fontes/excecoes/excecao-continuar.d.ts +0 -2
- package/fontes/excecoes/excecao-continuar.js +0 -27
- package/fontes/excecoes/excecao-continuar.js.map +0 -1
- package/fontes/excecoes/excecao-retornar.d.ts +0 -4
- package/fontes/excecoes/excecao-retornar.js +0 -30
- package/fontes/excecoes/excecao-retornar.js.map +0 -1
- package/fontes/excecoes/excecao-sustar.d.ts +0 -2
- package/fontes/excecoes/excecao-sustar.js +0 -27
- package/fontes/excecoes/excecao-sustar.js.map +0 -1
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var excecoes_1 = require("../excecoes");
|
|
4
4
|
var funcao_1 = require("../estruturas/funcao");
|
|
5
|
-
var
|
|
5
|
+
var objeto_delegua_classe_1 = require("../estruturas/objeto-delegua-classe");
|
|
6
6
|
var funcao_padrao_1 = require("../estruturas/funcao-padrao");
|
|
7
|
-
var
|
|
8
|
-
function default_1(interpretador,
|
|
7
|
+
var delegua_classe_1 = require("../estruturas/delegua-classe");
|
|
8
|
+
function default_1(interpretador, pilhaEscoposExecucao) {
|
|
9
9
|
// Retorna um número aleatório entre 0 e 1.
|
|
10
|
-
|
|
10
|
+
pilhaEscoposExecucao.definirVariavel("aleatorio", new funcao_padrao_1.FuncaoPadrao(1, function () {
|
|
11
11
|
return Math.random();
|
|
12
12
|
}));
|
|
13
13
|
// Retorna um número aleatório de acordo com o parâmetro passado.
|
|
14
14
|
// Mínimo(inclusivo) - Máximo(exclusivo)
|
|
15
|
-
|
|
15
|
+
pilhaEscoposExecucao.definirVariavel("aleatorioEntre", new funcao_padrao_1.FuncaoPadrao(1, function (minimo, maximo) {
|
|
16
16
|
if (typeof minimo !== 'number' || typeof maximo !== 'number') {
|
|
17
17
|
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Os dois parâmetros devem ser do tipo número.");
|
|
18
18
|
}
|
|
19
19
|
return Math.floor(Math.random() * (maximo - minimo)) + minimo;
|
|
20
20
|
}));
|
|
21
|
-
|
|
21
|
+
pilhaEscoposExecucao.definirVariavel("inteiro", new funcao_padrao_1.FuncaoPadrao(1, function (valor) {
|
|
22
22
|
if (!valor) {
|
|
23
23
|
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Somente números podem passar para inteiro.");
|
|
24
24
|
}
|
|
@@ -27,7 +27,7 @@ function default_1(interpretador, global) {
|
|
|
27
27
|
}
|
|
28
28
|
return parseInt(valor);
|
|
29
29
|
}));
|
|
30
|
-
|
|
30
|
+
pilhaEscoposExecucao.definirVariavel("mapear", new funcao_padrao_1.FuncaoPadrao(1, function (array, callback) {
|
|
31
31
|
if (!Array.isArray(array)) {
|
|
32
32
|
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O primeiro parâmetro da função, deve ser um array.");
|
|
33
33
|
}
|
|
@@ -40,7 +40,7 @@ function default_1(interpretador, global) {
|
|
|
40
40
|
}
|
|
41
41
|
return resultados;
|
|
42
42
|
}));
|
|
43
|
-
|
|
43
|
+
pilhaEscoposExecucao.definirVariavel("ordenar", new funcao_padrao_1.FuncaoPadrao(1, function (objeto) {
|
|
44
44
|
var _a;
|
|
45
45
|
if (!Array.isArray(objeto)) {
|
|
46
46
|
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Valor Inválido. Objeto inserido não é um vetor.");
|
|
@@ -58,16 +58,16 @@ function default_1(interpretador, global) {
|
|
|
58
58
|
} while (trocado);
|
|
59
59
|
return objeto;
|
|
60
60
|
}));
|
|
61
|
-
|
|
61
|
+
pilhaEscoposExecucao.definirVariavel("real", new funcao_padrao_1.FuncaoPadrao(1, function (valor) {
|
|
62
62
|
if (!/^-{0,1}\d+$/.test(valor) && !/^\d+\.\d+$/.test(valor))
|
|
63
63
|
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Somente números podem passar para real.");
|
|
64
64
|
return parseFloat(valor);
|
|
65
65
|
}));
|
|
66
|
-
|
|
66
|
+
pilhaEscoposExecucao.definirVariavel("tamanho", new funcao_padrao_1.FuncaoPadrao(1, function (objeto) {
|
|
67
67
|
if (!isNaN(objeto)) {
|
|
68
68
|
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Não é possível encontrar o tamanho de um número.");
|
|
69
69
|
}
|
|
70
|
-
if (objeto instanceof
|
|
70
|
+
if (objeto instanceof objeto_delegua_classe_1.ObjetoDeleguaClasse) {
|
|
71
71
|
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Você não pode encontrar o tamanho de uma declaração.");
|
|
72
72
|
}
|
|
73
73
|
if (objeto instanceof funcao_1.DeleguaFuncao) {
|
|
@@ -76,7 +76,7 @@ function default_1(interpretador, global) {
|
|
|
76
76
|
if (objeto instanceof funcao_padrao_1.FuncaoPadrao) {
|
|
77
77
|
return objeto.valorAridade;
|
|
78
78
|
}
|
|
79
|
-
if (objeto instanceof
|
|
79
|
+
if (objeto instanceof delegua_classe_1.DeleguaClasse) {
|
|
80
80
|
var metodos = objeto.metodos;
|
|
81
81
|
var tamanho = 0;
|
|
82
82
|
if (metodos.init && metodos.init.eInicializador) {
|
|
@@ -86,11 +86,11 @@ function default_1(interpretador, global) {
|
|
|
86
86
|
}
|
|
87
87
|
return objeto.length;
|
|
88
88
|
}));
|
|
89
|
-
|
|
89
|
+
pilhaEscoposExecucao.definirVariavel("texto", new funcao_padrao_1.FuncaoPadrao(1, function (valor) {
|
|
90
90
|
return "".concat(valor);
|
|
91
91
|
}));
|
|
92
|
-
|
|
93
|
-
return
|
|
92
|
+
pilhaEscoposExecucao.definirVariavel("exports", {});
|
|
93
|
+
return pilhaEscoposExecucao;
|
|
94
94
|
}
|
|
95
95
|
exports.default = default_1;
|
|
96
96
|
;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biblioteca-global.js","sourceRoot":"","sources":["../../../fontes/bibliotecas/biblioteca-global.ts"],"names":[],"mappings":";;AAAA,wCAAoD;AACpD,+CAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"biblioteca-global.js","sourceRoot":"","sources":["../../../fontes/bibliotecas/biblioteca-global.ts"],"names":[],"mappings":";;AAAA,wCAAoD;AACpD,+CAAqD;AACrD,6EAA0E;AAC1E,6DAA2D;AAC3D,+DAA6D;AAK7D,mBAAyB,aAAqC,EAAE,oBAA0C;IACtG,2CAA2C;IAC3C,oBAAoB,CAAC,eAAe,CAChC,WAAW,EACX,IAAI,4BAAY,CAAC,CAAC,EAAE;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC,CAAC,CACL,CAAC;IAEF,iEAAiE;IACjE,wCAAwC;IACxC,oBAAoB,CAAC,eAAe,CAChC,gBAAgB,EAChB,IAAI,4BAAY,CAAC,CAAC,EAAE,UAAU,MAAc,EAAE,MAAc;QACxD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC1D,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,8CAA8C,CACjD,CAAC;SACL;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;IAClE,CAAC,CAAC,CACL,CAAC;IAEF,oBAAoB,CAAC,eAAe,CAChC,SAAS,EACT,IAAI,4BAAY,CAAC,CAAC,EAAE,UAAU,KAAU;QACpC,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,4CAA4C,CAC/C,CAAC;SACL;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACzD,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,4CAA4C,CAC/C,CAAC;SACL;QAED,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CACL,CAAC;IAEF,oBAAoB,CAAC,eAAe,CAChC,QAAQ,EACR,IAAI,4BAAY,CAAC,CAAC,EAAE,UAAU,KAAU,EAAE,QAAa;QACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,wEAAwE,CAC3E,CAAC;SACL;QAED,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,EAAE;YAC/C,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,yEAAyE,CAC5E,CAAC;SACL;QAED,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE;YAClD,UAAU,CAAC,IAAI,CACX,QAAQ,CAAC,MAAM,CACX,aAAa,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACjC,CACJ,CAAC;SACL;QAED,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC,CACL,CAAC;IAEF,oBAAoB,CAAC,eAAe,CAChC,SAAS,EACT,IAAI,4BAAY,CAAC,CAAC,EAAE,UAAU,MAAkB;;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACxB,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,iDAAiD,CACpD,CAAC;SACL;QAED,IAAI,OAAgB,CAAC;QACrB,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,GAAG;YACC,OAAO,GAAG,KAAK,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC3B,KAA6B,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAtD,MAAM,CAAC,CAAC,CAAC,QAAA,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAA,CAA+B;oBACxD,OAAO,GAAG,IAAI,CAAC;iBAClB;aACJ;SACJ,QAAQ,OAAO,EAAE;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CACL,CAAC;IAEF,oBAAoB,CAAC,eAAe,CAChC,MAAM,EACN,IAAI,4BAAY,CAAC,CAAC,EAAE,UAAU,KAAU;QACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YACvD,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,yCAAyC,CAC5C,CAAC;QACN,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CACL,CAAC;IAEF,oBAAoB,CAAC,eAAe,CAChC,SAAS,EACT,IAAI,4BAAY,CAAC,CAAC,EAAE,UAAU,MAAW;QACrC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAChB,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,kDAAkD,CACrD,CAAC;SACL;QAED,IAAI,MAAM,YAAY,2CAAmB,EAAE;YACvC,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,sDAAsD,CACzD,CAAC;SACL;QAED,IAAI,MAAM,YAAY,sBAAa,EAAE;YACjC,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;SAC9C;QAED,IAAI,MAAM,YAAY,4BAAY,EAAE;YAChC,OAAO,MAAM,CAAC,YAAY,CAAC;SAC9B;QAED,IAAI,MAAM,YAAY,8BAAa,EAAE;YACjC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7B,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC7C,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;aACvD;YAED,OAAO,OAAO,CAAC;SAClB;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC,CAAC,CACL,CAAC;IAEF,oBAAoB,CAAC,eAAe,CAChC,OAAO,EACP,IAAI,4BAAY,CAAC,CAAC,EAAE,UAAU,KAAU;QACpC,OAAO,UAAG,KAAK,CAAE,CAAC;IACtB,CAAC,CAAC,CACL,CAAC;IAEF,oBAAoB,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEpD,OAAO,oBAAoB,CAAC;AAChC,CAAC;AAnKD,4BAmKC;AAAA,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { SimboloInterface } from "../interfaces";
|
|
1
|
+
import { InterpretadorInterface, ResolvedorInterface, SimboloInterface } from "../interfaces";
|
|
2
2
|
import { Construto } from "./construto";
|
|
3
3
|
export declare class Atribuir implements Construto {
|
|
4
4
|
linha: number;
|
|
5
5
|
simbolo: SimboloInterface;
|
|
6
6
|
valor: any;
|
|
7
7
|
constructor(simbolo: SimboloInterface, valor: any);
|
|
8
|
-
aceitar(visitante:
|
|
8
|
+
aceitar(visitante: ResolvedorInterface | InterpretadorInterface): any;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atribuir.js","sourceRoot":"","sources":["../../../fontes/construtos/atribuir.ts"],"names":[],"mappings":";;;AAIA;IAKI,kBAAY,OAAyB,EAAE,KAAU;QAC7C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,0BAAO,GAAP,UAAQ,
|
|
1
|
+
{"version":3,"file":"atribuir.js","sourceRoot":"","sources":["../../../fontes/construtos/atribuir.ts"],"names":[],"mappings":";;;AAIA;IAKI,kBAAY,OAAyB,EAAE,KAAU;QAC7C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,0BAAO,GAAP,UAAQ,SAAuD;QAC3D,OAAO,SAAS,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACL,eAAC;AAAD,CAAC,AAdD,IAcC;AAdY,4BAAQ"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InterpretadorInterface, ResolvedorInterface } from "../interfaces";
|
|
1
2
|
import { Construto } from "./construto";
|
|
2
3
|
export declare class Chamada implements Construto {
|
|
3
4
|
linha: number;
|
|
@@ -5,5 +6,5 @@ export declare class Chamada implements Construto {
|
|
|
5
6
|
argumentos: any;
|
|
6
7
|
parentese: any;
|
|
7
8
|
constructor(entidadeChamada: Construto, parentese: any, argumentos: any);
|
|
8
|
-
aceitar(visitante:
|
|
9
|
+
aceitar(visitante: ResolvedorInterface | InterpretadorInterface): any;
|
|
9
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chamada.js","sourceRoot":"","sources":["../../../fontes/construtos/chamada.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"chamada.js","sourceRoot":"","sources":["../../../fontes/construtos/chamada.ts"],"names":[],"mappings":";;;AAIA;IAMI,iBAAY,eAA0B,EAAE,SAAc,EAAE,UAAe;QACnE,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,yBAAO,GAAP,UAAQ,SAAuD;QAC3D,OAAO,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IACL,cAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBY,0BAAO"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { InterpretadorInterface, ResolvedorInterface } from "../interfaces";
|
|
1
2
|
import { Construto } from "./construto";
|
|
2
3
|
export declare class Literal implements Construto {
|
|
3
4
|
linha: number;
|
|
4
5
|
valor: any;
|
|
5
6
|
constructor(linha: number, valor: any);
|
|
6
|
-
aceitar(visitante:
|
|
7
|
+
aceitar(visitante: ResolvedorInterface | InterpretadorInterface): any;
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../fontes/construtos/literal.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../fontes/construtos/literal.ts"],"names":[],"mappings":";;;AAIA;IAII,iBAAY,KAAa,EAAE,KAAU;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,yBAAO,GAAP,UAAQ,SAAuD;QAC3D,OAAO,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IACL,cAAC;AAAD,CAAC,AAZD,IAYC;AAZY,0BAAO"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { SimboloInterface } from "../interfaces";
|
|
1
|
+
import { InterpretadorInterface, ResolvedorInterface, SimboloInterface } from "../interfaces";
|
|
2
2
|
import { Construto } from "./construto";
|
|
3
3
|
export declare class Variavel implements Construto {
|
|
4
4
|
linha: number;
|
|
5
5
|
simbolo: SimboloInterface;
|
|
6
6
|
constructor(simbolo: SimboloInterface);
|
|
7
|
-
aceitar(visitante:
|
|
7
|
+
aceitar(visitante: ResolvedorInterface | InterpretadorInterface): any;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variavel.js","sourceRoot":"","sources":["../../../fontes/construtos/variavel.ts"],"names":[],"mappings":";;;AAIA;IAII,kBAAY,OAAyB;QACjC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,0BAAO,GAAP,UAAQ,
|
|
1
|
+
{"version":3,"file":"variavel.js","sourceRoot":"","sources":["../../../fontes/construtos/variavel.ts"],"names":[],"mappings":";;;AAIA;IAII,kBAAY,OAAyB;QACjC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,0BAAO,GAAP,UAAQ,SAAuD;QAC3D,OAAO,SAAS,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IACL,eAAC;AAAD,CAAC,AAZD,IAYC;AAZY,4BAAQ"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { InterpretadorInterface, ResolvedorInterface } from "../interfaces";
|
|
1
2
|
import { Declaracao } from "./declaracao";
|
|
2
3
|
export declare class Bloco extends Declaracao {
|
|
3
4
|
declaracoes: any;
|
|
4
5
|
constructor(declaracoes: any);
|
|
5
|
-
aceitar(visitante:
|
|
6
|
+
aceitar(visitante: ResolvedorInterface | InterpretadorInterface): any;
|
|
6
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bloco.js","sourceRoot":"","sources":["../../../fontes/declaracoes/bloco.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"bloco.js","sourceRoot":"","sources":["../../../fontes/declaracoes/bloco.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,2CAA0C;AAG1C;IAA2B,yBAAU;IAGjC,eAAY,WAAgB;QAA5B,YACI,kBAAM,CAAC,CAAC,SAEX;QADG,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;;IACnC,CAAC;IAED,uBAAO,GAAP,UAAQ,SAAuD;QAC3D,OAAO,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IACL,YAAC;AAAD,CAAC,AAXD,CAA2B,uBAAU,GAWpC;AAXY,sBAAK"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { InterpretadorInterface, ResolvedorInterface } from "../interfaces";
|
|
1
2
|
import { Declaracao } from "./declaracao";
|
|
2
3
|
export declare class Escreva extends Declaracao {
|
|
3
4
|
expressao: any;
|
|
4
5
|
constructor(expressao: any);
|
|
5
|
-
aceitar(visitante:
|
|
6
|
+
aceitar(visitante: ResolvedorInterface | InterpretadorInterface): any;
|
|
6
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escreva.js","sourceRoot":"","sources":["../../../fontes/declaracoes/escreva.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"escreva.js","sourceRoot":"","sources":["../../../fontes/declaracoes/escreva.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,2CAA0C;AAG1C;IAA6B,2BAAU;IAGnC,iBAAY,SAAc;QAA1B,YACI,kBAAM,SAAS,CAAC,KAAK,CAAC,SAEzB;QADG,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;;IAC/B,CAAC;IAED,yBAAO,GAAP,UAAQ,SAAuD;QAC3D,OAAO,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IACL,cAAC;AAAD,CAAC,AAXD,CAA6B,uBAAU,GAWtC;AAXY,0BAAO"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Construto } from "../construtos";
|
|
2
|
+
import { InterpretadorInterface, ResolvedorInterface } from "../interfaces";
|
|
2
3
|
import { Declaracao } from "./declaracao";
|
|
3
4
|
export declare class Expressao extends Declaracao {
|
|
4
5
|
expressao: Construto;
|
|
5
6
|
constructor(expressao: Construto);
|
|
6
|
-
aceitar(visitante:
|
|
7
|
+
aceitar(visitante: ResolvedorInterface | InterpretadorInterface): any;
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressao.js","sourceRoot":"","sources":["../../../fontes/declaracoes/expressao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"expressao.js","sourceRoot":"","sources":["../../../fontes/declaracoes/expressao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,2CAA0C;AAG1C;IAA+B,6BAAU;IAGrC,mBAAY,SAAoB;QAAhC,YACI,kBAAM,SAAS,CAAC,KAAK,CAAC,SAEzB;QADG,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;;IAC/B,CAAC;IAED,2BAAO,GAAP,UAAQ,SAAuD;QAC3D,OAAO,SAAS,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACL,gBAAC;AAAD,CAAC,AAXD,CAA+B,uBAAU,GAWxC;AAXY,8BAAS"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { SimboloInterface } from "../interfaces";
|
|
1
|
+
import { InterpretadorInterface, ResolvedorInterface, SimboloInterface } from "../interfaces";
|
|
2
2
|
import { Declaracao } from "./declaracao";
|
|
3
3
|
export declare class Funcao extends Declaracao {
|
|
4
4
|
simbolo: SimboloInterface;
|
|
5
5
|
funcao: any;
|
|
6
6
|
constructor(simbolo: SimboloInterface, funcao: any);
|
|
7
|
-
aceitar(visitante:
|
|
7
|
+
aceitar(visitante: ResolvedorInterface | InterpretadorInterface): any;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funcao.js","sourceRoot":"","sources":["../../../fontes/declaracoes/funcao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,2CAA0C;AAG1C;IAA4B,0BAAU;IAIlC,gBAAY,OAAyB,EAAE,MAAW;QAAlD,YACI,kBAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAG/B;QAFG,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;IACzB,CAAC;IAED,wBAAO,GAAP,UAAQ,
|
|
1
|
+
{"version":3,"file":"funcao.js","sourceRoot":"","sources":["../../../fontes/declaracoes/funcao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,2CAA0C;AAG1C;IAA4B,0BAAU;IAIlC,gBAAY,OAAyB,EAAE,MAAW;QAAlD,YACI,kBAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAG/B;QAFG,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;IACzB,CAAC;IAED,wBAAO,GAAP,UAAQ,SAAuD;QAC3D,OAAO,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IACL,aAAC;AAAD,CAAC,AAbD,CAA4B,uBAAU,GAarC;AAbY,wBAAM"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { InterpretadorInterface, ResolvedorInterface } from "../interfaces";
|
|
1
2
|
import { Declaracao } from "./declaracao";
|
|
2
3
|
export declare class Retorna extends Declaracao {
|
|
3
4
|
palavraChave: string;
|
|
4
5
|
valor: any;
|
|
5
6
|
constructor(palavraChave: any, valor: any);
|
|
6
|
-
aceitar(visitante:
|
|
7
|
+
aceitar(visitante: ResolvedorInterface | InterpretadorInterface): any;
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retorna.js","sourceRoot":"","sources":["../../../fontes/declaracoes/retorna.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"retorna.js","sourceRoot":"","sources":["../../../fontes/declaracoes/retorna.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,2CAA0C;AAG1C;IAA6B,2BAAU;IAInC,iBAAY,YAAiB,EAAE,KAAU;QAAzC,YACI,kBAAM,CAAC,CAAC,SAGX;QAFG,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;;IACvB,CAAC;IAED,yBAAO,GAAP,UAAQ,SAAuD;QAC3D,OAAO,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IACL,cAAC;AAAD,CAAC,AAbD,CAA6B,uBAAU,GAatC;AAbY,0BAAO"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InterpretadorInterface, ResolvedorInterface } from "../interfaces";
|
|
1
2
|
import { Declaracao } from "./declaracao";
|
|
2
3
|
export declare class Se extends Declaracao {
|
|
3
4
|
condicao: any;
|
|
@@ -5,5 +6,5 @@ export declare class Se extends Declaracao {
|
|
|
5
6
|
caminhosSeSenao: any;
|
|
6
7
|
caminhoSenao: any;
|
|
7
8
|
constructor(linha: number, condicao: any, caminhoEntao: any, caminhosSeSenao: any, caminhoSenao: any);
|
|
8
|
-
aceitar(visitante:
|
|
9
|
+
aceitar(visitante: ResolvedorInterface | InterpretadorInterface): any;
|
|
9
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"se.js","sourceRoot":"","sources":["../../../fontes/declaracoes/se.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"se.js","sourceRoot":"","sources":["../../../fontes/declaracoes/se.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,2CAA0C;AAG1C;IAAwB,sBAAU;IAM9B,YAAY,KAAa,EAAE,QAAa,EAAE,YAAiB,EAAE,eAAoB,EAAE,YAAiB;QAApG,YACI,kBAAM,KAAK,CAAC,SAKf;QAJG,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;;IACrC,CAAC;IAED,oBAAO,GAAP,UAAQ,SAAuD;QAC3D,OAAO,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACL,SAAC;AAAD,CAAC,AAjBD,CAAwB,uBAAU,GAiBjC;AAjBY,gBAAE"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { SimboloInterface } from "../interfaces";
|
|
1
|
+
import { InterpretadorInterface, ResolvedorInterface, SimboloInterface } from "../interfaces";
|
|
2
2
|
import { Declaracao } from "./declaracao";
|
|
3
3
|
export declare class Var extends Declaracao {
|
|
4
4
|
simbolo: SimboloInterface;
|
|
5
5
|
inicializador: any;
|
|
6
6
|
constructor(simbolo: SimboloInterface, inicializador: any);
|
|
7
|
-
aceitar(visitante:
|
|
7
|
+
aceitar(visitante: ResolvedorInterface | InterpretadorInterface): any;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"var.js","sourceRoot":"","sources":["../../../fontes/declaracoes/var.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,2CAA0C;AAG1C;IAAyB,uBAAU;IAI/B,aAAY,OAAyB,EAAE,aAAkB;QAAzD,YACI,kBAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAG/B;QAFG,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAI,CAAC,aAAa,GAAG,aAAa,CAAC;;IACvC,CAAC;IAED,qBAAO,GAAP,UAAQ,
|
|
1
|
+
{"version":3,"file":"var.js","sourceRoot":"","sources":["../../../fontes/declaracoes/var.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,2CAA0C;AAG1C;IAAyB,uBAAU;IAI/B,aAAY,OAAyB,EAAE,aAAkB;QAAzD,YACI,kBAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAG/B;QAFG,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAI,CAAC,aAAa,GAAG,aAAa,CAAC;;IACvC,CAAC;IAED,qBAAO,GAAP,UAAQ,SAAuD;QAC3D,OAAO,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACL,UAAC;AAAD,CAAC,AAbD,CAAyB,uBAAU,GAalC;AAbY,kBAAG"}
|
package/fontes/delegua.d.ts
CHANGED
|
@@ -15,11 +15,12 @@ export declare class Delegua implements DeleguaInterface {
|
|
|
15
15
|
avaliadorSintatico: AvaliadorSintaticoInterface;
|
|
16
16
|
resolvedor: ResolvedorInterface;
|
|
17
17
|
importador: ImportadorInterface;
|
|
18
|
+
funcaoDeRetorno: Function;
|
|
18
19
|
constructor(dialeto?: string, performance?: boolean, nomeArquivo?: string, funcaoDeRetorno?: Function);
|
|
19
20
|
versao(): string;
|
|
20
21
|
iniciarDelegua(): void;
|
|
21
22
|
carregarArquivo(caminhoRelativoArquivo: string): void;
|
|
22
|
-
executar(retornoImportador: RetornoImportador): RetornoExecucaoInterface;
|
|
23
|
+
executar(retornoImportador: RetornoImportador, manterAmbiente?: boolean): RetornoExecucaoInterface;
|
|
23
24
|
reportar(linha: number, onde: any, mensagem: string): void;
|
|
24
25
|
erro(simbolo: SimboloInterface, mensagemDeErro: string): void;
|
|
25
26
|
erroEmTempoDeExecucao(erro: any): void;
|
package/fontes/delegua.js
CHANGED
|
@@ -36,7 +36,6 @@ var avaliador_sintatico_1 = require("./avaliador-sintatico/avaliador-sintatico")
|
|
|
36
36
|
var resolvedor_1 = require("./resolvedor");
|
|
37
37
|
var interpretador_1 = require("./interpretador/interpretador");
|
|
38
38
|
var tipos_de_simbolos_1 = __importDefault(require("./lexador/tipos-de-simbolos"));
|
|
39
|
-
var excecoes_1 = require("./excecoes");
|
|
40
39
|
var egua_classico_1 = require("./interpretador/dialetos/egua-classico");
|
|
41
40
|
var lexador_egua_classico_1 = require("./lexador/dialetos/lexador-egua-classico");
|
|
42
41
|
var lexador_eguap_1 = require("./lexador/dialetos/lexador-eguap");
|
|
@@ -53,6 +52,7 @@ var Delegua = /** @class */ (function () {
|
|
|
53
52
|
this.teveErro = false;
|
|
54
53
|
this.teveErroEmTempoDeExecucao = false;
|
|
55
54
|
this.dialeto = dialeto;
|
|
55
|
+
this.funcaoDeRetorno = funcaoDeRetorno || console.log;
|
|
56
56
|
switch (this.dialeto) {
|
|
57
57
|
case 'egua':
|
|
58
58
|
this.resolvedor = new egua_classico_2.ResolvedorEguaClassico();
|
|
@@ -105,11 +105,15 @@ var Delegua = /** @class */ (function () {
|
|
|
105
105
|
_this.teveErroEmTempoDeExecucao = false;
|
|
106
106
|
var retornoLexador = _this.lexador.mapear([linha]);
|
|
107
107
|
var retornoAvaliadorSintatico = _this.avaliadorSintatico.analisar(retornoLexador);
|
|
108
|
-
_this.executar({
|
|
108
|
+
var retornoInterpretacao = _this.executar({
|
|
109
109
|
codigo: [linha],
|
|
110
110
|
retornoLexador: retornoLexador,
|
|
111
111
|
retornoAvaliadorSintatico: retornoAvaliadorSintatico
|
|
112
|
-
});
|
|
112
|
+
}, true);
|
|
113
|
+
var resultado = retornoInterpretacao.resultado[0];
|
|
114
|
+
if (resultado !== undefined) {
|
|
115
|
+
_this.funcaoDeRetorno(resultado);
|
|
116
|
+
}
|
|
113
117
|
leiaLinha.prompt();
|
|
114
118
|
});
|
|
115
119
|
};
|
|
@@ -121,7 +125,8 @@ var Delegua = /** @class */ (function () {
|
|
|
121
125
|
if (this.teveErroEmTempoDeExecucao)
|
|
122
126
|
process.exit(70);
|
|
123
127
|
};
|
|
124
|
-
Delegua.prototype.executar = function (retornoImportador) {
|
|
128
|
+
Delegua.prototype.executar = function (retornoImportador, manterAmbiente) {
|
|
129
|
+
if (manterAmbiente === void 0) { manterAmbiente = false; }
|
|
125
130
|
if (retornoImportador.retornoLexador.erros.length > 0) {
|
|
126
131
|
for (var _i = 0, _a = retornoImportador.retornoLexador.erros; _i < _a.length; _i++) {
|
|
127
132
|
var erroLexador = _a[_i];
|
|
@@ -136,12 +141,12 @@ var Delegua = /** @class */ (function () {
|
|
|
136
141
|
}
|
|
137
142
|
return;
|
|
138
143
|
}
|
|
139
|
-
var retornoInterpretador = this.interpretador.interpretar(retornoImportador.retornoAvaliadorSintatico.declaracoes);
|
|
144
|
+
var retornoInterpretador = this.interpretador.interpretar(retornoImportador.retornoAvaliadorSintatico.declaracoes, manterAmbiente);
|
|
140
145
|
if (retornoInterpretador.erros.length > 0) {
|
|
141
146
|
for (var _d = 0, _e = retornoInterpretador.erros; _d < _e.length; _d++) {
|
|
142
147
|
var erroInterpretador = _e[_d];
|
|
143
148
|
if (erroInterpretador.simbolo) {
|
|
144
|
-
this.erroEmTempoDeExecucao(erroInterpretador
|
|
149
|
+
this.erroEmTempoDeExecucao(erroInterpretador);
|
|
145
150
|
}
|
|
146
151
|
else {
|
|
147
152
|
var erroEmJavaScript = erroInterpretador;
|
|
@@ -181,7 +186,7 @@ var Delegua = /** @class */ (function () {
|
|
|
181
186
|
else
|
|
182
187
|
console.error(chalk_1.default.red("Erro: [Linha: ".concat(erro.simbolo.linha, "]")) + " ".concat(erro.mensagem));
|
|
183
188
|
}
|
|
184
|
-
else
|
|
189
|
+
else {
|
|
185
190
|
console.error(chalk_1.default.red("Erro: [Linha: ".concat(erro.linha || 0, "]")) + " ".concat(erro.mensagem));
|
|
186
191
|
}
|
|
187
192
|
this.teveErroEmTempoDeExecucao = true;
|
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,kFAA0D;
|
|
1
|
+
{"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../fontes/delegua.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { InterpretadorInterface } from "../interfaces";
|
|
2
|
+
import { Chamavel } from "./chamavel";
|
|
3
|
+
import { DeleguaFuncao } from "./funcao";
|
|
4
|
+
import { ObjetoDeleguaClasse } from "./objeto-delegua-classe";
|
|
5
|
+
export declare class DeleguaClasse extends Chamavel {
|
|
6
|
+
nome: string;
|
|
7
|
+
superClasse: any;
|
|
8
|
+
metodos: any;
|
|
9
|
+
constructor(nome?: string, superClasse?: any, metodos?: any);
|
|
10
|
+
encontrarMetodo(nome: string): DeleguaFuncao;
|
|
11
|
+
paraTexto(): string;
|
|
12
|
+
aridade(): any;
|
|
13
|
+
chamar(interpretador: InterpretadorInterface, argumentos: any): ObjetoDeleguaClasse;
|
|
14
|
+
}
|
|
@@ -17,7 +17,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.DeleguaClasse = void 0;
|
|
19
19
|
var chamavel_1 = require("./chamavel");
|
|
20
|
-
var
|
|
20
|
+
var objeto_delegua_classe_1 = require("./objeto-delegua-classe");
|
|
21
21
|
var DeleguaClasse = /** @class */ (function (_super) {
|
|
22
22
|
__extends(DeleguaClasse, _super);
|
|
23
23
|
function DeleguaClasse(nome, superClasse, metodos) {
|
|
@@ -44,14 +44,14 @@ var DeleguaClasse = /** @class */ (function (_super) {
|
|
|
44
44
|
return inicializador ? inicializador.aridade() : 0;
|
|
45
45
|
};
|
|
46
46
|
DeleguaClasse.prototype.chamar = function (interpretador, argumentos) {
|
|
47
|
-
var instancia = new
|
|
47
|
+
var instancia = new objeto_delegua_classe_1.ObjetoDeleguaClasse(this);
|
|
48
48
|
var inicializador = this.encontrarMetodo("construtor");
|
|
49
49
|
if (inicializador) {
|
|
50
|
-
inicializador.
|
|
50
|
+
inicializador.definirInstancia(instancia).chamar(interpretador, argumentos);
|
|
51
51
|
}
|
|
52
52
|
return instancia;
|
|
53
53
|
};
|
|
54
54
|
return DeleguaClasse;
|
|
55
55
|
}(chamavel_1.Chamavel));
|
|
56
56
|
exports.DeleguaClasse = DeleguaClasse;
|
|
57
|
-
//# sourceMappingURL=classe.js.map
|
|
57
|
+
//# sourceMappingURL=delegua-classe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegua-classe.js","sourceRoot":"","sources":["../../../fontes/estruturas/delegua-classe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,uCAAsC;AAEtC,iEAA8D;AAE9D;IAAmC,iCAAQ;IAKvC,uBAAY,IAAa,EAAE,WAAiB,EAAE,OAAa;QAA3D,YACI,iBAAO,SAIV;QAHG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;;IAC3B,CAAC;IAED,uCAAe,GAAf,UAAgB,IAAY;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SACjD;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,iCAAS,GAAT;QACI,OAAO,kBAAW,IAAI,CAAC,IAAI,MAAG,CAAC;IACnC,CAAC;IAED,+BAAO,GAAP;QACI,IAAI,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,OAAO,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,8BAAM,GAAN,UAAO,aAAqC,EAAE,UAAe;QACzD,IAAI,SAAS,GAAG,IAAI,2CAAmB,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,aAAa,EAAE;YACf,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;SAC/E;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IACL,oBAAC;AAAD,CAAC,AA3CD,CAAmC,mBAAQ,GA2C1C;AA3CY,sCAAa"}
|
|
@@ -4,6 +4,6 @@ export declare class FuncaoPadrao extends Chamavel {
|
|
|
4
4
|
funcao: Function;
|
|
5
5
|
simbolo: any;
|
|
6
6
|
constructor(valorAridade: number, funcao: Function);
|
|
7
|
-
chamar(
|
|
7
|
+
chamar(argumentos: any[], simbolo: any): any;
|
|
8
8
|
paraTexto(): string;
|
|
9
9
|
}
|
|
@@ -25,7 +25,7 @@ var FuncaoPadrao = /** @class */ (function (_super) {
|
|
|
25
25
|
_this.funcao = funcao;
|
|
26
26
|
return _this;
|
|
27
27
|
}
|
|
28
|
-
FuncaoPadrao.prototype.chamar = function (
|
|
28
|
+
FuncaoPadrao.prototype.chamar = function (argumentos, simbolo) {
|
|
29
29
|
this.simbolo = simbolo;
|
|
30
30
|
return this.funcao.apply(this, argumentos);
|
|
31
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funcao-padrao.js","sourceRoot":"","sources":["../../../fontes/estruturas/funcao-padrao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AAEtC;IAAkC,gCAAQ;IAKtC,sBAAY,YAAoB,EAAE,MAAgB;QAAlD,YACI,iBAAO,SAGV;QAFG,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;IACzB,CAAC;IAED,6BAAM,GAAN,UAAO,
|
|
1
|
+
{"version":3,"file":"funcao-padrao.js","sourceRoot":"","sources":["../../../fontes/estruturas/funcao-padrao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AAEtC;IAAkC,gCAAQ;IAKtC,sBAAY,YAAoB,EAAE,MAAgB;QAAlD,YACI,iBAAO,SAGV;QAFG,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;IACzB,CAAC;IAED,6BAAM,GAAN,UAAO,UAAiB,EAAE,OAAY;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,gCAAS,GAAT;QACI,OAAO,UAAU,CAAC;IACtB,CAAC;IACL,mBAAC;AAAD,CAAC,AAnBD,CAAkC,mBAAQ,GAmBzC;AAnBY,oCAAY"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { Chamavel } from "./chamavel";
|
|
2
|
+
import { InterpretadorInterface } from "../interfaces";
|
|
3
|
+
import { ObjetoDeleguaClasse } from "./objeto-delegua-classe";
|
|
2
4
|
export declare class DeleguaFuncao extends Chamavel {
|
|
3
|
-
nome:
|
|
5
|
+
nome: string;
|
|
4
6
|
declaracao: any;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructor(nome:
|
|
8
|
-
aridade():
|
|
7
|
+
eInicializador: boolean;
|
|
8
|
+
instancia: ObjetoDeleguaClasse;
|
|
9
|
+
constructor(nome: string, declaracao: string, instancia?: ObjetoDeleguaClasse, eInicializador?: boolean);
|
|
10
|
+
aridade(): number;
|
|
9
11
|
paraTexto(): string;
|
|
10
|
-
chamar(interpretador:
|
|
11
|
-
|
|
12
|
+
chamar(interpretador: InterpretadorInterface, argumentos: any): any;
|
|
13
|
+
definirInstancia(instancia: ObjetoDeleguaClasse): DeleguaFuncao;
|
|
12
14
|
}
|
|
@@ -18,15 +18,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.DeleguaFuncao = void 0;
|
|
19
19
|
var chamavel_1 = require("./chamavel");
|
|
20
20
|
var ambiente_1 = require("../ambiente");
|
|
21
|
-
var
|
|
21
|
+
var quebras_1 = require("../quebras");
|
|
22
22
|
var DeleguaFuncao = /** @class */ (function (_super) {
|
|
23
23
|
__extends(DeleguaFuncao, _super);
|
|
24
|
-
function DeleguaFuncao(nome, declaracao,
|
|
24
|
+
function DeleguaFuncao(nome, declaracao, instancia, eInicializador) {
|
|
25
|
+
if (instancia === void 0) { instancia = undefined; }
|
|
25
26
|
if (eInicializador === void 0) { eInicializador = false; }
|
|
26
27
|
var _this = _super.call(this) || this;
|
|
27
28
|
_this.nome = nome;
|
|
28
29
|
_this.declaracao = declaracao;
|
|
29
|
-
_this.
|
|
30
|
+
_this.instancia = instancia;
|
|
30
31
|
_this.eInicializador = eInicializador;
|
|
31
32
|
return _this;
|
|
32
33
|
}
|
|
@@ -40,40 +41,33 @@ var DeleguaFuncao = /** @class */ (function (_super) {
|
|
|
40
41
|
return "<fun\u00E7\u00E3o ".concat(this.nome, ">");
|
|
41
42
|
};
|
|
42
43
|
DeleguaFuncao.prototype.chamar = function (interpretador, argumentos) {
|
|
43
|
-
var ambiente = new ambiente_1.Ambiente(
|
|
44
|
+
var ambiente = new ambiente_1.Ambiente();
|
|
44
45
|
var parametros = this.declaracao.parametros;
|
|
45
46
|
if (parametros && parametros.length) {
|
|
46
47
|
for (var i = 0; i < parametros.length; i++) {
|
|
47
|
-
var
|
|
48
|
-
var nome =
|
|
48
|
+
var parametro = parametros[i];
|
|
49
|
+
var nome = parametro["nome"].lexema;
|
|
49
50
|
var valor = argumentos[i];
|
|
50
51
|
if (argumentos[i] === null) {
|
|
51
|
-
valor =
|
|
52
|
+
valor = parametro["padrao"] ? parametro["padrao"].valor : null;
|
|
52
53
|
}
|
|
53
|
-
ambiente.
|
|
54
|
+
ambiente.valores[nome] = valor;
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
if (this.instancia !== undefined) {
|
|
58
|
+
ambiente.valores['isto'] = this.instancia;
|
|
58
59
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
else {
|
|
66
|
-
throw erro;
|
|
67
|
-
}
|
|
60
|
+
var retornoBloco = interpretador.executarBloco(this.declaracao.corpo, ambiente);
|
|
61
|
+
if (retornoBloco instanceof quebras_1.RetornoQuebra) {
|
|
62
|
+
return retornoBloco.valor;
|
|
63
|
+
}
|
|
64
|
+
if (this.eInicializador) {
|
|
65
|
+
return this.instancia;
|
|
68
66
|
}
|
|
69
|
-
|
|
70
|
-
return this.ambienteAnterior.obterVariavelEm(0, "isto");
|
|
71
|
-
return null;
|
|
67
|
+
return retornoBloco;
|
|
72
68
|
};
|
|
73
|
-
DeleguaFuncao.prototype.
|
|
74
|
-
|
|
75
|
-
ambiente.definirVariavel("isto", instancia);
|
|
76
|
-
return new DeleguaFuncao(this.nome, this.declaracao, ambiente, this.eInicializador);
|
|
69
|
+
DeleguaFuncao.prototype.definirInstancia = function (instancia) {
|
|
70
|
+
return new DeleguaFuncao(this.nome, this.declaracao, instancia, this.eInicializador);
|
|
77
71
|
};
|
|
78
72
|
return DeleguaFuncao;
|
|
79
73
|
}(chamavel_1.Chamavel));
|