@designliquido/delegua 0.1.12 → 0.2.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 (195) hide show
  1. package/README.md +3 -4
  2. package/bin/package.json +11 -7
  3. package/coverage/lcov-report/block-navigation.d.ts +1 -0
  4. package/coverage/lcov-report/block-navigation.js +70 -0
  5. package/coverage/lcov-report/block-navigation.js.map +1 -0
  6. package/coverage/lcov-report/prettify.d.ts +0 -0
  7. package/coverage/lcov-report/prettify.js +477 -0
  8. package/coverage/lcov-report/prettify.js.map +1 -0
  9. package/coverage/lcov-report/sorter.d.ts +1 -0
  10. package/coverage/lcov-report/sorter.js +163 -0
  11. package/coverage/lcov-report/sorter.js.map +1 -0
  12. package/index.js +2 -1
  13. package/index.js.map +1 -1
  14. package/jest.config.d.ts +3 -0
  15. package/jest.config.js +50 -0
  16. package/jest.config.js.map +1 -0
  17. package/package.json +11 -7
  18. package/src/ambiente.d.ts +5 -0
  19. package/src/ambiente.js +15 -0
  20. package/src/ambiente.js.map +1 -1
  21. package/src/avaliador-sintatico/dialetos/egua-classico.d.ts +1 -1
  22. package/src/avaliador-sintatico/dialetos/egua-classico.js +3 -3
  23. package/src/avaliador-sintatico/dialetos/egua-classico.js.map +1 -1
  24. package/src/avaliador-sintatico/dialetos/index.js +5 -1
  25. package/src/avaliador-sintatico/dialetos/index.js.map +1 -1
  26. package/src/avaliador-sintatico/index.d.ts +5 -4
  27. package/src/avaliador-sintatico/index.js +36 -27
  28. package/src/avaliador-sintatico/index.js.map +1 -1
  29. package/src/bibliotecas/biblioteca-global.d.ts +3 -1
  30. package/src/bibliotecas/biblioteca-global.js.map +1 -1
  31. package/src/construtos/atribuicao-sobrescrita.d.ts +2 -2
  32. package/src/construtos/atribuir.d.ts +2 -2
  33. package/src/construtos/binario.d.ts +2 -2
  34. package/src/construtos/chamada.d.ts +8 -0
  35. package/src/construtos/chamada.js +16 -0
  36. package/src/construtos/chamada.js.map +1 -0
  37. package/src/construtos/conjunto.d.ts +2 -2
  38. package/src/{declaracoes/stmt.d.ts → construtos/construto.d.ts} +1 -1
  39. package/src/construtos/{expr.js → construto.js} +1 -1
  40. package/src/construtos/construto.js.map +1 -0
  41. package/src/construtos/dicionario.d.ts +2 -2
  42. package/src/construtos/funcao.d.ts +2 -2
  43. package/src/construtos/get.d.ts +2 -2
  44. package/src/construtos/grouping.d.ts +2 -2
  45. package/src/construtos/index.d.ts +2 -2
  46. package/src/construtos/index.js +7 -3
  47. package/src/construtos/index.js.map +1 -1
  48. package/src/construtos/isto.d.ts +2 -2
  49. package/src/construtos/literal.d.ts +2 -2
  50. package/src/construtos/logical.d.ts +2 -2
  51. package/src/construtos/subscript.d.ts +4 -4
  52. package/src/construtos/subscript.js +2 -2
  53. package/src/construtos/subscript.js.map +1 -1
  54. package/src/construtos/super.d.ts +2 -2
  55. package/src/construtos/unario.d.ts +2 -2
  56. package/src/construtos/variavel.d.ts +2 -2
  57. package/src/construtos/vetor.d.ts +2 -2
  58. package/src/declaracoes/bloco.d.ts +2 -2
  59. package/src/declaracoes/bloco.js +2 -2
  60. package/src/declaracoes/bloco.js.map +1 -1
  61. package/src/declaracoes/classe.d.ts +2 -2
  62. package/src/declaracoes/classe.js +2 -2
  63. package/src/declaracoes/classe.js.map +1 -1
  64. package/src/declaracoes/continua.d.ts +2 -2
  65. package/src/declaracoes/continua.js +2 -2
  66. package/src/declaracoes/continua.js.map +1 -1
  67. package/src/declaracoes/declaracao.d.ts +3 -0
  68. package/src/declaracoes/declaracao.js +11 -0
  69. package/src/declaracoes/declaracao.js.map +1 -0
  70. package/src/declaracoes/enquanto.d.ts +2 -2
  71. package/src/declaracoes/enquanto.js +2 -2
  72. package/src/declaracoes/enquanto.js.map +1 -1
  73. package/src/declaracoes/escolha.d.ts +2 -2
  74. package/src/declaracoes/escolha.js +2 -2
  75. package/src/declaracoes/escolha.js.map +1 -1
  76. package/src/declaracoes/escreva.d.ts +2 -2
  77. package/src/declaracoes/escreva.js +2 -2
  78. package/src/declaracoes/escreva.js.map +1 -1
  79. package/src/declaracoes/expressao.d.ts +2 -2
  80. package/src/declaracoes/expressao.js +2 -2
  81. package/src/declaracoes/expressao.js.map +1 -1
  82. package/src/declaracoes/fazer.d.ts +2 -2
  83. package/src/declaracoes/fazer.js +2 -2
  84. package/src/declaracoes/fazer.js.map +1 -1
  85. package/src/declaracoes/funcao.d.ts +2 -2
  86. package/src/declaracoes/funcao.js +2 -2
  87. package/src/declaracoes/funcao.js.map +1 -1
  88. package/src/declaracoes/importar.d.ts +2 -2
  89. package/src/declaracoes/importar.js +2 -2
  90. package/src/declaracoes/importar.js.map +1 -1
  91. package/src/declaracoes/index.d.ts +1 -1
  92. package/src/declaracoes/index.js +6 -2
  93. package/src/declaracoes/index.js.map +1 -1
  94. package/src/declaracoes/para.d.ts +2 -2
  95. package/src/declaracoes/para.js +2 -2
  96. package/src/declaracoes/para.js.map +1 -1
  97. package/src/declaracoes/pausa.d.ts +2 -2
  98. package/src/declaracoes/pausa.js +2 -2
  99. package/src/declaracoes/pausa.js.map +1 -1
  100. package/src/declaracoes/retorna.d.ts +2 -2
  101. package/src/declaracoes/retorna.js +2 -2
  102. package/src/declaracoes/retorna.js.map +1 -1
  103. package/src/declaracoes/se.d.ts +2 -2
  104. package/src/declaracoes/se.js +2 -2
  105. package/src/declaracoes/se.js.map +1 -1
  106. package/src/declaracoes/tente.d.ts +2 -2
  107. package/src/declaracoes/tente.js +2 -2
  108. package/src/declaracoes/tente.js.map +1 -1
  109. package/src/declaracoes/var.d.ts +2 -2
  110. package/src/declaracoes/var.js +2 -2
  111. package/src/declaracoes/var.js.map +1 -1
  112. package/src/delegua.d.ts +3 -3
  113. package/src/delegua.js +20 -17
  114. package/src/delegua.js.map +1 -1
  115. package/src/estruturas/chamavel.d.ts +5 -0
  116. package/src/estruturas/chamavel.js +16 -0
  117. package/src/estruturas/{callable.js.map → chamavel.js.map} +1 -1
  118. package/src/estruturas/classe.d.ts +2 -2
  119. package/src/estruturas/classe.js +2 -2
  120. package/src/estruturas/funcao-padrao.d.ts +5 -5
  121. package/src/estruturas/funcao-padrao.js +2 -2
  122. package/src/estruturas/funcao-padrao.js.map +1 -1
  123. package/src/estruturas/funcao.d.ts +2 -2
  124. package/src/estruturas/funcao.js +3 -3
  125. package/src/estruturas/index.d.ts +1 -1
  126. package/src/estruturas/index.js +6 -2
  127. package/src/estruturas/index.js.map +1 -1
  128. package/src/excecoes/excecao-continuar.d.ts +2 -0
  129. package/src/excecoes/{continue-exception.js → excecao-continuar.js} +7 -7
  130. package/src/excecoes/excecao-continuar.js.map +1 -0
  131. package/src/excecoes/excecao-quebra.d.ts +2 -0
  132. package/src/excecoes/{break-exception.js → excecao-quebra.js} +7 -7
  133. package/src/excecoes/excecao-quebra.js.map +1 -0
  134. package/src/excecoes/excecao-retornar.d.ts +4 -0
  135. package/src/excecoes/{return-exception.js → excecao-retornar.js} +8 -8
  136. package/src/excecoes/{return-exception.js.map → excecao-retornar.js.map} +1 -1
  137. package/src/excecoes/index.d.ts +3 -3
  138. package/src/excecoes/index.js +8 -4
  139. package/src/excecoes/index.js.map +1 -1
  140. package/src/interfaces/avaliador-sintatico-interface.d.ts +1 -1
  141. package/src/interfaces/index.js +5 -1
  142. package/src/interfaces/index.js.map +1 -1
  143. package/src/interfaces/lexador-interface.d.ts +10 -10
  144. package/src/interfaces/resolvedor-interface.d.ts +3 -2
  145. package/src/interfaces/simbolo-interface.d.ts +1 -1
  146. package/src/interpretador/dialetos/egua-classico.d.ts +1 -1
  147. package/src/interpretador/dialetos/egua-classico.js +27 -27
  148. package/src/interpretador/dialetos/egua-classico.js.map +1 -1
  149. package/src/interpretador/dialetos/index.js +5 -1
  150. package/src/interpretador/dialetos/index.js.map +1 -1
  151. package/src/interpretador/index.d.ts +4 -3
  152. package/src/interpretador/index.js +80 -69
  153. package/src/interpretador/index.js.map +1 -1
  154. package/src/lexador/dialetos/egua-classico.d.ts +9 -9
  155. package/src/lexador/dialetos/egua-classico.js +46 -47
  156. package/src/lexador/dialetos/egua-classico.js.map +1 -1
  157. package/src/lexador/dialetos/index.js +5 -1
  158. package/src/lexador/dialetos/index.js.map +1 -1
  159. package/src/lexador/index.d.ts +30 -19
  160. package/src/lexador/index.js +226 -122
  161. package/src/lexador/index.js.map +1 -1
  162. package/src/resolvedor/dialetos/egua-classico.d.ts +5 -3
  163. package/src/resolvedor/dialetos/egua-classico.js +9 -9
  164. package/src/resolvedor/dialetos/egua-classico.js.map +1 -1
  165. package/src/resolvedor/dialetos/index.js +5 -1
  166. package/src/resolvedor/dialetos/index.js.map +1 -1
  167. package/src/resolvedor/index.d.ts +8 -5
  168. package/src/resolvedor/index.js +51 -51
  169. package/src/resolvedor/index.js.map +1 -1
  170. package/testes/avaliador-sintatico.test.d.ts +1 -0
  171. package/testes/avaliador-sintatico.test.js +30 -0
  172. package/testes/avaliador-sintatico.test.js.map +1 -0
  173. package/testes/interpretador.test.d.ts +1 -0
  174. package/testes/interpretador.test.js +155 -0
  175. package/testes/interpretador.test.js.map +1 -0
  176. package/testes/lexador.test.d.ts +1 -0
  177. package/testes/lexador.test.js +74 -0
  178. package/testes/lexador.test.js.map +1 -0
  179. package/testes/resolvedor.test.d.ts +1 -0
  180. package/testes/resolvedor.test.js +35 -0
  181. package/testes/resolvedor.test.js.map +1 -0
  182. package/src/construtos/call.d.ts +0 -8
  183. package/src/construtos/call.js +0 -16
  184. package/src/construtos/call.js.map +0 -1
  185. package/src/construtos/expr.d.ts +0 -3
  186. package/src/construtos/expr.js.map +0 -1
  187. package/src/declaracoes/stmt.js +0 -11
  188. package/src/declaracoes/stmt.js.map +0 -1
  189. package/src/estruturas/callable.d.ts +0 -5
  190. package/src/estruturas/callable.js +0 -16
  191. package/src/excecoes/break-exception.d.ts +0 -2
  192. package/src/excecoes/break-exception.js.map +0 -1
  193. package/src/excecoes/continue-exception.d.ts +0 -2
  194. package/src/excecoes/continue-exception.js.map +0 -1
  195. package/src/excecoes/return-exception.d.ts +0 -4
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Interpretador = void 0;
4
4
  var tiposDeSimbolos_1 = require("../tiposDeSimbolos");
