@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.
Files changed (51) hide show
  1. package/README.md +7 -1
  2. package/bin/package.json +9 -2
  3. package/fontes/ambiente.d.ts +4 -1
  4. package/fontes/ambiente.js.map +1 -1
  5. package/fontes/bibliotecas/biblioteca-global.js +37 -28
  6. package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
  7. package/fontes/bibliotecas/importar-biblioteca.js +18 -1
  8. package/fontes/bibliotecas/importar-biblioteca.js.map +1 -1
  9. package/fontes/construtos/acesso-indice-variavel.d.ts +4 -3
  10. package/fontes/construtos/acesso-indice-variavel.js.map +1 -1
  11. package/fontes/construtos/variavel.d.ts +2 -2
  12. package/fontes/estruturas/delegua-classe.d.ts +4 -2
  13. package/fontes/estruturas/funcao.js +1 -1
  14. package/fontes/estruturas/funcao.js.map +1 -1
  15. package/fontes/interfaces/index.d.ts +1 -0
  16. package/fontes/interfaces/index.js +1 -0
  17. package/fontes/interfaces/index.js.map +1 -1
  18. package/fontes/interfaces/pilha-escopos-execucao-interface.d.ts +6 -5
  19. package/fontes/interfaces/variavel-interface.d.ts +4 -0
  20. package/fontes/interfaces/variavel-interface.js +3 -0
  21. package/fontes/interfaces/variavel-interface.js.map +1 -0
  22. package/fontes/interpretador/dialetos/egua-classico.d.ts +20 -12
  23. package/fontes/interpretador/dialetos/egua-classico.js +66 -41
  24. package/fontes/interpretador/dialetos/egua-classico.js.map +1 -1
  25. package/fontes/interpretador/inferenciador.d.ts +1 -0
  26. package/fontes/interpretador/inferenciador.js +26 -0
  27. package/fontes/interpretador/inferenciador.js.map +1 -0
  28. package/fontes/interpretador/interpretador.d.ts +41 -6
  29. package/fontes/interpretador/interpretador.js +92 -38
  30. package/fontes/interpretador/interpretador.js.map +1 -1
  31. package/fontes/interpretador/pilha-escopos-execucao.d.ts +5 -5
  32. package/fontes/interpretador/pilha-escopos-execucao.js +7 -4
  33. package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -1
  34. package/fontes/lexador/dialetos/lexador-egua-classico.js +1 -0
  35. package/fontes/lexador/dialetos/lexador-egua-classico.js.map +1 -1
  36. package/package.json +9 -2
  37. package/testes/__mocks__/estatistica.d.ts +2 -0
  38. package/testes/__mocks__/estatistica.js +4 -0
  39. package/testes/__mocks__/estatistica.js.map +1 -0
  40. package/testes/__mocks__/fisica.d.ts +2 -0
  41. package/testes/__mocks__/fisica.js +4 -0
  42. package/testes/__mocks__/fisica.js.map +1 -0
  43. package/testes/__mocks__/matematica.d.ts +2 -0
  44. package/testes/__mocks__/matematica.js +4 -0
  45. package/testes/__mocks__/matematica.js.map +1 -0
  46. package/testes/biblioteca-global.test.js +10 -0
  47. package/testes/biblioteca-global.test.js.map +1 -1
  48. package/testes/egua-classico/interpretador.test.js +1 -1
  49. package/testes/egua-classico/interpretador.test.js.map +1 -1
  50. package/testes/interpretador.test.js +64 -0
  51. 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 @designliquido/delegua
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.5.4",
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",
@@ -1,4 +1,7 @@
1
+ import { VariavelInterface } from "./interfaces";
1
2
  export declare class Ambiente {
2
- valores: any;
3
+ valores: {
4
+ [nome: string]: VariavelInterface;
5
+ };
3
6
  constructor();
4
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ambiente.js","sourceRoot":"","sources":["../../fontes/ambiente.ts"],"names":[],"mappings":";;;AAAA;IAGI;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IACL,eAAC;AAAD,CAAC,AAND,IAMC;AANY,4BAAQ;AAMpB,CAAC"}
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
- if (typeof minimo !== 'number' || typeof maximo !== 'number') {
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() * (maximo - minimo)) + minimo;
21
+ return Math.floor(Math.random() * (valorMaximo - valorMinimo)) + valorMinimo;
20
22
  }));
