@designliquido/delegua 0.2.12 → 0.3.0

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