@designliquido/delegua 0.1.7 → 0.1.11

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 (189) hide show
  1. package/README.md +13 -9
  2. package/bin/package.json +4 -3
  3. package/index.d.ts +1 -0
  4. package/package.json +4 -3
  5. package/src/ambiente.d.ts +11 -0
  6. package/src/avaliador-sintatico/dialetos/egua-classico.d.ts +60 -0
  7. package/src/avaliador-sintatico/dialetos/egua-classico.js +12 -12
  8. package/src/avaliador-sintatico/dialetos/egua-classico.js.map +1 -1
  9. package/src/avaliador-sintatico/dialetos/index.d.ts +1 -0
  10. package/src/avaliador-sintatico/erros-avaliador.d.ts +2 -0
  11. package/src/avaliador-sintatico/index.d.ts +61 -0
  12. package/src/avaliador-sintatico/index.js +20 -22
  13. package/src/avaliador-sintatico/index.js.map +1 -1
  14. package/src/bibliotecas/bibliotecaGlobal.d.ts +1 -0
  15. package/src/bibliotecas/bibliotecaGlobal.js +1 -1
  16. package/src/bibliotecas/bibliotecaGlobal.js.map +1 -1
  17. package/src/bibliotecas/importarBiblioteca.d.ts +2 -0
  18. package/src/construtos/assign-subscript.d.ts +8 -0
  19. package/src/construtos/assign-subscript.js +2 -2
  20. package/src/construtos/assign-subscript.js.map +1 -1
  21. package/src/construtos/atribuir.d.ts +7 -0
  22. package/src/construtos/atribuir.js +2 -2
  23. package/src/construtos/atribuir.js.map +1 -1
  24. package/src/construtos/binario.d.ts +8 -0
  25. package/src/construtos/binario.js +2 -2
  26. package/src/construtos/binario.js.map +1 -1
  27. package/src/construtos/call.d.ts +8 -0
  28. package/src/construtos/call.js +2 -2
  29. package/src/construtos/call.js.map +1 -1
  30. package/src/construtos/conjunto.d.ts +8 -0
  31. package/src/construtos/conjunto.js +2 -2
  32. package/src/construtos/conjunto.js.map +1 -1
  33. package/src/construtos/dicionario.d.ts +7 -0
  34. package/src/construtos/dicionario.js +2 -2
  35. package/src/construtos/dicionario.js.map +1 -1
  36. package/src/construtos/expr.d.ts +3 -0
  37. package/src/construtos/expr.js +1 -1
  38. package/src/construtos/expr.js.map +1 -1
  39. package/src/construtos/funcao.d.ts +7 -0
  40. package/src/construtos/funcao.js +2 -2
  41. package/src/construtos/funcao.js.map +1 -1
  42. package/src/construtos/get.d.ts +7 -0
  43. package/src/construtos/get.js +2 -2
  44. package/src/construtos/get.js.map +1 -1
  45. package/src/construtos/grouping.d.ts +6 -0
  46. package/src/construtos/grouping.js +2 -2
  47. package/src/construtos/grouping.js.map +1 -1
  48. package/src/construtos/index.d.ts +18 -0
  49. package/src/construtos/isto.d.ts +6 -0
  50. package/src/construtos/isto.js +2 -2
  51. package/src/construtos/isto.js.map +1 -1
  52. package/src/construtos/literal.d.ts +6 -0
  53. package/src/construtos/literal.js +2 -2
  54. package/src/construtos/literal.js.map +1 -1
  55. package/src/construtos/logical.d.ts +8 -0
  56. package/src/construtos/logical.js +2 -2
  57. package/src/construtos/logical.js.map +1 -1
  58. package/src/construtos/subscript.d.ts +8 -0
  59. package/src/construtos/subscript.js +2 -2
  60. package/src/construtos/subscript.js.map +1 -1
  61. package/src/construtos/super.d.ts +7 -0
  62. package/src/construtos/super.js +2 -2
  63. package/src/construtos/super.js.map +1 -1
  64. package/src/construtos/unario.d.ts +7 -0
  65. package/src/construtos/unario.js +2 -2
  66. package/src/construtos/unario.js.map +1 -1
  67. package/src/construtos/variavel.d.ts +6 -0
  68. package/src/construtos/variavel.js +2 -2
  69. package/src/construtos/variavel.js.map +1 -1
  70. package/src/construtos/vetor.d.ts +6 -0
  71. package/src/construtos/vetor.js +2 -2
  72. package/src/construtos/vetor.js.map +1 -1
  73. package/src/declaracoes/bloco.d.ts +6 -0
  74. package/src/declaracoes/{block.js → bloco.js} +9 -9
  75. package/src/declaracoes/bloco.js.map +1 -0
  76. package/src/declaracoes/classe.d.ts +8 -0
  77. package/src/declaracoes/classe.js +2 -2
  78. package/src/declaracoes/classe.js.map +1 -1
  79. package/src/declaracoes/continua.d.ts +5 -0
  80. package/src/declaracoes/continua.js +2 -2
  81. package/src/declaracoes/continua.js.map +1 -1
  82. package/src/declaracoes/enquanto.d.ts +7 -0
  83. package/src/declaracoes/enquanto.js +2 -2
  84. package/src/declaracoes/enquanto.js.map +1 -1
  85. package/src/declaracoes/escolha.d.ts +8 -0
  86. package/src/declaracoes/escolha.js +2 -2
  87. package/src/declaracoes/escolha.js.map +1 -1
  88. package/src/declaracoes/escreva.d.ts +6 -0
  89. package/src/declaracoes/escreva.js +2 -2
  90. package/src/declaracoes/escreva.js.map +1 -1
  91. package/src/declaracoes/expressao.d.ts +6 -0
  92. package/src/declaracoes/expressao.js +2 -2
  93. package/src/declaracoes/expressao.js.map +1 -1
  94. package/src/declaracoes/fazer.d.ts +7 -0
  95. package/src/declaracoes/fazer.js +2 -2
  96. package/src/declaracoes/fazer.js.map +1 -1
  97. package/src/declaracoes/funcao.d.ts +7 -0
  98. package/src/declaracoes/funcao.js +2 -2
  99. package/src/declaracoes/funcao.js.map +1 -1
  100. package/src/declaracoes/importar.d.ts +7 -0
  101. package/src/declaracoes/importar.js +2 -2
  102. package/src/declaracoes/importar.js.map +1 -1
  103. package/src/declaracoes/index.d.ts +17 -0
  104. package/src/declaracoes/index.js +1 -1
  105. package/src/declaracoes/para.d.ts +9 -0
  106. package/src/declaracoes/para.js +2 -2
  107. package/src/declaracoes/para.js.map +1 -1
  108. package/src/declaracoes/pausa.d.ts +5 -0
  109. package/src/declaracoes/pausa.js +2 -2
  110. package/src/declaracoes/pausa.js.map +1 -1
  111. package/src/declaracoes/retorna.d.ts +7 -0
  112. package/src/declaracoes/retorna.js +2 -2
  113. package/src/declaracoes/retorna.js.map +1 -1
  114. package/src/declaracoes/se.d.ts +9 -0
  115. package/src/declaracoes/se.js +2 -2
  116. package/src/declaracoes/se.js.map +1 -1
  117. package/src/declaracoes/stmt.d.ts +3 -0
  118. package/src/declaracoes/stmt.js +1 -1
  119. package/src/declaracoes/stmt.js.map +1 -1
  120. package/src/declaracoes/tente.d.ts +9 -0
  121. package/src/declaracoes/tente.js +2 -2
  122. package/src/declaracoes/tente.js.map +1 -1
  123. package/src/declaracoes/var.d.ts +7 -0
  124. package/src/declaracoes/var.js +2 -2
  125. package/src/declaracoes/var.js.map +1 -1
  126. package/src/delegua.d.ts +21 -0
  127. package/src/delegua.js +8 -7
  128. package/src/delegua.js.map +1 -1
  129. package/src/estruturas/callable.d.ts +5 -0
  130. package/src/estruturas/classe.d.ts +11 -0
  131. package/src/estruturas/classe.js +1 -1
  132. package/src/estruturas/classe.js.map +1 -1
  133. package/src/estruturas/funcao-padrao.d.ts +9 -0
  134. package/src/estruturas/funcao.d.ts +12 -0
  135. package/src/estruturas/funcao.js +8 -8
  136. package/src/estruturas/funcao.js.map +1 -1
  137. package/src/estruturas/index.d.ts +6 -0
  138. package/src/estruturas/instancia.d.ts +8 -0
  139. package/src/estruturas/instancia.js +1 -1
  140. package/src/estruturas/instancia.js.map +1 -1
  141. package/src/estruturas/modulo.d.ts +5 -0
  142. package/src/excecoes/break-exception.d.ts +2 -0
  143. package/src/excecoes/continue-exception.d.ts +2 -0
  144. package/src/excecoes/erro-em-tempo-de-execucao.d.ts +5 -0
  145. package/src/excecoes/index.d.ts +4 -0
  146. package/src/excecoes/return-exception.d.ts +4 -0
  147. package/src/interfaces/avaliador-sintatico-interface.d.ts +55 -0
  148. package/src/interfaces/index.d.ts +6 -0
  149. package/src/interfaces/interpretador-interface.d.ts +51 -0
  150. package/src/interfaces/lexador-interface.d.ts +23 -0
  151. package/src/interfaces/pilha-interface.d.ts +7 -0
  152. package/src/interfaces/resolvedor-interface.d.ts +49 -0
  153. package/src/interfaces/simbolo-interface.d.ts +6 -0
  154. package/src/interpretador/dialetos/egua-classico.d.ts +58 -0
  155. package/src/interpretador/dialetos/egua-classico.js +1 -1
  156. package/src/interpretador/dialetos/egua-classico.js.map +1 -1
  157. package/src/interpretador/dialetos/index.d.ts +1 -0
  158. package/src/interpretador/index.d.ts +58 -0
  159. package/src/interpretador/index.js +1 -1
  160. package/src/interpretador/index.js.map +1 -1
  161. package/src/lexador/dialetos/egua-classico.d.ts +31 -0
  162. package/src/lexador/dialetos/egua-classico.js +5 -5
  163. package/src/lexador/dialetos/egua-classico.js.map +1 -1
  164. package/src/lexador/dialetos/index.d.ts +1 -0
  165. package/src/lexador/index.d.ts +31 -0
  166. package/src/lexador/index.js +22 -10
  167. package/src/lexador/index.js.map +1 -1
  168. package/src/resolvedor/dialetos/egua-classico.d.ts +57 -0
  169. package/src/resolvedor/dialetos/egua-classico.js +9 -9
  170. package/src/resolvedor/dialetos/egua-classico.js.map +1 -1
  171. package/src/resolvedor/dialetos/index.d.ts +1 -0
  172. package/src/resolvedor/erro-resolvedor.d.ts +4 -0
  173. package/src/resolvedor/{ResolverError.js → erro-resolvedor.js} +7 -7
  174. package/src/resolvedor/erro-resolvedor.js.map +1 -0
  175. package/src/resolvedor/index.d.ts +57 -0
  176. package/src/resolvedor/index.js +10 -10
  177. package/src/resolvedor/index.js.map +1 -1
  178. package/src/resolvedor/pilha-escopos.d.ts +9 -0
  179. package/src/resolvedor/pilha-escopos.js +27 -0
  180. package/src/resolvedor/pilha-escopos.js.map +1 -0
  181. package/src/tiposDeSimbolos.d.ts +68 -0
  182. package/src/tiposDeSimbolos.js +7 -6
  183. package/src/tiposDeSimbolos.js.map +1 -1
  184. package/src/declaracoes/block.js.map +0 -1
  185. package/src/resolvedor/Pilha.js +0 -27
  186. package/src/resolvedor/Pilha.js.map +0 -1
  187. package/src/resolvedor/ResolverError.js.map +0 -1
  188. package/src/web.js +0 -66
  189. package/src/web.js.map +0 -1
