@designliquido/delegua 0.6.0 → 0.6.1
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/README.md +7 -1
- package/bin/package.json +9 -2
- package/fontes/ambiente.d.ts +4 -1
- package/fontes/ambiente.js.map +1 -1
- package/fontes/bibliotecas/biblioteca-global.js +37 -28
- package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
- package/fontes/bibliotecas/importar-biblioteca.js +18 -1
- package/fontes/bibliotecas/importar-biblioteca.js.map +1 -1
- package/fontes/construtos/acesso-indice-variavel.d.ts +4 -3
- package/fontes/construtos/acesso-indice-variavel.js.map +1 -1
- package/fontes/construtos/variavel.d.ts +2 -2
- package/fontes/estruturas/delegua-classe.d.ts +4 -2
- package/fontes/estruturas/funcao.js +1 -1
- package/fontes/estruturas/funcao.js.map +1 -1
- package/fontes/interfaces/index.d.ts +1 -0
- package/fontes/interfaces/index.js +1 -0
- package/fontes/interfaces/index.js.map +1 -1
- package/fontes/interfaces/pilha-escopos-execucao-interface.d.ts +6 -5
- package/fontes/interfaces/variavel-interface.d.ts +4 -0
- package/fontes/interfaces/variavel-interface.js +3 -0
- package/fontes/interfaces/variavel-interface.js.map +1 -0
- package/fontes/interpretador/dialetos/egua-classico.d.ts +20 -12
- package/fontes/interpretador/dialetos/egua-classico.js +66 -41
- package/fontes/interpretador/dialetos/egua-classico.js.map +1 -1
- package/fontes/interpretador/inferenciador.d.ts +1 -0
- package/fontes/interpretador/inferenciador.js +26 -0
- package/fontes/interpretador/inferenciador.js.map +1 -0
- package/fontes/interpretador/interpretador.d.ts +41 -6
- package/fontes/interpretador/interpretador.js +92 -38
- package/fontes/interpretador/interpretador.js.map +1 -1
- package/fontes/interpretador/pilha-escopos-execucao.d.ts +5 -5
- package/fontes/interpretador/pilha-escopos-execucao.js +7 -4
- package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-egua-classico.js +1 -0
- package/fontes/lexador/dialetos/lexador-egua-classico.js.map +1 -1
- package/package.json +9 -2
- package/testes/__mocks__/estatistica.d.ts +2 -0
- package/testes/__mocks__/estatistica.js +4 -0
- package/testes/__mocks__/estatistica.js.map +1 -0
- package/testes/__mocks__/fisica.d.ts +2 -0
- package/testes/__mocks__/fisica.js +4 -0
- package/testes/__mocks__/fisica.js.map +1 -0
- package/testes/__mocks__/matematica.d.ts +2 -0
- package/testes/__mocks__/matematica.js +4 -0
- package/testes/__mocks__/matematica.js.map +1 -0
- package/testes/biblioteca-global.test.js +10 -0
- package/testes/biblioteca-global.test.js.map +1 -1
- package/testes/egua-classico/interpretador.test.js +1 -1
- package/testes/egua-classico/interpretador.test.js.map +1 -1
- package/testes/interpretador.test.js +64 -0
- package/testes/interpretador.test.js.map +1 -1
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ Delégua tem retrocompatibilidade com a linguagem Égua e usa a mesma extensão
|
|
|
40
40
|
Com o Node.js instalado, execute o seguinte comando em um prompt de comando (Terminal, PowerShell ou `cmd` no Windows, Terminal ou `bash` em Mac e Linux):
|
|
41
41
|
|
|
42
42
|
```
|
|
43
|
-
npm install -g
|
|
43
|
+
npm install -g delegua
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
Feito isso, execute o seguinte comando:
|
|
@@ -59,6 +59,12 @@ Para finalizar a execução do interpretador LAIR Delégua, use o atalho <key>Ct
|
|
|
59
59
|
delegua --dialeto egua
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
+
Se não quiser instalar as bibliotecas que acompanham Delégua, apenas o núcleo da linguagem pode ser instalado:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
npm install -g @designliquido/delegua
|
|
66
|
+
```
|
|
67
|
+
|
|
62
68
|
## Documentação
|
|
63
69
|
|
|
64
70
|
- [Delégua é documentada na Wiki deste GitHub](https://github.com/DesignLiquido/delegua/wiki).
|
package/bin/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Linguagem de programação simples e moderna usando português",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -36,6 +36,10 @@
|
|
|
36
36
|
{
|
|
37
37
|
"name": "Samuel Renan Gonçalves Vaz",
|
|
38
38
|
"url": "https://www.linkedin.com/in/samuel-renan-gon%C3%A7alves-vaz-b6b83a103/"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "Alessandro Fuhr de Mello",
|
|
42
|
+
"url": "https://github.com/AlessandroFMello"
|
|
39
43
|
}
|
|
40
44
|
],
|
|
41
45
|
"license": "MIT",
|
|
@@ -52,7 +56,10 @@
|
|
|
52
56
|
"release-it": "^14.14.2",
|
|
53
57
|
"ts-jest": "^27.1.4",
|
|
54
58
|
"ts-node": "^10.7.0",
|
|
55
|
-
"typescript": "^4.6.3"
|
|
59
|
+
"typescript": "^4.6.3",
|
|
60
|
+
"@designliquido/delegua-estatistica": "^0.0.5",
|
|
61
|
+
"@designliquido/delegua-fisica": "^0.0.2",
|
|
62
|
+
"@designliquido/delegua-matematica": "^0.0.2"
|
|
56
63
|
},
|
|
57
64
|
"dependencies": {
|
|
58
65
|
"browser-process-hrtime": "^1.0.0",
|
package/fontes/ambiente.d.ts
CHANGED
package/fontes/ambiente.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ambiente.js","sourceRoot":"","sources":["../../fontes/ambiente.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ambiente.js","sourceRoot":"","sources":["../../fontes/ambiente.ts"],"names":[],"mappings":";;;AAEA;IAGI;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IACL,eAAC;AAAD,CAAC,AAND,IAMC;AANY,4BAAQ;AAMpB,CAAC"}
|
|
@@ -13,12 +13,15 @@ function default_1(interpretador, pilhaEscoposExecucao) {
|
|
|
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
|
+
var valorMinimo = minimo.hasOwnProperty('valor') ? minimo.valor : minimo;
|
|
17
|
+
var valorMaximo = maximo.hasOwnProperty('valor') ? maximo.valor : maximo;
|
|
18
|
+
if (typeof valorMinimo !== 'number' || typeof valorMaximo !== 'number') {
|
|
17
19
|
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Os dois parâmetros devem ser do tipo número.");
|
|
18
20
|
}
|
|
19
|
-
return Math.floor(Math.random() * (
|
|
21
|
+
return Math.floor(Math.random() * (valorMaximo - valorMinimo)) + valorMinimo;
|
|
20
22
|
}));
|
|
21
|
-
pilhaEscoposExecucao.definirVariavel("inteiro", new funcao_padrao_1.FuncaoPadrao(1, function (
|
|
23
|
+
pilhaEscoposExecucao.definirVariavel("inteiro", new funcao_padrao_1.FuncaoPadrao(1, function (numero) {
|
|
24
|
+
var valor = numero.hasOwnProperty('valor') ? numero.valor : numero;
|
|
22
25
|
if (isNaN(valor)) {
|
|
23
26
|
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Valor não parece ser um número. Somente números ou textos com números podem ser convertidos para inteiro.");
|
|
24
27
|
}
|
|
@@ -27,23 +30,26 @@ function default_1(interpretador, pilhaEscoposExecucao) {
|
|
|
27
30
|
}
|
|
28
31
|
return parseInt(valor);
|
|
29
32
|
}));
|
|
30
|
-
pilhaEscoposExecucao.definirVariavel("mapear", new funcao_padrao_1.FuncaoPadrao(1, function (
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
pilhaEscoposExecucao.definirVariavel("mapear", new funcao_padrao_1.FuncaoPadrao(1, function (vetor, funcaoMapeamento) {
|
|
34
|
+
var valorVetor = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
|
|
35
|
+
var valorFuncaoMapeamento = funcaoMapeamento.hasOwnProperty('valor') ? funcaoMapeamento.valor : funcaoMapeamento;
|
|
36
|
+
if (!Array.isArray(valorVetor)) {
|
|
37
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O primeiro parâmetro da função mapear() deve ser um vetor.");
|
|
33
38
|
}
|
|
34
|
-
if (
|
|
35
|
-
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O segundo parâmetro da função
|
|
39
|
+
if (valorFuncaoMapeamento.constructor.name !== 'DeleguaFuncao') {
|
|
40
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O segundo parâmetro da função mapear() deve ser uma função.");
|
|
36
41
|
}
|
|
37
42
|
var resultados = [];
|
|
38
|
-
for (var indice = 0; indice <
|
|
39
|
-
resultados.push(
|
|
43
|
+
for (var indice = 0; indice < valorVetor.length; ++indice) {
|
|
44
|
+
resultados.push(valorFuncaoMapeamento.chamar(interpretador, [valorVetor[indice]]));
|
|
40
45
|
}
|
|
41
46
|
return resultados;
|
|
42
47
|
}));
|
|
43
|
-
pilhaEscoposExecucao.definirVariavel("ordenar", new funcao_padrao_1.FuncaoPadrao(1, function (
|
|
48
|
+
pilhaEscoposExecucao.definirVariavel("ordenar", new funcao_padrao_1.FuncaoPadrao(1, function (vetor) {
|
|
44
49
|
var _a;
|
|
50
|
+
var objeto = vetor.hasOwnProperty('valor') ? vetor.valor : vetor;
|
|
45
51
|
if (!Array.isArray(objeto)) {
|
|
46
|
-
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Valor
|
|
52
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Valor inválido. Objeto inserido não é um vetor.");
|
|
47
53
|
}
|
|
48
54
|
var trocado;
|
|
49
55
|
var tamanho = objeto.length;
|
|
@@ -58,36 +64,39 @@ function default_1(interpretador, pilhaEscoposExecucao) {
|
|
|
58
64
|
} while (trocado);
|
|
59
65
|
return objeto;
|
|
60
66
|
}));
|
|
61
|
-
pilhaEscoposExecucao.definirVariavel("real", new funcao_padrao_1.FuncaoPadrao(1, function (
|
|
62
|
-
|
|
63
|
-
|
|
67
|
+
pilhaEscoposExecucao.definirVariavel("real", new funcao_padrao_1.FuncaoPadrao(1, function (numero) {
|
|
68
|
+
var valor = numero.hasOwnProperty('valor') ? numero.valor : numero;
|
|
69
|
+
if (!/^(-)?\d+(\.\d+)?$/.test(valor)) {
|
|
70
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Valor não parece estar estruturado como um número (texto/valor vazio, falso ou não definido). Somente números ou textos com números podem ser convertidos para real.");
|
|
71
|
+
}
|
|
64
72
|
return parseFloat(valor);
|
|
65
73
|
}));
|
|
66
74
|
pilhaEscoposExecucao.definirVariavel("tamanho", new funcao_padrao_1.FuncaoPadrao(1, function (objeto) {
|
|
67
|
-
|
|
75
|
+
var valorObjeto = objeto.hasOwnProperty('valor') ? objeto.valor : objeto;
|
|
76
|
+
if (!isNaN(valorObjeto)) {
|
|
68
77
|
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Não é possível encontrar o tamanho de um número.");
|
|
69
78
|
}
|
|
70
|
-
if (
|
|
79
|
+
if (valorObjeto instanceof objeto_delegua_classe_1.ObjetoDeleguaClasse) {
|
|
71
80
|
throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Você não pode encontrar o tamanho de uma declaração.");
|
|
72
81
|
}
|
|
73
|
-
if (
|
|
74
|
-
return
|
|
82
|
+
if (valorObjeto instanceof funcao_1.DeleguaFuncao) {
|
|
83
|
+
return valorObjeto.declaracao.parametros.length;
|
|
75
84
|
}
|
|
76
|
-
if (
|
|
77
|
-
return
|
|
85
|
+
if (valorObjeto instanceof funcao_padrao_1.FuncaoPadrao) {
|
|
86
|
+
return valorObjeto.valorAridade;
|
|
78
87
|
}
|
|
79
|
-
if (
|
|
80
|
-
var metodos =
|
|
88
|
+
if (valorObjeto instanceof delegua_classe_1.DeleguaClasse) {
|
|
89
|
+
var metodos = valorObjeto.metodos;
|
|
81
90
|
var tamanho = 0;
|
|
82
|
-
if (metodos.
|
|
83
|
-
tamanho = metodos.
|
|
91
|
+
if (metodos.inicializacao && metodos.inicializacao.eInicializador) {
|
|
92
|
+
tamanho = metodos.inicializacao.declaracao.parametros.length;
|
|
84
93
|
}
|
|
85
94
|
return tamanho;
|
|
86
95
|
}
|
|
87
|
-
return
|
|
96
|
+
return valorObjeto.length;
|
|
88
97
|
}));
|
|
89
|
-
pilhaEscoposExecucao.definirVariavel("texto", new funcao_padrao_1.FuncaoPadrao(1, function (
|
|
90
|
-
return "".concat(valor);
|
|
98
|
+
pilhaEscoposExecucao.definirVariavel("texto", new funcao_padrao_1.FuncaoPadrao(1, function (valorOuVariavel) {
|
|
99
|
+
return "".concat(valorOuVariavel.hasOwnProperty('valor') ? valorOuVariavel.valor : valorOuVariavel);
|
|
91
100
|
}));
|
|
92
101
|
return pilhaEscoposExecucao;
|
|
93
102
|
}
|
|
@@ -1 +1 @@
|
|
|
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,oBAAmD;IAC/G,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,
|
|
1
|
+
{"version":3,"file":"biblioteca-global.js","sourceRoot":"","sources":["../../../fontes/bibliotecas/biblioteca-global.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,25 @@ var carregarBiblioteca = function (nomeDaBiblioteca, caminhoDaBiblioteca) {
|
|
|
24
24
|
}
|
|
25
25
|
return novoModulo;
|
|
26
26
|
};
|
|
27
|
+
var verificaModulosDelegua = function (nome) {
|
|
28
|
+
var modulos = {
|
|
29
|
+
"estatistica": "@designliquido/delegua-estatistica",
|
|
30
|
+
"estatística": "@designliquido/delegua-estatistica",
|
|
31
|
+
"fisica": "@designliquido/delegua-fisica",
|
|
32
|
+
"física": "@designliquido/delegua-fisica",
|
|
33
|
+
"matematica": "@designliquido/delegua-matematica",
|
|
34
|
+
"matemática": "@designliquido/delegua-matematica",
|
|
35
|
+
};
|
|
36
|
+
if (Object.keys(modulos).includes(nome)) {
|
|
37
|
+
return modulos[nome].toString();
|
|
38
|
+
}
|
|
39
|
+
;
|
|
40
|
+
return false;
|
|
41
|
+
};
|
|
27
42
|
function default_1(nome) {
|
|
28
|
-
|
|
43
|
+
var verificaModulos = verificaModulosDelegua(nome);
|
|
44
|
+
return (verificaModulos
|
|
45
|
+
? (carregarBiblioteca(verificaModulos, verificaModulos)) : (carregarBiblioteca(nome, nome)));
|
|
29
46
|
}
|
|
30
47
|
exports.default = default_1;
|
|
31
48
|
;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importar-biblioteca.js","sourceRoot":"","sources":["../../../fontes/bibliotecas/importar-biblioteca.ts"],"names":[],"mappings":";;AAAA,wCAAoD;AACpD,6DAA2D;AAC3D,+CAAqD;AAErD,IAAM,kBAAkB,GAAG,UAAU,gBAAqB,EAAE,mBAAwB;IAChF,IAAI,aAAkB,CAAC;IAEvB,IAAI;QACA,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAChD;IAAC,OAAO,IAAS,EAAE;QAChB,MAAM,IAAI,gCAAqB,CAAC,gBAAgB,EAAE,qBAAc,gBAAgB,oDAAkC,CAAC,CAAC;KACvH;IAED,IAAI,UAAU,GAAG,IAAI,sBAAa,CAAC,gBAAgB,CAAC,CAAC;IAErD,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,IAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YACnC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,4BAAY,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;SAC7E;aAAM;YACH,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;SACvC;KACJ;IAED,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AAEF,mBAAyB,IAAY;IACjC,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"importar-biblioteca.js","sourceRoot":"","sources":["../../../fontes/bibliotecas/importar-biblioteca.ts"],"names":[],"mappings":";;AAAA,wCAAoD;AACpD,6DAA2D;AAC3D,+CAAqD;AAErD,IAAM,kBAAkB,GAAG,UAAU,gBAAqB,EAAE,mBAAwB;IAChF,IAAI,aAAkB,CAAC;IAEvB,IAAI;QACA,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAChD;IAAC,OAAO,IAAS,EAAE;QAChB,MAAM,IAAI,gCAAqB,CAAC,gBAAgB,EAAE,qBAAc,gBAAgB,oDAAkC,CAAC,CAAC;KACvH;IAED,IAAI,UAAU,GAAG,IAAI,sBAAa,CAAC,gBAAgB,CAAC,CAAC;IAErD,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,IAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YACnC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,4BAAY,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;SAC7E;aAAM;YACH,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;SACvC;KACJ;IAED,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AAEF,IAAM,sBAAsB,GAAG,UAAC,IAAY;IACxC,IAAM,OAAO,GAAG;QACZ,aAAa,EAAE,oCAAoC;QACnD,aAAa,EAAE,oCAAoC;QACnD,QAAQ,EAAE,+BAA+B;QACzC,QAAQ,EAAE,+BAA+B;QACzC,YAAY,EAAE,mCAAmC;QACjD,YAAY,EAAE,mCAAmC;KACpD,CAAA;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACrC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;KACnC;IAAA,CAAC;IAEF,OAAO,KAAK,CAAA;AAChB,CAAC,CAAC;AAEF,mBAAyB,IAAY;IACjC,IAAM,eAAe,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,CACH,eAAe;QACf,CAAC,CAAC,CACE,kBAAkB,CAAC,eAAe,EAAE,eAAe,CAAC,CACvD,CAAC,CAAC,CAAC,CACA,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CACjC,CAAC,CAAC;AACX,CAAC;AATD,4BASC;AAAA,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InterpretadorInterface, SimboloInterface } from "../interfaces";
|
|
1
2
|
import { Construto } from "./construto";
|
|
2
3
|
/**
|
|
3
4
|
* Definido como `Subscript` em Égua Clássico, esse construto serve para acessar índices de
|
|
@@ -7,8 +8,8 @@ export declare class AcessoIndiceVariavel implements Construto {
|
|
|
7
8
|
linha: number;
|
|
8
9
|
hashArquivo?: number;
|
|
9
10
|
entidadeChamada: Construto;
|
|
10
|
-
simboloFechamento:
|
|
11
|
+
simboloFechamento: SimboloInterface;
|
|
11
12
|
indice: any;
|
|
12
|
-
constructor(hashArquivo: number, entidadeChamada: Construto, indice: any, simboloFechamento:
|
|
13
|
-
aceitar(visitante:
|
|
13
|
+
constructor(hashArquivo: number, entidadeChamada: Construto, indice: any, simboloFechamento: SimboloInterface);
|
|
14
|
+
aceitar(visitante: InterpretadorInterface): any;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acesso-indice-variavel.js","sourceRoot":"","sources":["../../../fontes/construtos/acesso-indice-variavel.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"acesso-indice-variavel.js","sourceRoot":"","sources":["../../../fontes/construtos/acesso-indice-variavel.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH;IAQI,8BAAY,WAAmB,EAAE,eAA0B,EAAE,MAAW,EAAE,iBAAmC;QACzG,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,sCAAO,GAAP,UAAQ,SAAiC;QACrC,OAAO,SAAS,CAAC,oCAAoC,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IACL,2BAAC;AAAD,CAAC,AApBD,IAoBC;AApBY,oDAAoB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { InterpretadorInterface, SimboloInterface } from "../interfaces";
|
|
1
|
+
import { InterpretadorInterface, SimboloInterface, VariavelInterface } from "../interfaces";
|
|
2
2
|
import { Construto } from "./construto";
|
|
3
3
|
export declare class Variavel implements Construto {
|
|
4
4
|
linha: number;
|
|
5
5
|
hashArquivo?: number;
|
|
6
6
|
simbolo: SimboloInterface;
|
|
7
7
|
constructor(hashArquivo: number, simbolo: SimboloInterface);
|
|
8
|
-
aceitar(visitante: InterpretadorInterface):
|
|
8
|
+
aceitar(visitante: InterpretadorInterface): VariavelInterface;
|
|
9
9
|
}
|
|
@@ -4,8 +4,10 @@ import { DeleguaFuncao } from "./funcao";
|
|
|
4
4
|
import { ObjetoDeleguaClasse } from "./objeto-delegua-classe";
|
|
5
5
|
export declare class DeleguaClasse extends Chamavel {
|
|
6
6
|
nome: string;
|
|
7
|
-
superClasse:
|
|
8
|
-
metodos:
|
|
7
|
+
superClasse: DeleguaClasse;
|
|
8
|
+
metodos: {
|
|
9
|
+
[nome: string]: DeleguaFuncao;
|
|
10
|
+
};
|
|
9
11
|
constructor(nome?: string, superClasse?: any, metodos?: any);
|
|
10
12
|
encontrarMetodo(nome: string): DeleguaFuncao;
|
|
11
13
|
paraTexto(): string;
|
|
@@ -55,7 +55,7 @@ var DeleguaFuncao = /** @class */ (function (_super) {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
if (this.instancia !== undefined) {
|
|
58
|
-
ambiente.valores['isto'] = this.instancia;
|
|
58
|
+
ambiente.valores['isto'] = { valor: this.instancia, tipo: "objeto" };
|
|
59
59
|
}
|
|
60
60
|
var retornoBloco = interpretador.executarBloco(this.declaracao.corpo, ambiente);
|
|
61
61
|
if (retornoBloco instanceof quebras_1.RetornoQuebra) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funcao.js","sourceRoot":"","sources":["../../../fontes/estruturas/funcao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,wCAAuC;AAGvC,sCAA2C;AAG3C;IAAmC,iCAAQ;IAMvC,uBAAY,IAAY,EAAE,UAAe,EAAE,SAA0C,EAAE,cAAsB;QAAlE,0BAAA,EAAA,qBAA0C;QAAE,+BAAA,EAAA,sBAAsB;QAA7G,YACI,iBAAO,SAKV;QAJG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;;IACzC,CAAC;IAED,+BAAO,GAAP;;QACI,OAAO,CAAA,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,UAAU,0CAAE,MAAM,KAAI,CAAC,CAAC;IACpD,CAAC;IAED,iCAAS,GAAT;QACI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;QAC1C,OAAO,4BAAW,IAAI,CAAC,IAAI,MAAG,CAAC;IACnC,CAAC;IAED,8BAAM,GAAN,UAAO,aAAqC,EAAE,UAAe;QACzD,IAAI,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC9B,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAE5C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAEhC,IAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBACtC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBACxB,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClE;gBAED,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aAClC;SACJ;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAC9B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"funcao.js","sourceRoot":"","sources":["../../../fontes/estruturas/funcao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,wCAAuC;AAGvC,sCAA2C;AAG3C;IAAmC,iCAAQ;IAMvC,uBAAY,IAAY,EAAE,UAAe,EAAE,SAA0C,EAAE,cAAsB;QAAlE,0BAAA,EAAA,qBAA0C;QAAE,+BAAA,EAAA,sBAAsB;QAA7G,YACI,iBAAO,SAKV;QAJG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;;IACzC,CAAC;IAED,+BAAO,GAAP;;QACI,OAAO,CAAA,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,UAAU,0CAAE,MAAM,KAAI,CAAC,CAAC;IACpD,CAAC;IAED,iCAAS,GAAT;QACI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;QAC1C,OAAO,4BAAW,IAAI,CAAC,IAAI,MAAG,CAAC;IACnC,CAAC;IAED,8BAAM,GAAN,UAAO,aAAqC,EAAE,UAAe;QACzD,IAAI,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC9B,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAE5C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAEhC,IAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBACtC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBACxB,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClE;gBAED,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aAClC;SACJ;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAC9B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC;SACvE;QAED,IAAM,YAAY,GAAQ,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvF,IAAI,YAAY,YAAY,uBAAa,EAAE;YACvC,OAAO,YAAY,CAAC,KAAK,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,cAAc,EAAG;YACtB,OAAO,IAAI,CAAC,SAAS,CAAC;SACzB;QAED,OAAO,YAAY,CAAC;IAExB,CAAC;IAED,wCAAgB,GAAhB,UAAiB,SAA8B;QAC3C,OAAO,IAAI,aAAa,CACpB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,SAAS,EACT,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IACL,oBAAC;AAAD,CAAC,AAlED,CAAmC,mBAAQ,GAkE1C;AAlEY,sCAAa"}
|
|
@@ -24,4 +24,5 @@ __exportStar(require("./pilha-interface"), exports);
|
|
|
24
24
|
__exportStar(require("./resolvedor-interface"), exports);
|
|
25
25
|
__exportStar(require("./retornos/retorno-execucao-interface"), exports);
|
|
26
26
|
__exportStar(require("./simbolo-interface"), exports);
|
|
27
|
+
__exportStar(require("./variavel-interface"), exports);
|
|
27
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,sDAAoC;AACpC,yDAAuC;AACvC,0EAAwD;AACxD,4DAA0C;AAC1C,sDAAoC;AACpC,oDAAkC;AAClC,yDAAuC;AACvC,wEAAsD;AACtD,sDAAoC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,sDAAoC;AACpC,yDAAuC;AACvC,0EAAwD;AACxD,4DAA0C;AAC1C,sDAAoC;AACpC,oDAAkC;AAClC,yDAAuC;AACvC,wEAAsD;AACtD,sDAAoC;AACpC,uDAAqC"}
|
|
@@ -2,16 +2,17 @@ import { DeleguaFuncao } from "../estruturas";
|
|
|
2
2
|
import { EscopoExecucao } from "./escopo-execucao";
|
|
3
3
|
import { PilhaInterface } from "./pilha-interface";
|
|
4
4
|
import { SimboloInterface } from "./simbolo-interface";
|
|
5
|
+
import { VariavelInterface } from "./variavel-interface";
|
|
5
6
|
export interface PilhaEscoposExecucaoInterface extends PilhaInterface<EscopoExecucao> {
|
|
6
7
|
atribuirVariavel(simbolo: SimboloInterface, valor: any): void;
|
|
7
|
-
atribuirVariavelEm(distancia: number, simbolo:
|
|
8
|
+
atribuirVariavelEm(distancia: number, simbolo: SimboloInterface, valor: any): void;
|
|
8
9
|
definirVariavel(nomeVariavel: string, valor: any): void;
|
|
9
10
|
elementos(): number;
|
|
10
11
|
naPosicao(posicao: number): EscopoExecucao;
|
|
11
|
-
obterTodasVariaveis(todasVariaveis: any[]):
|
|
12
|
-
obterVariavel(simbolo: SimboloInterface):
|
|
13
|
-
obterVariavelEm(distancia: number, nome: string):
|
|
14
|
-
obterVariavelPorNome(nome: string):
|
|
12
|
+
obterTodasVariaveis(todasVariaveis: any[]): VariavelInterface[];
|
|
13
|
+
obterVariavel(simbolo: SimboloInterface): VariavelInterface;
|
|
14
|
+
obterVariavelEm(distancia: number, nome: string): VariavelInterface;
|
|
15
|
+
obterVariavelPorNome(nome: string): VariavelInterface;
|
|
15
16
|
obterTodasDeleguaFuncao(): {
|
|
16
17
|
[nome: string]: DeleguaFuncao;
|
|
17
18
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variavel-interface.js","sourceRoot":"","sources":["../../../fontes/interfaces/variavel-interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Ambiente } from '../../ambiente';
|
|
2
2
|
import { Delegua } from '../../delegua';
|
|
3
3
|
import { DeleguaFuncao } from '../../estruturas/funcao';
|
|
4
|
-
import { InterpretadorInterface, SimboloInterface, ResolvedorInterface } from '../../interfaces';
|
|
4
|
+
import { InterpretadorInterface, SimboloInterface, ResolvedorInterface, VariavelInterface } from '../../interfaces';
|
|
5
5
|
import { Classe, Declaracao, Enquanto, Escolha, Escreva, Expressao, Fazer, Funcao, Importar, Para, Se, Tente, Var } from '../../declaracoes';
|
|
6
|
-
import { Atribuir, Construto, Literal, Super, Variavel } from '../../construtos';
|
|
6
|
+
import { AcessoIndiceVariavel, Atribuir, Construto, Literal, Super, Variavel } from '../../construtos';
|
|
7
7
|
import { RetornoInterpretador } from '../../interfaces/retornos/retorno-interpretador';
|
|
8
8
|
import { ErroInterpretador } from '../erro-interpretador';
|
|
9
9
|
import { PilhaEscoposExecucao } from '../pilha-escopos-execucao';
|
|
@@ -22,18 +22,18 @@ export declare class InterpretadorEguaClassico implements InterpretadorInterface
|
|
|
22
22
|
pilhaEscoposExecucao: PilhaEscoposExecucao;
|
|
23
23
|
constructor(Delegua: Delegua, resolvedor: ResolvedorInterface, diretorioBase: string);
|
|
24
24
|
visitarExpressaoLiteral(expressao: Literal): any;
|
|
25
|
-
avaliar(expressao: Construto): any;
|
|
25
|
+
avaliar(expressao: Construto): VariavelInterface | any;
|
|
26
26
|
visitarExpressaoAgrupamento(expressao: any): any;
|
|
27
27
|
eVerdadeiro(objeto: any): boolean;
|
|
28
28
|
verificarOperandoNumero(operador: any, operand: any): void;
|
|
29
29
|
visitarExpressaoUnaria(expr: any): number | boolean;
|
|
30
|
-
eIgual(esquerda: any, direita: any): boolean;
|
|
31
|
-
verificarOperandosNumeros(operador: any, direita: any, esquerda: any): void;
|
|
32
|
-
visitarExpressaoBinaria(expressao: any):
|
|
30
|
+
eIgual(esquerda: VariavelInterface | any, direita: VariavelInterface | any): boolean;
|
|
31
|
+
verificarOperandosNumeros(operador: any, direita: VariavelInterface | any, esquerda: VariavelInterface | any): void;
|
|
32
|
+
visitarExpressaoBinaria(expressao: any): any;
|
|
33
33
|
visitarExpressaoDeChamada(expressao: any): any;
|
|
34
34
|
visitarExpressaoDeAtribuicao(expressao: Atribuir): any;
|
|
35
|
-
procurarVariavel(simbolo: SimboloInterface, expressao: any):
|
|
36
|
-
visitarExpressaoDeVariavel(expressao: Variavel):
|
|
35
|
+
procurarVariavel(simbolo: SimboloInterface, expressao: any): VariavelInterface;
|
|
36
|
+
visitarExpressaoDeVariavel(expressao: Variavel): VariavelInterface;
|
|
37
37
|
visitarDeclaracaoDeExpressao(declaracao: Expressao): any;
|
|
38
38
|
visitarExpressaoLogica(expressao: any): any;
|
|
39
39
|
visitarExpressaoSe(declaracao: Se): any;
|
|
@@ -58,17 +58,25 @@ export declare class InterpretadorEguaClassico implements InterpretadorInterface
|
|
|
58
58
|
visitarExpressaoRetornar(declaracao: any): RetornoQuebra;
|
|
59
59
|
visitarExpressaoDeleguaFuncao(expressao: any): DeleguaFuncao;
|
|
60
60
|
visitarExpressaoAtribuicaoSobrescrita(expressao: any): void;
|
|
61
|
-
visitarExpressaoAcessoIndiceVariavel(expressao: any): any;
|
|
61
|
+
visitarExpressaoAcessoIndiceVariavel(expressao: AcessoIndiceVariavel | any): any;
|
|
62
62
|
visitarExpressaoDefinir(expressao: any): any;
|
|
63
63
|
visitarExpressaoFuncao(declaracao: Funcao): void;
|
|
64
64
|
visitarExpressaoClasse(declaracao: Classe): any;
|
|
65
65
|
visitarExpressaoAcessoMetodo(expressao: any): any;
|
|
66
|
-
visitarExpressaoIsto(expressao: any):
|
|
66
|
+
visitarExpressaoIsto(expressao: any): VariavelInterface;
|
|
67
67
|
visitarExpressaoDicionario(expressao: any): {};
|
|
68
68
|
visitarExpressaoVetor(expressao: any): any[];
|
|
69
69
|
visitarExpressaoSuper(expressao: Super): any;
|
|
70
70
|
paraTexto(objeto: any): any;
|
|
71
|
-
executar(declaracao: Declaracao, mostrarResultado?: boolean):
|
|
72
|
-
|
|
71
|
+
executar(declaracao: Declaracao, mostrarResultado?: boolean): any;
|
|
72
|
+
/**
|
|
73
|
+
* Executa o último escopo empilhado no topo na pilha de escopos do Interpretador.
|
|
74
|
+
* Originalmente, Égua não trabalha com uma pilha de escopos.
|
|
75
|
+
* Essa implementação é derivada do Interpretador de Delégua, mas simulando todos os
|
|
76
|
+
* comportamos do interpretador Égua original.
|
|
77
|
+
* Interpretador Égua: https://github.com/eguatech/egua/blob/master/src/interpreter.js
|
|
78
|
+
* @returns O resultado da execução do escopo, se houver.
|
|
79
|
+
*/
|
|
80
|
+
executarUltimoEscopo(): any;
|
|
73
81
|
interpretar(declaracoes: Declaracao[]): RetornoInterpretador;
|
|
74
82
|
}
|