5
+ var perf_hooks_1 = require("perf_hooks");
5
6
  var ambiente_1 = require("../ambiente");
6
7
  var delegua_1 = require("../delegua");
7
8
  var biblioteca_global_1 = require("../bibliotecas/biblioteca-global");
8
9
  var caminho = require("path");
9
10
  var fs = require("fs");
10
11
  var importar_biblioteca_1 = require("../bibliotecas/importar-biblioteca");
11
- var callable_1 = require("../estruturas/callable");
12
+ var chamavel_1 = require("../estruturas/chamavel");
12
13
  var funcao_padrao_1 = require("../estruturas/funcao-padrao");
13
14
  var classe_1 = require("../estruturas/classe");
14
15
  var funcao_1 = require("../estruturas/funcao");
@@ -20,9 +21,11 @@ var excecoes_1 = require("../excecoes");
20
21
  * e de fato executa a lógica de programação descrita no código.
21
22
  */
22
23
  var Interpretador = /** @class */ (function () {
23
- function Interpretador(Delegua, diretorioBase) {
24
+ function Interpretador(Delegua, diretorioBase, performance) {
25
+ if (performance === void 0) { performance = false; }
24
26
  this.Delegua = Delegua;
25
27
  this.diretorioBase = diretorioBase;
28
+ this.performance = performance;
26
29
  this.global = new ambiente_1.Ambiente();
27
30
  this.ambiente = this.global;
28
31
  this.locais = new Map();
@@ -45,14 +48,14 @@ var Interpretador = /** @class */ (function () {
45
48
  Interpretador.prototype.eVerdadeiro = function (objeto) {
46
49
  if (objeto === null)
47
50
  return false;
48
- if (typeof objeto === "boolean")
51
+ if (typeof objeto === 'boolean')
49
52
  return Boolean(objeto);
50
53
  return true;
51
54
  };
52
55
  Interpretador.prototype.verificarOperandoNumero = function (operador, operando) {
53
- if (typeof operando === "number")
56
+ if (typeof operando === 'number')
54
57
  return;
55
- throw new excecoes_1.ErroEmTempoDeExecucao(operador, "Operando precisa ser um número.");
58
+ throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Operando precisa ser um número.');
56
59
  };
57
60
  Interpretador.prototype.visitarExpressaoUnaria = function (expr) {
58
61
  var direita = this.avaliar(expr.direita);
@@ -75,9 +78,9 @@ var Interpretador = /** @class */ (function () {
75
78
  return esquerda === direita;
76
79
  };
77
80
  Interpretador.prototype.verificarOperandosNumeros = function (operador, direita, esquerda) {
78
- if (typeof direita === "number" && typeof esquerda === "number")
81
+ if (typeof direita === 'number' && typeof esquerda === 'number')
79
82
  return;
80
- throw new excecoes_1.ErroEmTempoDeExecucao(operador, "Operandos precisam ser números.");
83
+ throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Operandos precisam ser números.');
81
84
  };
82
85
  Interpretador.prototype.visitarExpressaoBinaria = function (expr) {
83
86
  var esquerda = this.avaliar(expr.esquerda);
@@ -102,7 +105,8 @@ var Interpretador = /** @class */ (function () {
102
105
  this.verificarOperandosNumeros(expr.operador, esquerda, direita);
103
106
  return Number(esquerda) - Number(direita);
104
107
  case tiposDeSimbolos_1.default.ADICAO:
105
- if (typeof esquerda === "number" && typeof direita === "number") {
108
+ if (typeof esquerda === 'number' &&
109
+ typeof direita === 'number') {
106
110
  return Number(esquerda) + Number(direita);
107
111
  }
108
112
  else {
@@ -140,29 +144,29 @@ var Interpretador = /** @class */ (function () {
140
144
  return null;
141
145
  };
142
146
  Interpretador.prototype.visitarExpressaoDeChamada = function (expr) {
143
- var callee = this.avaliar(expr.callee);
147
+ var entidadeChamada = this.avaliar(expr.entidadeChamada);
144
148
  var argumentos = [];
145
149
  for (var i = 0; i < expr.argumentos.length; i++) {
146
150
  argumentos.push(this.avaliar(expr.argumentos[i]));
147
151
  }
148
- if (!(callee instanceof callable_1.Callable)) {
149
- throw new excecoes_1.ErroEmTempoDeExecucao(expr.parentese, "Só pode chamar função ou classe.");
152
+ if (!(entidadeChamada instanceof chamavel_1.Chamavel)) {
153
+ throw new excecoes_1.ErroEmTempoDeExecucao(expr.parentese, 'Só pode chamar função ou classe.');
150
154
  }
151
155
  var parametros;
152
- if (callee instanceof funcao_1.DeleguaFuncao) {
153
- parametros = callee.declaracao.parametros;
156
+ if (entidadeChamada instanceof funcao_1.DeleguaFuncao) {
157
+ parametros = entidadeChamada.declaracao.parametros;
154
158
  }
155
- else if (callee instanceof classe_1.DeleguaClasse) {
156
- parametros = callee.metodos.init
157
- ? callee.metodos.init.declaracao.parametros
159
+ else if (entidadeChamada instanceof classe_1.DeleguaClasse) {
160
+ parametros = entidadeChamada.metodos.init
161
+ ? entidadeChamada.metodos.init.declaracao.parametros
158
162
  : [];
159
163
  }
160
164
  else {
161
165
  parametros = [];
162
166
  }
163
167
  // Isso aqui completa os parâmetros não preenchidos com nulos.
164
- if (argumentos.length < callee.aridade()) {
165
- var diferenca = callee.aridade() - argumentos.length;
168
+ if (argumentos.length < entidadeChamada.aridade()) {
169
+ var diferenca = entidadeChamada.aridade() - argumentos.length;
166
170
  for (var i = 0; i < diferenca; i++) {
167
171
  argumentos.push(null);
168
172
  }
@@ -170,16 +174,16 @@ var Interpretador = /** @class */ (function () {
170
174
  else {
171
175
  if (parametros &&
172
176
  parametros.length > 0 &&
173
- parametros[parametros.length - 1]["tipo"] === "wildcard") {
177
+ parametros[parametros.length - 1]['tipo'] === 'wildcard') {
174
178
  var novosArgumentos = argumentos.slice(0, parametros.length - 1);
175
179
  novosArgumentos.push(argumentos.slice(parametros.length - 1, argumentos.length));
176
180
  argumentos = novosArgumentos;
177
181
  }
178
182
  }
179
- if (callee instanceof funcao_padrao_1.FuncaoPadrao) {
180
- return callee.chamar(this, argumentos, expr.callee.nome);
183
+ if (entidadeChamada instanceof funcao_padrao_1.FuncaoPadrao) {
184
+ return entidadeChamada.chamar(this, argumentos, expr.entidadeChamada.nome);
181
185
  }
182
- return callee.chamar(this, argumentos);
186
+ return entidadeChamada.chamar(this, argumentos);
183
187
  };
184
188
  Interpretador.prototype.visitarExpressaoDeAtribuicao = function (expr) {
185
189
  var valor = this.avaliar(expr.valor);
@@ -211,7 +215,7 @@ var Interpretador = /** @class */ (function () {
211
215
  var esquerda = this.avaliar(expr.esquerda);
212
216
  if (expr.operador.tipo === tiposDeSimbolos_1.default.EM) {
213
217
  var direita = this.avaliar(expr.direita);
214
- if (Array.isArray(direita) || typeof direita === "string") {
218
+ if (Array.isArray(direita) || typeof direita === 'string') {
215
219
  return direita.includes(esquerda);
216
220
  }
217
221
  else if (direita.constructor === Object) {
@@ -264,10 +268,10 @@ var Interpretador = /** @class */ (function () {
264
268
  this.executar(stmt.corpo);
265
269
  }
266
270
  catch (erro) {
267
- if (erro instanceof excecoes_1.BreakException) {
271
+ if (erro instanceof excecoes_1.ExcecaoQuebra) {
268
272
  break;
269
273
  }
270
- else if (erro instanceof excecoes_1.ContinueException) {
274
+ else if (erro instanceof excecoes_1.ExcecaoContinuar) {
271
275
  }
272
276
  else {
273
277
  throw erro;
@@ -285,10 +289,10 @@ var Interpretador = /** @class */ (function () {
285
289
  this.executar(stmt.doBranch);
286
290
  }
287
291
  catch (erro) {
288
- if (erro instanceof excecoes_1.BreakException) {
292
+ if (erro instanceof excecoes_1.ExcecaoQuebra) {
289
293
  break;
290
294
  }
291
- else if (erro instanceof excecoes_1.ContinueException) {
295
+ else if (erro instanceof excecoes_1.ExcecaoContinuar) {
292
296
  }
293
297
  else {
294
298
  throw erro;
@@ -313,7 +317,7 @@ var Interpretador = /** @class */ (function () {
313
317
  }
314
318
  }
315
319
  catch (erro) {
316
- if (erro instanceof excecoes_1.ContinueException) {
320
+ if (erro instanceof excecoes_1.ExcecaoContinuar) {
317
321
  }
318
322
  else {
319
323
  throw erro;
@@ -324,12 +328,12 @@ var Interpretador = /** @class */ (function () {
324
328
  }
325
329
  if (defaultBranch !== null && matched === false) {
326
330
  for (var i = 0; i < defaultBranch.stmts.length; i++) {
327
- this.executar(defaultBranch["stmts"][i]);
331
+ this.executar(defaultBranch['stmts'][i]);
328
332
  }
329
333
  }
330
334
  }
331
335
  catch (erro) {
332
- if (erro instanceof excecoes_1.BreakException) {
336
+ if (erro instanceof excecoes_1.ExcecaoQuebra) {
333
337
  }
334
338
  else {
335
339
  throw erro;
@@ -363,10 +367,10 @@ var Interpretador = /** @class */ (function () {
363
367
  this.executar(stmt.corpo);
364
368
  }
365
369
  catch (erro) {
366
- if (erro instanceof excecoes_1.BreakException) {
370
+ if (erro instanceof excecoes_1.ExcecaoQuebra) {
367
371
  break;
368
372
  }
369
- else if (erro instanceof excecoes_1.ContinueException) {
373
+ else if (erro instanceof excecoes_1.ExcecaoContinuar) {
370
374
  }
371
375
  else {
372
376
  throw erro;
@@ -380,24 +384,24 @@ var Interpretador = /** @class */ (function () {
380
384
  var caminhoTotal = caminho.join(this.diretorioBase, caminhoRelativo);
381
385
  // const pastaTotal = caminho.dirname(caminhoTotal);
382
386
  var nomeArquivo = caminho.basename(caminhoTotal);
383
- var dados;
387
+ var conteudoImportacao;
384
388
  if (!caminhoTotal.endsWith('.egua')) {
385
- dados = (0, importar_biblioteca_1.default)(caminhoRelativo);
386
- if (dados)
387
- return dados;
389
+ conteudoImportacao = (0, importar_biblioteca_1.default)(caminhoRelativo);
390
+ if (conteudoImportacao)
391
+ return conteudoImportacao;
388
392
  }
389
393
  try {
390
394
  if (!fs.existsSync(caminhoTotal)) {
391
- throw new excecoes_1.ErroEmTempoDeExecucao(stmt.closeBracket, "Não foi possível encontrar arquivo importado.");
395
+ throw new excecoes_1.ErroEmTempoDeExecucao(stmt.closeBracket, 'Não foi possível encontrar arquivo importado.');
392
396
  }
393
397
  }
394
398
  catch (erro) {
395
- throw new excecoes_1.ErroEmTempoDeExecucao(stmt.closeBracket, "Não foi possível ler o arquivo.");
399
+ throw new excecoes_1.ErroEmTempoDeExecucao(stmt.closeBracket, 'Não foi possível ler o arquivo.');
396
400
  }
397
- dados = fs.readFileSync(caminhoTotal).toString();
398
- var delegua = new delegua_1.Delegua(this.Delegua.dialeto, nomeArquivo);
399
- // const interpretador = new Interpretador(delegua, pastaTotal);
400
- delegua.executar(dados);
401
+ conteudoImportacao = fs.readFileSync(caminhoTotal).toString();
402
+ var delegua = new delegua_1.Delegua(this.Delegua.dialeto, this.performance, nomeArquivo);
403
+ delegua.executar(conteudoImportacao);
404
+ // let exportar = delegua.interpretador.global.obterTodasDeleguaFuncao();
401
405
  var exportar = delegua.interpretador.global.valores.exports;
402
406
  var eDicionario = function (objeto) { return objeto.constructor === Object; };
403
407
  if (eDicionario(exportar)) {
@@ -446,16 +450,16 @@ var Interpretador = /** @class */ (function () {
446
450
  return null;
447
451
  };
448
452
  Interpretador.prototype.visitarExpressaoContinua = function (stmt) {
449
- throw new excecoes_1.ContinueException();
453
+ throw new excecoes_1.ExcecaoContinuar();
450
454
  };
451
455
  Interpretador.prototype.visitarExpressaoPausa = function (stmt) {
452
- throw new excecoes_1.BreakException();
456
+ throw new excecoes_1.ExcecaoQuebra();
453
457
  };
454
458
  Interpretador.prototype.visitarExpressaoRetornar = function (stmt) {
455
459
  var valor = null;
456
460
  if (stmt.valor != null)
457
461
  valor = this.avaliar(stmt.valor);
458
- throw new excecoes_1.ReturnException(valor);
462
+ throw new excecoes_1.ExcecaoRetornar(valor);
459
463
  };
460
464
  Interpretador.prototype.visitarExpressaoDeleguaFuncao = function (expr) {
461
465
  return new funcao_1.DeleguaFuncao(null, expr, this.ambiente, false);
@@ -483,15 +487,15 @@ var Interpretador = /** @class */ (function () {
483
487
  objeto[indice] = valor;
484
488
  }
485
489
  else {
486
- throw new excecoes_1.ErroEmTempoDeExecucao(expr.objeto.nome, "Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.");
490
+ throw new excecoes_1.ErroEmTempoDeExecucao(expr.objeto.nome, 'Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.');
487
491
  }
488
492
  };
489
493
  Interpretador.prototype.visitarExpressaoVetorIndice = function (expressao) {
490
- var objeto = this.avaliar(expressao.callee);
494
+ var objeto = this.avaliar(expressao.entidadeChamada);
491
495
  var indice = this.avaliar(expressao.indice);
492
496
  if (Array.isArray(objeto)) {
493
497
  if (!Number.isInteger(indice)) {
494
- throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, "Somente inteiros podem ser usados para indexar um vetor.");
498
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, 'Somente inteiros podem ser usados para indexar um vetor.');
495
499
  }
496
500
  if (indice < 0 && objeto.length !== 0) {
497
501
  while (indice < 0) {
@@ -499,7 +503,7 @@ var Interpretador = /** @class */ (function () {
499
503
  }
500
504
  }
501
505
  if (indice >= objeto.length) {
502
- throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, "Índice do vetor fora do intervalo.");
506
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, 'Índice do vetor fora do intervalo.');
503
507
  }
504
508
  return objeto[indice];
505
509
  }
@@ -510,9 +514,9 @@ var Interpretador = /** @class */ (function () {
510
514
  objeto instanceof modulo_1.DeleguaModulo) {
511
515
  return objeto[indice] || null;
512
516
  }
513
- else if (typeof objeto === "string") {
517
+ else if (typeof objeto === 'string') {
514
518
  if (!Number.isInteger(indice)) {
515
- throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, "Somente inteiros podem ser usados para indexar um vetor.");
519
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, 'Somente inteiros podem ser usados para indexar um vetor.');
516
520
  }
517
521
  if (indice < 0 && objeto.length !== 0) {
518
522
  while (indice < 0) {
@@ -520,19 +524,19 @@ var Interpretador = /** @class */ (function () {
520
524
  }
521
525
  }
522
526
  if (indice >= objeto.length) {
523
- throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, "Índice fora do tamanho.");
527
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, 'Índice fora do tamanho.');
524
528
  }
525
529
  return objeto.charAt(indice);
526
530
  }
527
531
  else {
528
- throw new excecoes_1.ErroEmTempoDeExecucao(expressao.callee.nome, "Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.");
532
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.entidadeChamada.nome, 'Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.');
529
533
  }
530
534
  };
531
535
  Interpretador.prototype.visitarExpressaoDefinir = function (expr) {
532
536
  var objeto = this.avaliar(expr.objeto);
533
537
  if (!(objeto instanceof instancia_1.DeleguaInstancia) &&
534
538
  objeto.constructor !== Object) {
535
- throw new excecoes_1.ErroEmTempoDeExecucao(expr.objeto.nome, "Somente instâncias e dicionários podem possuir campos.");
539
+ throw new excecoes_1.ErroEmTempoDeExecucao(expr.objeto.nome, 'Somente instâncias e dicionários podem possuir campos.');
536
540
  }
537
541
  var valor = this.avaliar(expr.valor);
538
542
  if (objeto instanceof instancia_1.DeleguaInstancia) {
@@ -552,19 +556,19 @@ var Interpretador = /** @class */ (function () {
552
556
  if (stmt.superClasse !== null) {
553
557
  superClasse = this.avaliar(stmt.superClasse);
554
558
  if (!(superClasse instanceof classe_1.DeleguaClasse)) {
555
- throw new excecoes_1.ErroEmTempoDeExecucao(stmt.superClasse.nome, "SuperClasse precisa ser uma classe.");
559
+ throw new excecoes_1.ErroEmTempoDeExecucao(stmt.superClasse.nome, 'SuperClasse precisa ser uma classe.');
556
560
  }
557
561
  }
558
562
  this.ambiente.definirVariavel(stmt.nome.lexema, null);
559
563
  if (stmt.superClasse !== null) {
560
564
  this.ambiente = new ambiente_1.Ambiente(this.ambiente);
561
- this.ambiente.definirVariavel("super", superClasse);
565
+ this.ambiente.definirVariavel('super', superClasse);
562
566
  }
563
567
  var metodos = {};
564
568
  var definirMetodos = stmt.metodos;
565
569
  for (var i = 0; i < stmt.metodos.length; i++) {
566
570
  var metodoAtual = definirMetodos[i];
567
- var eInicializado = metodoAtual.nome.lexema === "construtor";
571
+ var eInicializado = metodoAtual.nome.lexema === 'construtor';
568
572
  var funcao = new funcao_1.DeleguaFuncao(metodoAtual.nome.lexema, metodoAtual.funcao, this.ambiente, eInicializado);
569
573
  metodos[metodoAtual.nome.lexema] = funcao;
570
574
  }
@@ -586,7 +590,7 @@ var Interpretador = /** @class */ (function () {
586
590
  else if (objeto instanceof modulo_1.DeleguaModulo) {
587
591
  return objeto[expr.nome.lexema] || null;
588
592
  }
589
- throw new excecoes_1.ErroEmTempoDeExecucao(expr.nome, "Você só pode acessar métodos do objeto e dicionários.");
593
+ throw new excecoes_1.ErroEmTempoDeExecucao(expr.nome, 'Você só pode acessar métodos do objeto e dicionários.');
590
594
  };
591
595
  Interpretador.prototype.visitarExpressaoIsto = function (expr) {
592
596
  return this.procurarVariavel(expr.palavraChave, expr);
@@ -607,30 +611,30 @@ var Interpretador = /** @class */ (function () {
607
611
  };
608
612
  Interpretador.prototype.visitarExpressaoSuper = function (expr) {
609
613
  var distancia = this.locais.get(expr);
610
- var superClasse = this.ambiente.obterVariavelEm(distancia, "super");
611
- var objeto = this.ambiente.obterVariavelEm(distancia - 1, "isto");
614
+ var superClasse = this.ambiente.obterVariavelEm(distancia, 'super');
615
+ var objeto = this.ambiente.obterVariavelEm(distancia - 1, 'isto');
612
616
  var metodo = superClasse.encontrarMetodo(expr.metodo.lexema);
613
617
  if (metodo === undefined) {
614
- throw new excecoes_1.ErroEmTempoDeExecucao(expr.metodo, "Método chamado indefinido.");
618
+ throw new excecoes_1.ErroEmTempoDeExecucao(expr.metodo, 'Método chamado indefinido.');
615
619
  }
616
620
  return metodo.definirEscopo(objeto);
617
621
  };
618
622
  Interpretador.prototype.paraTexto = function (objeto) {
619
623
  if (objeto === null)
620
- return "nulo";
621
- if (typeof objeto === "boolean") {
622
- return objeto ? "verdadeiro" : "falso";
624
+ return 'nulo';
625
+ if (typeof objeto === 'boolean') {
626
+ return objeto ? 'verdadeiro' : 'falso';
623
627
  }
624
628
  if (objeto instanceof Date) {
625
- var formato = Intl.DateTimeFormat("pt", {
626
- dateStyle: "full",
627
- timeStyle: "full",
629
+ var formato = Intl.DateTimeFormat('pt', {
630
+ dateStyle: 'full',
631
+ timeStyle: 'full',
628
632
  });
629
633
  return formato.format(objeto);
630
634
  }
631
635
  if (Array.isArray(objeto))
632
636
  return objeto;
633
- if (typeof objeto === "object")
637
+ if (typeof objeto === 'object')
634
638
  return JSON.stringify(objeto);
635
639
  return objeto.toString();
636
640
  };
@@ -642,9 +646,10 @@ var Interpretador = /** @class */ (function () {
642
646
  }
643
647
  };
644
648
  Interpretador.prototype.interpretar = function (declaracoes) {
649
+ var inicioInterpretacao = perf_hooks_1.performance.now();
645
650
  try {
646
651
  if (declaracoes.length === 1) {
647
- var eObjetoExpressao = declaracoes[0].constructor.name === "Expressao";
652
+ var eObjetoExpressao = declaracoes[0].constructor.name === 'Expressao';
648
653
  if (eObjetoExpressao) {
649
654
  this.executar(declaracoes[0], true);
650
655
  return;
@@ -657,6 +662,12 @@ var Interpretador = /** @class */ (function () {
657
662
  catch (erro) {
658
663
  this.Delegua.erroEmTempoDeExecucao(erro);
659
664
  }
665
+ finally {
666
+ var fimInterpretacao = perf_hooks_1.performance.now();
667
+ if (this.performance) {
668
+ console.log("[Interpretador] Tempo para interpreta\u00E7ao: ".concat(fimInterpretacao - inicioInterpretacao, "ms"));
669
+ }
670
+ }
660
671
  };
661
672
  return Interpretador;
662
673
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interpretador/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interpretador/index.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- import { LexadorInterface } from "../../interfaces";
1
+ import { LexadorInterface, SimboloInterface } from "../../interfaces";
2
2
  /**
3
3
  * O Lexador é responsável por transformar o código em uma coleção de tokens de linguagem.
4
4
  * Cada token de linguagem é representado por um tipo, um lexema e informações da linha de código em que foi expresso.
5
5
  * Também é responsável por mapear as palavras reservadas da linguagem, que não podem ser usadas por outras
6
6
  * estruturas, tais como nomes de variáveis, funções, literais, classes e assim por diante.
7
7
  */
8
- export declare class LexerEguaClassico implements LexadorInterface {
8
+ export declare class LexadorEguaClassico implements LexadorInterface {
9
9
  Delegua: any;
10
10
  codigo: any;
11
11
  simbolos: any;
12
- inicio: any;
12
+ inicioSimbolo: any;
13
13
  atual: any;
14
14
  linha: any;
15
15
  constructor(Delegua: any, codigo?: any);
@@ -19,13 +19,13 @@ export declare class LexerEguaClassico implements LexadorInterface {
19
19
  eFinalDoCodigo(): boolean;
20
20
  avancar(): any;
21
21
  adicionarSimbolo(tipo: any, literal?: any): void;
22
- match(esperado: any): boolean;
23
- peek(): any;
24
- peekNext(): any;
25
- voltar(): any;
22
+ proximoIgualA(esperado: any): boolean;
23
+ simboloAtual(): any;
24
+ proximoSimbolo(): any;
25
+ simboloAnterior(): any;
26
26
  analisarTexto(texto?: string): void;
27
27
  analisarNumero(): void;
28
28
  identificarPalavraChave(): void;
29
- scanToken(): void;
30
- mapear(codigo?: any): any;
29
+ analisarToken(): void;
30
+ mapear(codigo?: string[]): SimboloInterface[];
31
31
  }