package/src/delegua.js CHANGED
@@ -54,7 +54,7 @@ var Delegua = /** @class */ (function () {
54
54
  }
55
55
  Delegua.prototype.versao = function () {
56
56
  try {
57
- var manifesto = caminho.resolve(__dirname, 'package.json');
57
+ var manifesto = caminho.resolve('package.json');
58
58
  return JSON.parse(fs.readFileSync(manifesto, { encoding: 'utf8' })).version || '0.1';
59
59
  }
60
60
  catch (error) {
@@ -64,6 +64,7 @@ var Delegua = /** @class */ (function () {
64
64
  Delegua.prototype.iniciarDelegua = function () {
65
65
  var _this = this;
66
66
  console.log("Console da Linguagem Del\u00E9gua v".concat(this.versao()));
67
+ console.log('Pressione Ctrl + C para sair');
67
68
  var leiaLinha = readline.createInterface({
68
69
  input: process.stdin,
69
70
  output: process.stdout,
@@ -87,14 +88,14 @@ var Delegua = /** @class */ (function () {
87
88
  process.exit(70);
88
89
  };
89
90
  Delegua.prototype.executar = function (codigo) {
90
- var simbolos = this.lexador.scan(codigo);
91
- if (this.teveErro === true)
91
+ var simbolos = this.lexador.mapear(codigo);
92
+ if (this.teveErro)
92
93
  return;
93
94
  var declaracoes = this.avaliadorSintatico.analisar(simbolos);
94
- if (this.teveErro === true)
95
+ if (this.teveErro)
95
96
  return;
96
97
  this.resolvedor.resolver(declaracoes);
97
- if (this.teveErro === true)
98
+ if (this.teveErro)
98
99
  return;
99
100
  this.interpretador.interpretar(declaracoes);
100
101
  };
@@ -107,10 +108,10 @@ var Delegua = /** @class */ (function () {
107
108
  };
108
109
  Delegua.prototype.erro = function (simbolo, mensagemDeErro) {
109
110
  if (simbolo.tipo === tiposDeSimbolos_1.default.EOF) {
110
- this.reportar(simbolo.line, " no final", mensagemDeErro);
111
+ this.reportar(simbolo.linha, " no final", mensagemDeErro);
111
112
  }
112
113
  else {
113
- this.reportar(simbolo.line, " no '".concat(simbolo.lexema, "'"), mensagemDeErro);
114
+ this.reportar(simbolo.linha, " no '".concat(simbolo.lexema, "'"), mensagemDeErro);
114
115
  }
115
116
  };
116
117
  Delegua.prototype.erroNoLexador = function (linha, caractere, mensagem) {
@@ -1 +1 @@
1
- {"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../src/delegua.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../src/delegua.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare class Callable {
2
+ valorAridade: any;
3
+ aridade(): any;
4
+ chamar(interpretador?: any, argumentos?: any, simbolo?: any): any;
5
+ }
@@ -0,0 +1,11 @@
1
+ import { Callable } from "./callable";
2
+ export declare class DeleguaClasse extends Callable {
3
+ nome: any;
4
+ superClasse: any;
5
+ metodos: any;
6
+ constructor(nome?: any, superClasse?: any, metodos?: any);
7
+ encontrarMetodo(nome: any): any;
8
+ toString(): string;
9
+ aridade(): any;
10
+ chamar(interpretador: any, argumentos: any): any;
11
+ }
@@ -47,7 +47,7 @@ var DeleguaClasse = /** @class */ (function (_super) {
47
47
  var instancia = new instancia_1.DeleguaInstancia(this);
48
48
  var inicializador = this.encontrarMetodo("construtor");
49
49
  if (inicializador) {
50
- inicializador.bind(instancia).call(interpretador, argumentos);
50
+ inicializador.definirEscopo(instancia).chamar(interpretador, argumentos);
51
51
  }
52
52
  return instancia;
53
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"classe.js","sourceRoot":"","sources":["../../../src/estruturas/classe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,yCAA+C;AAE/C;IAAmC,iCAAQ;IAKvC,uBAAY,IAAU,EAAE,WAAiB,EAAE,OAAa;QAAxD,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,IAAS;QACrB,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,gCAAQ,GAAR;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,aAAkB,EAAE,UAAe;QACtC,IAAI,SAAS,GAAG,IAAI,4BAAgB,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,aAAa,EAAE;YACf,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;SACjE;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IACL,oBAAC;AAAD,CAAC,AA3CD,CAAmC,mBAAQ,GA2C1C;AA3CY,sCAAa"}
1
+ {"version":3,"file":"classe.js","sourceRoot":"","sources":["../../../src/estruturas/classe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,yCAA+C;AAE/C;IAAmC,iCAAQ;IAKvC,uBAAY,IAAU,EAAE,WAAiB,EAAE,OAAa;QAAxD,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,IAAS;QACrB,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,gCAAQ,GAAR;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,aAAkB,EAAE,UAAe;QACtC,IAAI,SAAS,GAAG,IAAI,4BAAgB,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,aAAa,EAAE;YACf,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;SAC5E;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IACL,oBAAC;AAAD,CAAC,AA3CD,CAAmC,mBAAQ,GA2C1C;AA3CY,sCAAa"}
@@ -0,0 +1,9 @@
1
+ import { Callable } from "./callable";
2
+ export declare class FuncaoPadrao extends Callable {
3
+ valorAridade: any;
4
+ funcao: any;
5
+ simbolo: any;
6
+ constructor(valorAridade: any, funcao: any);
7
+ chamar(interpretador: any, argumentos: any, simbolo: any): any;
8
+ toString(): string;
9
+ }
@@ -0,0 +1,12 @@
1
+ import { Callable } from "./callable";
2
+ export declare class DeleguaFuncao extends Callable {
3
+ nome: any;
4
+ declaracao: any;
5
+ ambienteAnterior: any;
6
+ eInicializador: any;
7
+ constructor(nome: any, declaracao: any, ambienteAnterior: any, eInicializador?: boolean);
8
+ aridade(): any;
9
+ toString(): string;
10
+ chamar(interpretador: any, argumentos: any): any;
11
+ definirEscopo(instancia: any): any;
12
+ }
@@ -21,12 +21,12 @@ var ambiente_1 = require("../ambiente");
21
21
  var excecoes_1 = require("../excecoes");
22
22
  var DeleguaFuncao = /** @class */ (function (_super) {
23
23
  __extends(DeleguaFuncao, _super);
24
- function DeleguaFuncao(nome, declaracao, closure, eInicializador) {
24
+ function DeleguaFuncao(nome, declaracao, ambienteAnterior, eInicializador) {
25
25
  if (eInicializador === void 0) { eInicializador = false; }
26
26
  var _this = _super.call(this) || this;
27
27
  _this.nome = nome;
28
28
  _this.declaracao = declaracao;
29
- _this.closure = closure;
29
+ _this.ambienteAnterior = ambienteAnterior;
30
30
  _this.eInicializador = eInicializador;
31
31
  return _this;
32
32
  }
@@ -40,7 +40,7 @@ var DeleguaFuncao = /** @class */ (function (_super) {
40
40
  return "<fun\u00E7\u00E3o ".concat(this.nome, ">");
41
41
  };
42
42
  DeleguaFuncao.prototype.chamar = function (interpretador, argumentos) {
43
- var ambiente = new ambiente_1.Ambiente(this.closure);
43
+ var ambiente = new ambiente_1.Ambiente(this.ambienteAnterior);
44
44
  var parametros = this.declaracao.parametros;
45
45
  if (parametros && parametros.length) {
46
46
  for (var i = 0; i < parametros.length; i++) {
@@ -54,12 +54,12 @@ var DeleguaFuncao = /** @class */ (function (_super) {
54
54
  }
55
55
  }
56
56
  try {
57
- interpretador.executarBloco(this.declaracao.funcao, ambiente);
57
+ interpretador.executarBloco(this.declaracao.corpo, ambiente);
58
58
  }
59
59
  catch (erro) {
60
60
  if (erro instanceof excecoes_1.ReturnException) {
61
61
  if (this.eInicializador)
62
- return this.closure.obterVariavelEm(0, "isto");
62
+ return this.ambienteAnterior.obterVariavelEm(0, "isto");
63
63
  return erro.valor;
64
64
  }
65
65
  else {
@@ -67,11 +67,11 @@ var DeleguaFuncao = /** @class */ (function (_super) {
67
67
  }
68
68
  }
69
69
  if (this.eInicializador)
70
- return this.closure.obterVariavelEm(0, "isto");
70
+ return this.ambienteAnterior.obterVariavelEm(0, "isto");
71
71
  return null;
72
72
  };
73
- DeleguaFuncao.prototype.bind = function (instancia) {
74
- var ambiente = new ambiente_1.Ambiente(this.closure);
73
+ DeleguaFuncao.prototype.definirEscopo = function (instancia) {
74
+ var ambiente = new ambiente_1.Ambiente(this.ambienteAnterior);
75
75
  ambiente.definirVariavel("isto", instancia);
76
76
  return new DeleguaFuncao(this.nome, this.declaracao, ambiente, this.eInicializador);
77
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"funcao.js","sourceRoot":"","sources":["../../../src/estruturas/funcao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,wCAAuC;AACvC,wCAA8C;AAE9C;IAAmC,iCAAQ;IAMvC,uBAAY,IAAS,EAAE,UAAe,EAAE,OAAY,EAAE,cAAsB;QAAtB,+BAAA,EAAA,sBAAsB;QAA5E,YACI,iBAAO,SAKV;QAJG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,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,gCAAQ,GAAR;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,aAAkB,EAAE,UAAe;QACtC,IAAI,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,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,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAE5B,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBAClC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBACxB,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;iBAC1D;gBACD,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACzC;SACJ;QAED,IAAI;YACA,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SACjE;QAAC,OAAO,IAAI,EAAE;YACX,IAAI,IAAI,YAAY,0BAAe,EAAE;gBACjC,IAAI,IAAI,CAAC,cAAc;oBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACxE,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;iBAAM;gBACH,MAAM,IAAI,CAAC;aACd;SACJ;QAED,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,4BAAI,GAAJ,UAAK,SAAc;QACf,IAAI,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,IAAI,aAAa,CACpB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IACL,oBAAC;AAAD,CAAC,AAjED,CAAmC,mBAAQ,GAiE1C;AAjEY,sCAAa"}
1
+ {"version":3,"file":"funcao.js","sourceRoot":"","sources":["../../../src/estruturas/funcao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,wCAAuC;AACvC,wCAA8C;AAE9C;IAAmC,iCAAQ;IAMvC,uBAAY,IAAS,EAAE,UAAe,EAAE,gBAAqB,EAAE,cAAsB;QAAtB,+BAAA,EAAA,sBAAsB;QAArF,YACI,iBAAO,SAKV;QAJG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,KAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,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,gCAAQ,GAAR;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,aAAkB,EAAE,UAAe;QACtC,IAAI,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,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,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAE5B,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBAClC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBACxB,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;iBAC1D;gBACD,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACzC;SACJ;QAED,IAAI;YACA,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SAChE;QAAC,OAAO,IAAI,EAAE;YACX,IAAI,IAAI,YAAY,0BAAe,EAAE;gBACjC,IAAI,IAAI,CAAC,cAAc;oBAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACjF,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;iBAAM;gBACH,MAAM,IAAI,CAAC;aACd;SACJ;QAED,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qCAAa,GAAb,UAAc,SAAc;QACxB,IAAI,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,IAAI,aAAa,CACpB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IACL,oBAAC;AAAD,CAAC,AAjED,CAAmC,mBAAQ,GAiE1C;AAjEY,sCAAa"}
@@ -0,0 +1,6 @@
1
+ export * from "./callable";
2
+ export * from "./classe";
3
+ export * from "./funcao-padrao";
4
+ export * from "./funcao";
5
+ export * from "./instancia";
6
+ export * from "./modulo";
@@ -0,0 +1,8 @@
1
+ export declare class DeleguaInstancia {
2
+ criarClasse: any;
3
+ campos: any;
4
+ constructor(criarClasse: any);
5
+ get(nome: any): any;
6
+ set(nome: any, valor: any): void;
7
+ toString(): string;
8
+ }
@@ -13,7 +13,7 @@ var DeleguaInstancia = /** @class */ (function () {
13
13
  }
14
14
  var metodo = this.criarClasse.encontrarMetodo(nome.lexema);
15
15
  if (metodo)
16
- return metodo.bind(this);
16
+ return metodo.definirEscopo(this);
17
17
  throw new excecoes_1.ErroEmTempoDeExecucao(nome, "Método indefinido não recuperado.");
18
18
  };
19
19
  DeleguaInstancia.prototype.set = function (nome, valor) {
@@ -1 +1 @@
1
- {"version":3,"file":"instancia.js","sourceRoot":"","sources":["../../../src/estruturas/instancia.ts"],"names":[],"mappings":";;;AAAA,wCAAoD;AAEpD;IAII,0BAAY,WAAW;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,8BAAG,GAAH,UAAI,IAAS;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,IAAI,gCAAqB,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;IAC/E,CAAC;IAED,8BAAG,GAAH,UAAI,IAAS,EAAE,KAAU;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,mCAAQ,GAAR;QACI,OAAO,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC;IACpD,CAAC;IACL,uBAAC;AAAD,CAAC,AA3BD,IA2BC;AA3BY,4CAAgB"}
1
+ {"version":3,"file":"instancia.js","sourceRoot":"","sources":["../../../src/estruturas/instancia.ts"],"names":[],"mappings":";;;AAAA,wCAAoD;AAEpD;IAII,0BAAY,WAAW;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,8BAAG,GAAH,UAAI,IAAS;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE9C,MAAM,IAAI,gCAAqB,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;IAC/E,CAAC;IAED,8BAAG,GAAH,UAAI,IAAS,EAAE,KAAU;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,mCAAQ,GAAR;QACI,OAAO,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC;IACpD,CAAC;IACL,uBAAC;AAAD,CAAC,AA3BD,IA2BC;AA3BY,4CAAgB"}
@@ -0,0 +1,5 @@
1
+ export declare class DeleguaModulo {
2
+ nome: string;
3
+ constructor(nome?: string);
4
+ toString(): string;
5
+ }
@@ -0,0 +1,2 @@
1
+ export declare class BreakException extends Error {
2
+ }
@@ -0,0 +1,2 @@
1
+ export declare class ContinueException extends Error {
2
+ }
@@ -0,0 +1,5 @@
1
+ export declare class ErroEmTempoDeExecucao extends Error {
2
+ simbolo: any;
3
+ mensagem: string;
4
+ constructor(simbolo?: any, mensagem?: string);
5
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./break-exception";
2
+ export * from "./continue-exception";
3
+ export * from "./erro-em-tempo-de-execucao";
4
+ export * from "./return-exception";
@@ -0,0 +1,4 @@
1
+ export declare class ReturnException extends Error {
2
+ valor: any;
3
+ constructor(valor: any);
4
+ }
@@ -0,0 +1,55 @@
1
+ import { SimboloInterface } from "./simbolo-interface";
2
+ export interface AvaliadorSintaticoInterface {
3
+ simbolos: SimboloInterface[];
4
+ Delegua: any;
5
+ atual: number;
6
+ ciclos: number;
7
+ sincronizar(): void;
8
+ erro(simbolo: any, mensagemDeErro: any): any;
9
+ consumir(tipo: any, mensagemDeErro: any): any;
10
+ verificar(tipo: any): boolean;
11
+ verificarProximo(tipo: any): boolean;
12
+ simboloAtual(): any;
13
+ voltar(): any;
14
+ procurar(posicao: number): any;
15
+ estaNoFinal(): boolean;
16
+ avancar(): any;
17
+ verificarSeSimboloAtualEIgualA(...argumentos: any[]): boolean;
18
+ primario(): any;
19
+ finalizarChamada(callee: any): any;
20
+ chamar(): any;
21
+ unario(): any;
22
+ exponenciacao(): any;
23
+ multiplicar(): any;
24
+ adicionar(): any;
25
+ bitFill(): any;
26
+ bitE(): any;
27
+ bitOu(): any;
28
+ comparar(): any;
29
+ comparacaoIgualdade(): any;
30
+ em(): any;
31
+ e(): any;
32
+ ou(): any;
33
+ atribuir(): any;
34
+ expressao(): any;
35
+ declaracaoMostrar(): any;
36
+ declaracaoExpressao(): any;
37
+ blocoEscopo(): any;
38
+ declaracaoSe(): any;
39
+ declaracaoEnquanto(): any;
40
+ declaracaoPara(): any;
41
+ declaracaoInterromper(): any;
42
+ declaracaoContinua(): any;
43
+ declaracaoRetorna(): any;
44
+ declaracaoEscolha(): any;
45
+ declaracaoImportar(): any;
46
+ declaracaoTentar(): any;
47
+ declaracaoFazer(): any;
48
+ resolverDeclaracao(): any;
49
+ declaracaoDeVariavel(): any;
50
+ funcao(kind: any): any;
51
+ corpoDaFuncao(kind: any): any;
52
+ declaracaoDeClasse(): any;
53
+ declaracao(): any;
54
+ analisar(simbolos?: SimboloInterface[]): any;
55
+ }
@@ -0,0 +1,6 @@
1
+ export * from "./avaliador-sintatico-interface";
2
+ export * from "./interpretador-interface";
3
+ export * from "./lexador-interface";
4
+ export * from "./pilha-interface";
5
+ export * from "./resolvedor-interface";
6
+ export * from "./simbolo-interface";
@@ -0,0 +1,51 @@
1
+ export interface InterpretadorInterface {
2
+ Delegua: any;
3
+ diretorioBase: any;
4
+ global: any;
5
+ ambiente: any;
6
+ locais: any;
7
+ resolver(expr: any, depth: any): void;
8
+ visitarExpressaoLiteral(expr: any): any;
9
+ avaliar(expr: any): any;
10
+ visitarExpressaoAgrupamento(expr: any): any;
11
+ eVerdadeiro(objeto: any): boolean;
12
+ verificarOperandoNumero(operador: any, operand: any): void;
13
+ visitarExpressaoUnaria(expr: any): any;
14
+ eIgual(esquerda: any, direita: any): any;
15
+ verificarOperandosNumeros(operador: any, direita: any, esquerda: any): void;
16
+ visitarExpressaoBinaria(expr: any): any;
17
+ visitarExpressaoDeChamada(expr: any): any;
18
+ visitarExpressaoDeAtribuicao(expr: any): any;
19
+ procurarVariavel(nome: any, expr: any): any;
20
+ visitarExpressaoDeVariavel(expr: any): any;
21
+ visitarDeclaracaoDeExpressao(stmt: any): any;
22
+ visitarExpressaoLogica(expr: any): any;
23
+ visitarExpressaoSe(stmt: any): any;
24
+ visitarExpressaoPara(stmt: any): any;
25
+ visitarExpressaoFazer(stmt: any): any;
26
+ visitarExpressaoEscolha(stmt: any): any;
27
+ visitarExpressaoTente(stmt: any): any;
28
+ visitarExpressaoEnquanto(stmt: any): any;
29
+ visitarExpressaoImportar(stmt: any): any;
30
+ visitarExpressaoEscreva(stmt: any): any;
31
+ executarBloco(declaracoes: any, ambiente: any): void;
32
+ visitarExpressaoBloco(stmt: any): null;
33
+ visitarExpressaoVar(stmt: any): null;
34
+ visitarExpressaoContinua(stmt?: any): void;
35
+ visitarExpressaoPausa(stmt?: any): void;
36
+ visitarExpressaoRetornar(stmt: any): void;
37
+ visitarExpressaoDeleguaFuncao(expr: any): any;
38
+ visitarExpressaoAtribuicaoSobrescrita(expr: any): void;
39
+ visitarExpressaoVetorIndice(expressao: any): any;
40
+ visitarExpressaoDefinir(expr: any): any;
41
+ visitarExpressaoFuncao(stmt: any): any;
42
+ visitarExpressaoClasse(stmt: any): any;
43
+ visitarExpressaoObter(expr: any): any;
44
+ visitarExpressaoIsto(expr: any): any;
45
+ visitarExpressaoDicionario(expr: any): any;
46
+ visitarExpressaoVetor(expr: any): any;
47
+ visitarExpressaoSuper(expr: any): any;
48
+ paraTexto(objeto: any): any;
49
+ executar(stmt: any, mostrarResultado: boolean): void;
50
+ interpretar(declaracoes: any): void;
51
+ }
@@ -0,0 +1,23 @@
1
+ export interface LexadorInterface {
2
+ Delegua: any;
3
+ codigo: any;
4
+ simbolos: any;
5
+ inicio: any;
6
+ atual: any;
7
+ linha: any;
8
+ eDigito(caractere: any): boolean;
9
+ eAlfabeto(caractere: any): boolean;
10
+ eAlfabetoOuDigito(caractere: any): boolean;
11
+ eFinalDoCodigo(): boolean;
12
+ avancar(): void;
13
+ adicionarSimbolo(tipo: any, literal: any): void;
14
+ match(esperado: any): boolean;
15
+ peek(): any;
16
+ peekNext(): any;
17
+ voltar(): any;
18
+ analisarTexto(texto: string): void;
19
+ analisarNumero(): void;
20
+ identificarPalavraChave(): void;
21
+ scanToken(): void;
22
+ mapear(codigo?: any): any;
23
+ }
@@ -0,0 +1,7 @@
1
+ export interface PilhaInterface {
2
+ pilha: Array<any>;
3
+ empilhar(item: any): any;
4
+ eVazio(item: any): Boolean;
5
+ topoDaPilha(): Array<any>;
6
+ removerUltimo(): Array<any>;
7
+ }
@@ -0,0 +1,49 @@
1
+ import { PilhaEscopos } from "../resolvedor/pilha-escopos";
2
+ export interface ResolvedorInterface {
3
+ interpretador: any;
4
+ Delegua: any;
5
+ escopos: PilhaEscopos;
6
+ FuncaoAtual: any;
7
+ ClasseAtual: any;
8
+ cicloAtual: any;
9
+ definir(nome: any): void;
10
+ declarar(nome: any): void;
11
+ inicioDoEscopo(): void;
12
+ finalDoEscopo(): void;
13
+ resolver(declaracoes: any): void;
14
+ resolverLocal(expr: any, nome: any): void;
15
+ visitarExpressaoBloco(stmt: any): any;
16
+ visitarExpressaoDeVariavel(expr: any): any;
17
+ visitarExpressaoVar(stmt: any): any;
18
+ visitarExpressaoDeAtribuicao(expr: any): any;
19
+ resolverFuncao(funcao: any, funcType: any): void;
20
+ visitarExpressaoFuncao(stmt: any): any;
21
+ visitarExpressaoDeleguaFuncao(stmt: any): any;
22
+ visitarExpressaoTente(stmt: any): any;
23
+ visitarExpressaoClasse(stmt: any): any;
24
+ visitarExpressaoSuper(expr: any): any;
25
+ visitarExpressaoObter(expr: any): any;
26
+ visitarDeclaracaoDeExpressao(stmt: any): any;
27
+ visitarExpressaoSe(stmt: any): any;
28
+ visitarExpressaoImportar(stmt: any): void;
29
+ visitarExpressaoEscreva(stmt: any): void;
30
+ visitarExpressaoRetornar(stmt: any): any;
31
+ visitarExpressaoEscolha(stmt: any): void;
32
+ visitarExpressaoEnquanto(stmt: any): any;
33
+ visitarExpressaoPara(stmt: any): any;
34
+ visitarExpressaoFazer(stmt: any): any;
35
+ visitarExpressaoBinaria(expr: any): any;
36
+ visitarExpressaoDeChamada(expr: any): any;
37
+ visitarExpressaoAgrupamento(expr: any): any;
38
+ visitarExpressaoDicionario(expr: any): any;
39
+ visitarExpressaoVetor(expr: any): any;
40
+ visitarExpressaoVetorIndice(expr: any): any;
41
+ visitarExpressaoContinua(stmt?: any): any;
42
+ visitarExpressaoPausa(stmt?: any): any;
43
+ visitarExpressaoAtribuicaoSobrescrita(expr?: any): any;
44
+ visitarExpressaoLiteral(expr?: any): any;
45
+ visitarExpressaoLogica(expr?: any): any;
46
+ visitarExpressaoUnaria(expr?: any): any;
47
+ visitarExpressaoDefinir(expr?: any): any;
48
+ visitarExpressaoIsto(expr?: any): any;
49
+ }
@@ -0,0 +1,6 @@
1
+ export interface SimboloInterface {
2
+ lexema: string;
3
+ tipo: string;
4
+ literal: string;
5
+ linha: string;
6
+ }
@@ -0,0 +1,58 @@
1
+ import { DeleguaFuncao } from "../../estruturas/funcao";
2
+ import { InterpretadorInterface } from "../../interfaces";
3
+ /**
4
+ * O Interpretador visita todos os elementos complexos gerados pelo analisador sintático (Parser)
5
+ * e de fato executa a lógica de programação descrita no código.
6
+ */
7
+ export declare class InterpretadorEguaClassico implements InterpretadorInterface {
8
+ Delegua: any;
9
+ diretorioBase: any;
10
+ global: any;
11
+ ambiente: any;
12
+ locais: any;
13
+ constructor(Delegua: any, diretorioBase: any);
14
+ resolver(expr: any, depth: any): void;
15
+ visitarExpressaoLiteral(expr: any): any;
16
+ avaliar(expr: any): any;
17
+ visitarExpressaoAgrupamento(expr: any): any;
18
+ eVerdadeiro(objeto: any): boolean;
19
+ verificarOperandoNumero(operador: any, operand: any): void;
20
+ visitarExpressaoUnaria(expr: any): number | boolean;
21
+ eIgual(esquerda: any, direita: any): boolean;
22
+ verificarOperandosNumeros(operador: any, direita: any, esquerda: any): void;
23
+ visitarExpressaoBinaria(expr: any): string | number | boolean;
24
+ visitarExpressaoDeChamada(expr: any): any;
25
+ visitarExpressaoDeAtribuicao(expr: any): any;
26
+ procurarVariavel(nome: any, expr: any): any;
27
+ visitarExpressaoDeVariavel(expr: any): any;
28
+ visitarDeclaracaoDeExpressao(stmt: any): any;
29
+ visitarExpressaoLogica(expr: any): any;
30
+ visitarExpressaoSe(stmt: any): any;
31
+ visitarExpressaoPara(stmt: any): any;
32
+ visitarExpressaoFazer(stmt: any): void;
33
+ visitarExpressaoEscolha(stmt: any): void;
34
+ visitarExpressaoTente(stmt: any): void;
35
+ visitarExpressaoEnquanto(stmt: any): any;
36
+ visitarExpressaoImportar(stmt: any): any;
37
+ visitarExpressaoEscreva(stmt: any): any;
38
+ executarBloco(declaracoes: any, ambiente: any): void;
39
+ visitarExpressaoBloco(stmt: any): any;
40
+ visitarExpressaoVar(stmt: any): any;
41
+ visitarExpressaoContinua(stmt?: any): void;
42
+ visitarExpressaoPausa(stmt?: any): void;
43
+ visitarExpressaoRetornar(stmt: any): void;
44
+ visitarExpressaoDeleguaFuncao(expr: any): DeleguaFuncao;
45
+ visitarExpressaoAtribuicaoSobrescrita(expr: any): void;
46
+ visitarExpressaoVetorIndice(expressao: any): any;
47
+ visitarExpressaoDefinir(expr: any): any;
48
+ visitarExpressaoFuncao(stmt: any): void;
49
+ visitarExpressaoClasse(stmt: any): any;
50
+ visitarExpressaoObter(expr: any): any;
51
+ visitarExpressaoIsto(expr: any): any;
52
+ visitarExpressaoDicionario(expr: any): {};
53
+ visitarExpressaoVetor(expr: any): any[];
54
+ visitarExpressaoSuper(expr: any): any;
55
+ paraTexto(objeto: any): any;
56
+ executar(stmt: any, mostrarResultado?: boolean): void;
57
+ interpretar(declaracoes: any): void;
58
+ }
@@ -611,7 +611,7 @@ var InterpretadorEguaClassico = /** @class */ (function () {
611
611
  if (metodo === undefined) {
612
612
  throw new excecoes_1.ErroEmTempoDeExecucao(expr.metodo, "Método chamado indefinido.");
613
613
  }
614
- return metodo.bind(objeto);
614
+ return metodo.definirEscopo(objeto);
615
615
  };
616
616
  InterpretadorEguaClassico.prototype.paraTexto = function (objeto) {
617
617
  if (objeto === null)