@designliquido/delegua 0.6.0 → 0.6.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/README.md +7 -1
- package/bin/package.json +12 -5
- package/fontes/bibliotecas/biblioteca-global.js +37 -28
- package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
- package/fontes/bibliotecas/importar-biblioteca.js +21 -4
- package/fontes/bibliotecas/importar-biblioteca.js.map +1 -1
- package/fontes/bibliotecas/primitivas-texto.d.ts +4 -0
- package/fontes/bibliotecas/primitivas-texto.js +6 -0
- package/fontes/bibliotecas/primitivas-texto.js.map +1 -0
- package/fontes/construtos/acesso-indice-variavel.d.ts +4 -3
- package/fontes/construtos/acesso-indice-variavel.js.map +1 -1
- package/fontes/construtos/funcao.d.ts +2 -2
- package/fontes/construtos/funcao.js.map +1 -1
- package/fontes/construtos/variavel.d.ts +2 -2
- package/fontes/espaco-variaveis.d.ts +7 -0
- package/fontes/espaco-variaveis.js +12 -0
- package/fontes/espaco-variaveis.js.map +1 -0
- package/fontes/estruturas/delegua-classe.d.ts +4 -2
- package/fontes/estruturas/funcao.d.ts +3 -2
- package/fontes/estruturas/funcao.js +3 -3
- package/fontes/estruturas/funcao.js.map +1 -1
- package/fontes/estruturas/index.d.ts +2 -1
- package/fontes/estruturas/index.js +2 -1
- package/fontes/estruturas/index.js.map +1 -1
- package/fontes/estruturas/metodo-primitiva.d.ts +7 -0
- package/fontes/estruturas/metodo-primitiva.js +35 -0
- package/fontes/estruturas/metodo-primitiva.js.map +1 -0
- package/fontes/interfaces/escopo-execucao.d.ts +2 -2
- 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/interpretador-interface.d.ts +2 -2
- 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 +22 -14
- package/fontes/interpretador/dialetos/egua-classico.js +70 -45
- 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-com-depuracao.d.ts +2 -2
- package/fontes/interpretador/interpretador-com-depuracao.js +4 -4
- package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -1
- package/fontes/interpretador/interpretador.d.ts +43 -8
- package/fontes/interpretador/interpretador.js +111 -44
- 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 +12 -5
- 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/fontes/ambiente.d.ts +0 -4
- package/fontes/ambiente.js +0 -12
- package/fontes/ambiente.js.map +0 -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.1",
|
|
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",
|
|
@@ -45,13 +49,16 @@
|
|
|
45
49
|
"homepage": "https://github.com/DesignLiquido/delegua#readme",
|
|
46
50
|
"devDependencies": {
|
|
47
51
|
"@babel/preset-env": "^7.12.1",
|
|
48
|
-
"@
|
|
52
|
+
"@designliquido/delegua-estatistica": "^0.0.5",
|
|
53
|
+
"@designliquido/delegua-fisica": "^0.0.2",
|
|
54
|
+
"@designliquido/delegua-matematica": "^0.0.2",
|
|
55
|
+
"@types/jest": "^29.0.3",
|
|
49
56
|
"@types/node": "^17.0.13",
|
|
50
57
|
"copyfiles": "^2.4.1",
|
|
51
|
-
"jest": "^
|
|
58
|
+
"jest": "^29.0.3",
|
|
52
59
|
"release-it": "^14.14.2",
|
|
53
|
-
"ts-jest": "^
|
|
54
|
-
"ts-node": "^10.
|
|
60
|
+
"ts-jest": "^29.0.1",
|
|
61
|
+
"ts-node": "^10.9.1",
|
|
55
62
|
"typescript": "^4.6.3"
|
|
56
63
|
},
|
|
57
64
|
"dependencies": {
|
|
@@ -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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"}
|
|
@@ -9,23 +9,40 @@ var carregarBiblioteca = function (nomeDaBiblioteca, caminhoDaBiblioteca) {
|
|
|
9
9
|
dadosDoModulo = require(caminhoDaBiblioteca);
|
|
10
10
|
}
|
|
11
11
|
catch (erro) {
|
|
12
|
-
throw new excecoes_1.ErroEmTempoDeExecucao(
|
|
12
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(null, "Biblioteca ".concat(nomeDaBiblioteca, " n\u00E3o encontrada para importa\u00E7\u00E3o."));
|
|
13
13
|
}
|
|
14
14
|
var novoModulo = new modulo_1.DeleguaModulo(nomeDaBiblioteca);
|
|
15
15
|
var chaves = Object.keys(dadosDoModulo);
|
|
16
16
|
for (var i = 0; i < chaves.length; i++) {
|
|
17
17
|
var moduloAtual = dadosDoModulo[chaves[i]];
|
|
18
18
|
if (typeof moduloAtual === "function") {
|
|
19
|
-
novoModulo[chaves[i]] = new funcao_padrao_1.FuncaoPadrao(moduloAtual.length, moduloAtual);
|
|
19
|
+
novoModulo.componentes[chaves[i]] = new funcao_padrao_1.FuncaoPadrao(moduloAtual.length, moduloAtual);
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
|
-
novoModulo[chaves[i]] = moduloAtual;
|
|
22
|
+
novoModulo.componentes[chaves[i]] = moduloAtual;
|
|
23
23
|
}
|
|
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(String(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,
|
|
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,gBAAwB,EAAE,mBAAwB;IACnF,IAAI,aAAkB,CAAC;IAEvB,IAAI;QACA,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAChD;IAAC,OAAO,IAAS,EAAE;QAChB,MAAM,IAAI,gCAAqB,CAAC,IAAI,EAAE,qBAAc,gBAAgB,oDAAkC,CAAC,CAAC;KAC3G;IAED,IAAM,UAAU,GAAG,IAAI,sBAAa,CAAC,gBAAgB,CAAC,CAAC;IAEvD,IAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1C,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,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,4BAAY,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;SACzF;aAAM;YACH,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;SACnD;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,MAAM,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,CAC/D,CAAC,CAAC,CAAC,CACA,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CACjC,CAAC,CAAC;AACX,CAAC;AATD,4BASC;AAAA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitivas-texto.js","sourceRoot":"","sources":["../../../fontes/bibliotecas/primitivas-texto.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,KAAK,CAAC,WAAW,EAAE,EAAnB,CAAmB;CACtD,CAAA"}
|
|
@@ -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"}
|
|
@@ -2,8 +2,8 @@ import { Construto } from "./construto";
|
|
|
2
2
|
export declare class Funcao implements Construto {
|
|
3
3
|
linha: number;
|
|
4
4
|
hashArquivo?: number;
|
|
5
|
-
parametros: any;
|
|
5
|
+
parametros: any[];
|
|
6
6
|
corpo: any;
|
|
7
|
-
constructor(hashArquivo: number, linha: number, parametros: any, corpo: any);
|
|
7
|
+
constructor(hashArquivo: number, linha: number, parametros: any[], corpo: any);
|
|
8
8
|
aceitar(visitante: any): any;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funcao.js","sourceRoot":"","sources":["../../../fontes/construtos/funcao.ts"],"names":[],"mappings":";;;AAGA;IAOI,gBAAY,WAAmB,EAAE,KAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"funcao.js","sourceRoot":"","sources":["../../../fontes/construtos/funcao.ts"],"names":[],"mappings":";;;AAGA;IAOI,gBAAY,WAAmB,EAAE,KAAa,EAAE,UAAiB,EAAE,KAAU;QACzE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,wBAAO,GAAP,UAAQ,SAAc;QAClB,OAAO,SAAS,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IACL,aAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,wBAAM"}
|
|
@@ -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
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EspacoVariaveis = void 0;
|
|
4
|
+
var EspacoVariaveis = /** @class */ (function () {
|
|
5
|
+
function EspacoVariaveis() {
|
|
6
|
+
this.valores = {};
|
|
7
|
+
}
|
|
8
|
+
return EspacoVariaveis;
|
|
9
|
+
}());
|
|
10
|
+
exports.EspacoVariaveis = EspacoVariaveis;
|
|
11
|
+
;
|
|
12
|
+
//# sourceMappingURL=espaco-variaveis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"espaco-variaveis.js","sourceRoot":"","sources":["../../fontes/espaco-variaveis.ts"],"names":[],"mappings":";;;AAEA;IAGI;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IACL,sBAAC;AAAD,CAAC,AAND,IAMC;AANY,0CAAe;AAM3B,CAAC"}
|
|
@@ -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;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Chamavel } from "./chamavel";
|
|
2
2
|
import { InterpretadorInterface } from "../interfaces";
|
|
3
3
|
import { ObjetoDeleguaClasse } from "./objeto-delegua-classe";
|
|
4
|
+
import { Funcao } from "../construtos";
|
|
4
5
|
export declare class DeleguaFuncao extends Chamavel {
|
|
5
6
|
nome: string;
|
|
6
|
-
declaracao:
|
|
7
|
+
declaracao: Funcao;
|
|
7
8
|
eInicializador: boolean;
|
|
8
9
|
instancia: ObjetoDeleguaClasse;
|
|
9
|
-
constructor(nome: string, declaracao:
|
|
10
|
+
constructor(nome: string, declaracao: Funcao, instancia?: ObjetoDeleguaClasse, eInicializador?: boolean);
|
|
10
11
|
aridade(): number;
|
|
11
12
|
paraTexto(): string;
|
|
12
13
|
chamar(interpretador: InterpretadorInterface, argumentos: any): any;
|
|
@@ -17,7 +17,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.DeleguaFuncao = void 0;
|
|
19
19
|
var chamavel_1 = require("./chamavel");
|
|
20
|
-
var
|
|
20
|
+
var espaco_variaveis_1 = require("../espaco-variaveis");
|
|
21
21
|
var quebras_1 = require("../quebras");
|
|
22
22
|
var DeleguaFuncao = /** @class */ (function (_super) {
|
|
23
23
|
__extends(DeleguaFuncao, _super);
|
|
@@ -41,7 +41,7 @@ var DeleguaFuncao = /** @class */ (function (_super) {
|
|
|
41
41
|
return "<fun\u00E7\u00E3o ".concat(this.nome, ">");
|
|
42
42
|
};
|
|
43
43
|
DeleguaFuncao.prototype.chamar = function (interpretador, argumentos) {
|
|
44
|
-
var ambiente = new
|
|
44
|
+
var ambiente = new espaco_variaveis_1.EspacoVariaveis();
|
|
45
45
|
var parametros = this.declaracao.parametros;
|
|
46
46
|
if (parametros && parametros.length) {
|
|
47
47
|
for (var i = 0; i < parametros.length; i++) {
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"funcao.js","sourceRoot":"","sources":["../../../fontes/estruturas/funcao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,wDAAsD;AAGtD,sCAA2C;AAI3C;IAAmC,iCAAQ;IAMvC,uBAAY,IAAY,EAAE,UAAkB,EAAE,SAA0C,EAAE,cAAsB;QAAlE,0BAAA,EAAA,qBAA0C;QAAE,+BAAA,EAAA,sBAAsB;QAAhH,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,kCAAe,EAAE,CAAC;QACrC,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"}
|
|
@@ -2,5 +2,6 @@ export * from "./chamavel";
|
|
|
2
2
|
export * from "./delegua-classe";
|
|
3
3
|
export * from "./funcao-padrao";
|
|
4
4
|
export * from "./funcao";
|
|
5
|
-
export * from "./
|
|
5
|
+
export * from "./metodo-primitiva";
|
|
6
6
|
export * from "./modulo";
|
|
7
|
+
export * from "./objeto-delegua-classe";
|
|
@@ -18,6 +18,7 @@ __exportStar(require("./chamavel"), exports);
|
|
|
18
18
|
__exportStar(require("./delegua-classe"), exports);
|
|
19
19
|
__exportStar(require("./funcao-padrao"), exports);
|
|
20
20
|
__exportStar(require("./funcao"), exports);
|
|
21
|
-
__exportStar(require("./
|
|
21
|
+
__exportStar(require("./metodo-primitiva"), exports);
|
|
22
22
|
__exportStar(require("./modulo"), exports);
|
|
23
|
+
__exportStar(require("./objeto-delegua-classe"), exports);
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/estruturas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,mDAAiC;AACjC,kDAAgC;AAChC,2CAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/estruturas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,mDAAiC;AACjC,kDAAgC;AAChC,2CAAyB;AACzB,qDAAmC;AACnC,2CAAyB;AACzB,0DAAwC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MetodoPrimitiva = void 0;
|
|
19
|
+
var chamavel_1 = require("./chamavel");
|
|
20
|
+
var MetodoPrimitiva = /** @class */ (function (_super) {
|
|
21
|
+
__extends(MetodoPrimitiva, _super);
|
|
22
|
+
function MetodoPrimitiva(primitiva, metodo, aridade) {
|
|
23
|
+
var _this = _super.call(this) || this;
|
|
24
|
+
_this.primitiva = primitiva;
|
|
25
|
+
_this.metodo = metodo;
|
|
26
|
+
_this.valorAridade = aridade;
|
|
27
|
+
return _this;
|
|
28
|
+
}
|
|
29
|
+
MetodoPrimitiva.prototype.chamar = function () {
|
|
30
|
+
return this.metodo(this.primitiva);
|
|
31
|
+
};
|
|
32
|
+
return MetodoPrimitiva;
|
|
33
|
+
}(chamavel_1.Chamavel));
|
|
34
|
+
exports.MetodoPrimitiva = MetodoPrimitiva;
|
|
35
|
+
//# sourceMappingURL=metodo-primitiva.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metodo-primitiva.js","sourceRoot":"","sources":["../../../fontes/estruturas/metodo-primitiva.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AAEtC;IAAqC,mCAAQ;IAIzC,yBAAY,SAAc,EAAE,MAAgB,EAAE,OAAe;QAA7D,YACI,iBAAO,SAIV;QAHG,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;;IAChC,CAAC;IAED,gCAAM,GAAN;QACI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IACL,sBAAC;AAAD,CAAC,AAdD,CAAqC,mBAAQ,GAc5C;AAdY,0CAAe"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EspacoVariaveis } from "../espaco-variaveis";
|
|
2
2
|
import { Declaracao } from "../declaracoes";
|
|
3
3
|
export interface EscopoExecucao {
|
|
4
4
|
declaracoes: Declaracao[];
|
|
5
5
|
declaracaoAtual: number;
|
|
6
|
-
ambiente:
|
|
6
|
+
ambiente: EspacoVariaveis;
|
|
7
7
|
}
|
|
@@ -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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EspacoVariaveis } from "../espaco-variaveis";
|
|
2
2
|
import { Atribuir, Literal, Super } from "../construtos";
|
|
3
3
|
import { Bloco, Classe, Continua, Declaracao, Enquanto, Escolha, Escreva, Expressao, Fazer, Funcao, Importar, Para, Retorna, Se, Sustar, Tente, Var } from "../declaracoes";
|
|
4
4
|
import { ContinuarQuebra, RetornoQuebra, SustarQuebra } from "../quebras";
|
|
@@ -32,7 +32,7 @@ export interface InterpretadorInterface {
|
|
|
32
32
|
visitarExpressaoEnquanto(declaracao: Enquanto): any;
|
|
33
33
|
visitarExpressaoImportar(declaracao: Importar): any;
|
|
34
34
|
visitarExpressaoEscreva(declaracao: Escreva): any;
|
|
35
|
-
executarBloco(declaracoes: Declaracao[], ambiente?:
|
|
35
|
+
executarBloco(declaracoes: Declaracao[], ambiente?: EspacoVariaveis): void;
|
|
36
36
|
visitarExpressaoBloco(declaracao: Bloco): null;
|
|
37
37
|
visitarExpressaoVar(declaracao: Var): null;
|
|
38
38
|
visitarExpressaoContinua(declaracao?: Continua): ContinuarQuebra;
|
|
@@ -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":""}
|