21
- pilhaEscoposExecucao.definirVariavel("inteiro", new funcao_padrao_1.FuncaoPadrao(1, function (valor) {
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 (array, callback) {
31
- if (!Array.isArray(array)) {
32
- throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O primeiro parâmetro da função, deve ser um array.");
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 (callback.constructor.name !== 'DeleguaFuncao') {
35
- throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Parâmetro inválido. O segundo parâmetro da função, deve ser uma 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 < array.length; ++indice) {
39
- resultados.push(callback.chamar(interpretador, [array[indice]]));
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 (objeto) {
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 Inválido. Objeto inserido não é um vetor.");
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 (valor) {
62
- if (!/^-{0,1}\d+$/.test(valor) && !/^\d+\.\d+$/.test(valor))
63
- throw new excecoes_1.ErroEmTempoDeExecucao(this.simbolo, "Somente números podem passar para real.");
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
- if (!isNaN(objeto)) {
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 (objeto instanceof objeto_delegua_classe_1.ObjetoDeleguaClasse) {
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 (objeto instanceof funcao_1.DeleguaFuncao) {
74
- return objeto.declaracao.parametros.length;
82
+ if (valorObjeto instanceof funcao_1.DeleguaFuncao) {
83
+ return valorObjeto.declaracao.parametros.length;
75
84
  }
76
- if (objeto instanceof funcao_padrao_1.FuncaoPadrao) {
77
- return objeto.valorAridade;
85
+ if (valorObjeto instanceof funcao_padrao_1.FuncaoPadrao) {
86
+ return valorObjeto.valorAridade;
78
87
  }
79
- if (objeto instanceof delegua_classe_1.DeleguaClasse) {
80
- var metodos = objeto.metodos;
88
+ if (valorObjeto instanceof delegua_classe_1.DeleguaClasse) {
89
+ var metodos = valorObjeto.metodos;
81
90
  var tamanho = 0;
82
- if (metodos.init && metodos.init.eInicializador) {
83
- tamanho = metodos.init.declaracao.parametros.length;
91
+ if (metodos.inicializacao && metodos.inicializacao.eInicializador) {
92
+ tamanho = metodos.inicializacao.declaracao.parametros.length;
84
93
  }
85
94
  return tamanho;
86
95
  }
87
- return objeto.length;
96
+ return valorObjeto.length;
88
97
  }));
89
- pilhaEscoposExecucao.definirVariavel("texto", new funcao_padrao_1.FuncaoPadrao(1, function (valor) {
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":"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"}
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,MAAkC,EAAE,MAAkC;QAChG,IAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,MAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAClG,IAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,MAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAClG,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACpE,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,8CAA8C,CACjD,CAAC;SACL;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC;IACjF,CAAC,CAAC,CACL,CAAC;IAEF,oBAAoB,CAAC,eAAe,CAChC,SAAS,EACT,IAAI,4BAAY,CAAC,CAAC,EAAE,UAAU,MAA+B;QACzD,IAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACrE,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;YACd,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,2GAA2G,CAC9G,CAAC;SACL;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAClC,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,mKAAmK,CACtK,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,KAA8B,EAAE,gBAAyC;QACnG,IAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACvE,IAAM,qBAAqB,GAAG,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACnH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC5B,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,gFAAgF,CACnF,CAAC;SACL;QAED,IAAI,qBAAqB,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,EAAE;YAC5D,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,iFAAiF,CACpF,CAAC;SACL;QAED,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE;YACvD,UAAU,CAAC,IAAI,CACX,qBAAqB,CAAC,MAAM,CACxB,aAAa,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CACtC,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,KAAqC;;QAC/D,IAAI,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,KAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACxF,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,MAA+B;QACzD,IAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACrE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAClC,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,sKAAsK,CACzK,CAAC;SACL;QACD,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,IAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YACrB,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,kDAAkD,CACrD,CAAC;SACL;QAED,IAAI,WAAW,YAAY,2CAAmB,EAAE;YAC5C,MAAM,IAAI,gCAAqB,CAC3B,IAAI,CAAC,OAAO,EACZ,sDAAsD,CACzD,CAAC;SACL;QAED,IAAI,WAAW,YAAY,sBAAa,EAAE;YACtC,OAAO,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;SACnD;QAED,IAAI,WAAW,YAAY,4BAAY,EAAE;YACrC,OAAO,WAAW,CAAC,YAAY,CAAC;SACnC;QAED,IAAI,WAAW,YAAY,8BAAa,EAAE;YACtC,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YAClC,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE;gBAC/D,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;aAChE;YAED,OAAO,OAAO,CAAC;SAClB;QAED,OAAO,WAAW,CAAC,MAAM,CAAC;IAC9B,CAAC,CAAC,CACL,CAAC;IAEF,oBAAoB,CAAC,eAAe,CAChC,OAAO,EACP,IAAI,4BAAY,CAAC,CAAC,EAAE,UAAU,eAAwC;QAClE,OAAO,UAAG,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAE,CAAC;IAClG,CAAC,CAAC,CACL,CAAC;IAEF,OAAO,oBAAoB,CAAC;AAChC,CAAC;AA1KD,4BA0KC;AAAA,CAAC"}
@@ -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
- return carregarBiblioteca(nome, nome);
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;AAC1C,CAAC;AAFD,4BAEC;AAAA,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: any;
11
+ simboloFechamento: SimboloInterface;
11
12
  indice: any;
12
- constructor(hashArquivo: number, entidadeChamada: Construto, indice: any, simboloFechamento: any);
13
- aceitar(visitante: any): any;
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":";;;AAEA;;;GAGG;AACH;IAQI,8BAAY,WAAmB,EAAE,eAA0B,EAAE,MAAW,EAAE,iBAAsB;QAC5F,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,SAAc;QAClB,OAAO,SAAS,CAAC,oCAAoC,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IACL,2BAAC;AAAD,CAAC,AApBD,IAoBC;AApBY,oDAAoB"}
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): any;
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: any;
8
- metodos: any;
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;SAC7C;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"}
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"}
@@ -8,3 +8,4 @@ export * from './pilha-interface';
8
8
  export * from './resolvedor-interface';
9
9
  export * from './retornos/retorno-execucao-interface';
10
10
  export * from './simbolo-interface';
11
+ export * from './variavel-interface';
@@ -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: any, valor: any): void;
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[]): any[];
12
- obterVariavel(simbolo: SimboloInterface): any;
13
- obterVariavelEm(distancia: number, nome: string): any;
14
- obterVariavelPorNome(nome: string): any;
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,4 @@
1
+ export interface VariavelInterface {
2
+ valor: any;
3
+ tipo: 'texto' | 'número' | "longo" | 'vetor' | 'dicionário' | 'nulo' | 'lógico' | "função" | "símbolo" | "objeto";
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=variavel-interface.js.map
@@ -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): string | number | boolean;
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): any;
36
- visitarExpressaoDeVariavel(expressao: Variavel): any;
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): 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): void;
72
- executarUltimoEscopo(): void;
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
  }