@designliquido/delegua 0.1.3 → 0.1.7

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 (97) hide show
  1. package/bin/package.json +4 -3
  2. package/package.json +4 -3
  3. package/src/avaliador-sintatico/dialetos/egua-classico.js +116 -116
  4. package/src/avaliador-sintatico/dialetos/egua-classico.js.map +1 -1
  5. package/src/avaliador-sintatico/{parser-error.js → erros-avaliador.js} +1 -1
  6. package/src/avaliador-sintatico/erros-avaliador.js.map +1 -0
  7. package/src/avaliador-sintatico/index.js +123 -123
  8. package/src/avaliador-sintatico/index.js.map +1 -1
  9. package/src/construtos/assign-subscript.js +1 -1
  10. package/src/construtos/assign-subscript.js.map +1 -1
  11. package/src/construtos/atribuir.js +1 -1
  12. package/src/construtos/atribuir.js.map +1 -1
  13. package/src/construtos/binario.js +1 -1
  14. package/src/construtos/binario.js.map +1 -1
  15. package/src/construtos/call.js +1 -1
  16. package/src/construtos/call.js.map +1 -1
  17. package/src/construtos/conjunto.js +1 -1
  18. package/src/construtos/conjunto.js.map +1 -1
  19. package/src/construtos/dicionario.js +1 -1
  20. package/src/construtos/dicionario.js.map +1 -1
  21. package/src/construtos/funcao.js +1 -1
  22. package/src/construtos/funcao.js.map +1 -1
  23. package/src/construtos/get.js +1 -1
  24. package/src/construtos/get.js.map +1 -1
  25. package/src/construtos/grouping.js +1 -1
  26. package/src/construtos/grouping.js.map +1 -1
  27. package/src/construtos/isto.js +1 -1
  28. package/src/construtos/isto.js.map +1 -1
  29. package/src/construtos/literal.js +1 -1
  30. package/src/construtos/literal.js.map +1 -1
  31. package/src/construtos/logical.js +1 -1
  32. package/src/construtos/logical.js.map +1 -1
  33. package/src/construtos/subscript.js +1 -1
  34. package/src/construtos/subscript.js.map +1 -1
  35. package/src/construtos/super.js +1 -1
  36. package/src/construtos/super.js.map +1 -1
  37. package/src/construtos/unario.js +1 -1
  38. package/src/construtos/unario.js.map +1 -1
  39. package/src/construtos/variavel.js +1 -1
  40. package/src/construtos/variavel.js.map +1 -1
  41. package/src/construtos/vetor.js +1 -1
  42. package/src/construtos/vetor.js.map +1 -1
  43. package/src/declaracoes/block.js +33 -0
  44. package/src/declaracoes/block.js.map +1 -0
  45. package/src/declaracoes/classe.js +35 -0
  46. package/src/declaracoes/classe.js.map +1 -0
  47. package/src/declaracoes/continua.js +31 -0
  48. package/src/declaracoes/continua.js.map +1 -0
  49. package/src/declaracoes/enquanto.js +34 -0
  50. package/src/declaracoes/enquanto.js.map +1 -0
  51. package/src/declaracoes/escolha.js +35 -0
  52. package/src/declaracoes/escolha.js.map +1 -0
  53. package/src/declaracoes/escreva.js +33 -0
  54. package/src/declaracoes/escreva.js.map +1 -0
  55. package/src/declaracoes/expressao.js +33 -0
  56. package/src/declaracoes/expressao.js.map +1 -0
  57. package/src/declaracoes/fazer.js +34 -0
  58. package/src/declaracoes/fazer.js.map +1 -0
  59. package/src/declaracoes/funcao.js +34 -0
  60. package/src/declaracoes/funcao.js.map +1 -0
  61. package/src/declaracoes/importar.js +34 -0
  62. package/src/declaracoes/importar.js.map +1 -0
  63. package/src/declaracoes/index.js +27 -246
  64. package/src/declaracoes/index.js.map +1 -1
  65. package/src/declaracoes/para.js +36 -0
  66. package/src/declaracoes/para.js.map +1 -0
  67. package/src/declaracoes/pausa.js +31 -0
  68. package/src/declaracoes/pausa.js.map +1 -0
  69. package/src/declaracoes/retorna.js +34 -0
  70. package/src/declaracoes/retorna.js.map +1 -0
  71. package/src/declaracoes/se.js +36 -0
  72. package/src/declaracoes/se.js.map +1 -0
  73. package/src/declaracoes/stmt.js +11 -0
  74. package/src/declaracoes/stmt.js.map +1 -0
  75. package/src/declaracoes/tente.js +36 -0
  76. package/src/declaracoes/tente.js.map +1 -0
  77. package/src/declaracoes/var.js +34 -0
  78. package/src/declaracoes/var.js.map +1 -0
  79. package/src/delegua.js +11 -6
  80. package/src/delegua.js.map +1 -1
  81. package/src/estruturas/funcao.js +1 -1
  82. package/src/estruturas/funcao.js.map +1 -1
  83. package/src/interpretador/dialetos/egua-classico.js +64 -68
  84. package/src/interpretador/dialetos/egua-classico.js.map +1 -1
  85. package/src/interpretador/index.js +74 -75
  86. package/src/interpretador/index.js.map +1 -1
  87. package/src/lexador/dialetos/egua-classico.js +5 -7
  88. package/src/lexador/dialetos/egua-classico.js.map +1 -1
  89. package/src/lexador/index.js +7 -10
  90. package/src/lexador/index.js.map +1 -1
  91. package/src/resolvedor/dialetos/egua-classico.js +39 -39
  92. package/src/resolvedor/dialetos/egua-classico.js.map +1 -1
  93. package/src/resolvedor/index.js +39 -39
  94. package/src/resolvedor/index.js.map +1 -1
  95. package/src/tiposDeSimbolos.js +1 -1
  96. package/src/tiposDeSimbolos.js.map +1 -1
  97. package/src/avaliador-sintatico/parser-error.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"egua-classico.js","sourceRoot":"","sources":["../../../../src/interpretador/dialetos/egua-classico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"egua-classico.js","sourceRoot":"","sources":["../../../../src/interpretador/dialetos/egua-classico.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ var Interpretador = /** @class */ (function () {
31
31
  Interpretador.prototype.resolver = function (expr, depth) {
32
32
  this.locais.set(expr, depth);
33
33
  };
34
- Interpretador.prototype.visitLiteralExpr = function (expr) {
34
+ Interpretador.prototype.visitarExpressaoLiteral = function (expr) {
35
35
  return expr.valor;
36
36
  };
37
37
  Interpretador.prototype.avaliar = function (expr) {
@@ -39,7 +39,7 @@ var Interpretador = /** @class */ (function () {
39
39
  return expr.aceitar(this);
40
40
  }
41
41
  };
42
- Interpretador.prototype.visitGroupingExpr = function (expr) {
42
+ Interpretador.prototype.visitarExpressaoAgrupamento = function (expr) {
43
43
  return this.avaliar(expr.expressao);
44
44
  };
45
45
  Interpretador.prototype.eVerdadeiro = function (objeto) {
@@ -49,16 +49,16 @@ var Interpretador = /** @class */ (function () {
49
49
  return Boolean(objeto);
50
50
  return true;
51
51
  };
52
- Interpretador.prototype.checkNumberOperand = function (operador, operand) {
53
- if (typeof operand === "number")
52
+ Interpretador.prototype.verificarOperandoNumero = function (operador, operando) {
53
+ if (typeof operando === "number")
54
54
  return;
55
- throw new excecoes_1.ErroEmTempoDeExecucao(operador, "Operador precisa ser um número.");
55
+ throw new excecoes_1.ErroEmTempoDeExecucao(operador, "Operando precisa ser um número.");
56
56
  };
57
- Interpretador.prototype.visitUnaryExpr = function (expr) {
57
+ Interpretador.prototype.visitarExpressaoUnaria = function (expr) {
58
58
  var direita = this.avaliar(expr.direita);
59
59
  switch (expr.operador.tipo) {
60
60
  case tiposDeSimbolos_1.default.SUBTRACAO:
61
- this.checkNumberOperand(expr.operador, direita);
61
+ this.verificarOperandoNumero(expr.operador, direita);
62
62
  return -direita;
63
63
  case tiposDeSimbolos_1.default.NEGACAO:
64
64
  return !this.eVerdadeiro(direita);
@@ -74,67 +74,63 @@ var Interpretador = /** @class */ (function () {
74
74
  return false;
75
75
  return esquerda === direita;
76
76
  };
77
- Interpretador.prototype.checkNumberOperands = function (operador, direita, esquerda) {
77
+ Interpretador.prototype.verificarOperandosNumeros = function (operador, direita, esquerda) {
78
78
  if (typeof direita === "number" && typeof esquerda === "number")
79
79
  return;
80
- throw new excecoes_1.ErroEmTempoDeExecucao(operador, "Operadores precisam ser números.");
80
+ throw new excecoes_1.ErroEmTempoDeExecucao(operador, "Operandos precisam ser números.");
81
81
  };
82
- Interpretador.prototype.visitBinaryExpr = function (expr) {
82
+ Interpretador.prototype.visitarExpressaoBinaria = function (expr) {
83
83
  var esquerda = this.avaliar(expr.esquerda);
84
84
  var direita = this.avaliar(expr.direita);
85
85
  switch (expr.operador.tipo) {
86
86
  case tiposDeSimbolos_1.default.EXPONENCIACAO:
87
- this.checkNumberOperands(expr.operador, esquerda, direita);
87
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
88
88
  return Math.pow(esquerda, direita);
89
89
  case tiposDeSimbolos_1.default.MAIOR:
90
- this.checkNumberOperands(expr.operador, esquerda, direita);
90
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
91
91
  return Number(esquerda) > Number(direita);
92
92
  case tiposDeSimbolos_1.default.MAIOR_IGUAL:
93
- this.checkNumberOperands(expr.operador, esquerda, direita);
93
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
94
94
  return Number(esquerda) >= Number(direita);
95
95
  case tiposDeSimbolos_1.default.MENOR:
96
- this.checkNumberOperands(expr.operador, esquerda, direita);
96
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
97
97
  return Number(esquerda) < Number(direita);
98
98
  case tiposDeSimbolos_1.default.MENOR_IGUAL:
99
- this.checkNumberOperands(expr.operador, esquerda, direita);
99
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
100
100
  return Number(esquerda) <= Number(direita);
101
101
  case tiposDeSimbolos_1.default.SUBTRACAO:
102
- this.checkNumberOperands(expr.operador, esquerda, direita);
102
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
103
103
  return Number(esquerda) - Number(direita);
104
104
  case tiposDeSimbolos_1.default.ADICAO:
105
105
  if (typeof esquerda === "number" && typeof direita === "number") {
106
106
  return Number(esquerda) + Number(direita);
107
107
  }
108
- else if (typeof esquerda === "string" &&
109
- typeof direita === "string") {
110
- return String(esquerda) + String(direita);
111
- }
112
108
  else {
113
109
  return String(esquerda) + String(direita);
114
110
  }
115
111
  case tiposDeSimbolos_1.default.DIVISAO:
116
- this.checkNumberOperands(expr.operador, esquerda, direita);
112
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
117
113
  return Number(esquerda) / Number(direita);
118
114
  case tiposDeSimbolos_1.default.MULTIPLICACAO:
119
- this.checkNumberOperands(expr.operador, esquerda, direita);
115
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
120
116
  return Number(esquerda) * Number(direita);
121
117
  case tiposDeSimbolos_1.default.MODULO:
122
- this.checkNumberOperands(expr.operador, esquerda, direita);
118
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
123
119
  return Number(esquerda) % Number(direita);
124
120
  case tiposDeSimbolos_1.default.BIT_AND:
125
- this.checkNumberOperands(expr.operador, esquerda, direita);
121
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
126
122
  return Number(esquerda) & Number(direita);
127
123
  case tiposDeSimbolos_1.default.BIT_XOR:
128
- this.checkNumberOperands(expr.operador, esquerda, direita);
124
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
129
125
  return Number(esquerda) ^ Number(direita);
130
126
  case tiposDeSimbolos_1.default.BIT_OR:
131
- this.checkNumberOperands(expr.operador, esquerda, direita);
127
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
132
128
  return Number(esquerda) | Number(direita);
133
129
  case tiposDeSimbolos_1.default.MENOR_MENOR:
134
- this.checkNumberOperands(expr.operador, esquerda, direita);
130
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
135
131
  return Number(esquerda) << Number(direita);
136
132
  case tiposDeSimbolos_1.default.MAIOR_MAIOR:
137
- this.checkNumberOperands(expr.operador, esquerda, direita);
133
+ this.verificarOperandosNumeros(expr.operador, esquerda, direita);
138
134
  return Number(esquerda) >> Number(direita);
139
135
  case tiposDeSimbolos_1.default.DIFERENTE:
140
136
  return !this.eIgual(esquerda, direita);
@@ -143,7 +139,7 @@ var Interpretador = /** @class */ (function () {
143
139
  }
144
140
  return null;
145
141
  };
146
- Interpretador.prototype.visitCallExpr = function (expr) {
142
+ Interpretador.prototype.visitarExpressaoDeChamada = function (expr) {
147
143
  var callee = this.avaliar(expr.callee);
148
144
  var argumentos = [];
149
145
  for (var i = 0; i < expr.argumentos.length; i++) {
@@ -185,7 +181,7 @@ var Interpretador = /** @class */ (function () {
185
181
  }
186
182
  return callee.chamar(this, argumentos);
187
183
  };
188
- Interpretador.prototype.visitAssignExpr = function (expr) {
184
+ Interpretador.prototype.visitarExpressaoDeAtribuicao = function (expr) {
189
185
  var valor = this.avaliar(expr.valor);
190
186
  var distancia = this.locais.get(expr);
191
187
  if (distancia !== undefined) {
@@ -205,13 +201,13 @@ var Interpretador = /** @class */ (function () {
205
201
  return this.global.obterVariavel(nome);
206
202
  }
207
203
  };
208
- Interpretador.prototype.visitVariableExpr = function (expr) {
204
+ Interpretador.prototype.visitarExpressaoDeVariavel = function (expr) {
209
205
  return this.procurarVariavel(expr.nome, expr);
210
206
  };
211
- Interpretador.prototype.visitExpressionStmt = function (stmt) {
207
+ Interpretador.prototype.visitarDeclaracaoDeExpressao = function (stmt) {
212
208
  return this.avaliar(stmt.expressao);
213
209
  };
214
- Interpretador.prototype.visitLogicalExpr = function (expr) {
210
+ Interpretador.prototype.visitarExpressaoLogica = function (expr) {
215
211
  var esquerda = this.avaliar(expr.esquerda);
216
212
  if (expr.operador.tipo === tiposDeSimbolos_1.default.EM) {
217
213
  var direita = this.avaliar(expr.direita);
@@ -237,7 +233,7 @@ var Interpretador = /** @class */ (function () {
237
233
  }
238
234
  return this.avaliar(expr.direita);
239
235
  };
240
- Interpretador.prototype.visitIfStmt = function (stmt) {
236
+ Interpretador.prototype.visitarExpressaoSe = function (stmt) {
241
237
  if (this.eVerdadeiro(this.avaliar(stmt.condicao))) {
242
238
  this.executar(stmt.thenBranch);
243
239
  return null;
@@ -254,7 +250,7 @@ var Interpretador = /** @class */ (function () {
254
250
  }
255
251
  return null;
256
252
  };
257
- Interpretador.prototype.visitForStmt = function (stmt) {
253
+ Interpretador.prototype.visitarExpressaoPara = function (stmt) {
258
254
  if (stmt.inicializador !== null) {
259
255
  this.avaliar(stmt.inicializador);
260
256
  }
@@ -283,7 +279,7 @@ var Interpretador = /** @class */ (function () {
283
279
  }
284
280
  return null;
285
281
  };
286
- Interpretador.prototype.visitDoStmt = function (stmt) {
282
+ Interpretador.prototype.visitarExpressaoFazer = function (stmt) {
287
283
  do {
288
284
  try {
289
285
  this.executar(stmt.doBranch);
@@ -300,7 +296,7 @@ var Interpretador = /** @class */ (function () {
300
296
  }
301
297
  } while (this.eVerdadeiro(this.avaliar(stmt.whileCondition)));
302
298
  };
303
- Interpretador.prototype.visitSwitchStmt = function (stmt) {
299
+ Interpretador.prototype.visitarExpressaoEscolha = function (stmt) {
304
300
  var switchCondition = this.avaliar(stmt.condicao);
305
301
  var branches = stmt.branches;
306
302
  var defaultBranch = stmt.defaultBranch;
@@ -340,28 +336,28 @@ var Interpretador = /** @class */ (function () {
340
336
  }
341
337
  }
342
338
  };
343
- Interpretador.prototype.visitTryStmt = function (stmt) {
339
+ Interpretador.prototype.visitarExpressaoTente = function (stmt) {
344
340
  try {
345
341
  var sucesso = true;
346
342
  try {
347
- this.executeBlock(stmt.tryBranch, new ambiente_1.Ambiente(this.ambiente));
343
+ this.executarBloco(stmt.tryBranch, new ambiente_1.Ambiente(this.ambiente));
348
344
  }
349
345
  catch (erro) {
350
346
  sucesso = false;
351
347
  if (stmt.catchBranch !== null) {
352
- this.executeBlock(stmt.catchBranch, new ambiente_1.Ambiente(this.ambiente));
348
+ this.executarBloco(stmt.catchBranch, new ambiente_1.Ambiente(this.ambiente));
353
349
  }
354
350
  }
355
351
  if (sucesso && stmt.elseBranch !== null) {
356
- this.executeBlock(stmt.elseBranch, new ambiente_1.Ambiente(this.ambiente));
352
+ this.executarBloco(stmt.elseBranch, new ambiente_1.Ambiente(this.ambiente));
357
353
  }
358
354
  }
359
355
  finally {
360
356
  if (stmt.finallyBranch !== null)
361
- this.executeBlock(stmt.finallyBranch, new ambiente_1.Ambiente(this.ambiente));
357
+ this.executarBloco(stmt.finallyBranch, new ambiente_1.Ambiente(this.ambiente));
362
358
  }
363
359
  };
364
- Interpretador.prototype.visitWhileStmt = function (stmt) {
360
+ Interpretador.prototype.visitarExpressaoEnquanto = function (stmt) {
365
361
  while (this.eVerdadeiro(this.avaliar(stmt.condicao))) {
366
362
  try {
367
363
  this.executar(stmt.corpo);
@@ -379,14 +375,17 @@ var Interpretador = /** @class */ (function () {
379
375
  }
380
376
  return null;
381
377
  };
382
- Interpretador.prototype.visitImportStmt = function (stmt) {
378
+ Interpretador.prototype.visitarExpressaoImportar = function (stmt) {
383
379
  var caminhoRelativo = this.avaliar(stmt.caminho);
384
380
  var caminhoTotal = caminho.join(this.diretorioBase, caminhoRelativo);
385
- var pastaTotal = caminho.dirname(caminhoTotal);
381
+ // const pastaTotal = caminho.dirname(caminhoTotal);
386
382
  var nomeArquivo = caminho.basename(caminhoTotal);
387
- var dados = (0, importarBiblioteca_1.default)(caminhoRelativo);
388
- if (dados)
389
- return dados;
383
+ var dados;
384
+ if (!caminhoTotal.endsWith('.egua')) {
385
+ dados = (0, importarBiblioteca_1.default)(caminhoRelativo);
386
+ if (dados)
387
+ return dados;
388
+ }
390
389
  try {
391
390
  if (!fs.existsSync(caminhoTotal)) {
392
391
  throw new excecoes_1.ErroEmTempoDeExecucao(stmt.closeBracket, "Não foi possível encontrar arquivo importado.");
@@ -398,7 +397,7 @@ var Interpretador = /** @class */ (function () {
398
397
  dados = fs.readFileSync(caminhoTotal).toString();
399
398
  var delegua = new delegua_1.Delegua(this.Delegua.dialeto, nomeArquivo);
400
399
  // const interpretador = new Interpretador(delegua, pastaTotal);
401
- delegua.run(dados);
400
+ delegua.executar(dados);
402
401
  var exportar = delegua.interpretador.global.valores.exports;
403
402
  var eDicionario = function (objeto) { return objeto.constructor === Object; };
404
403
  if (eDicionario(exportar)) {
@@ -411,12 +410,12 @@ var Interpretador = /** @class */ (function () {
411
410
  }
412
411
  return exportar;
413
412
  };
414
- Interpretador.prototype.visitPrintStmt = function (stmt) {
413
+ Interpretador.prototype.visitarExpressaoEscreva = function (stmt) {
415
414
  var valor = this.avaliar(stmt.expressao);
416
- console.log(this.stringify(valor));
415
+ console.log(this.paraTexto(valor));
417
416
  return null;
418
417
  };
419
- Interpretador.prototype.executeBlock = function (declaracoes, ambiente) {
418
+ Interpretador.prototype.executarBloco = function (declaracoes, ambiente) {
420
419
  var anterior = this.ambiente;
421
420
  try {
422
421
  this.ambiente = ambiente;
@@ -434,11 +433,11 @@ var Interpretador = /** @class */ (function () {
434
433
  this.ambiente = anterior;
435
434
  }
436
435
  };
437
- Interpretador.prototype.visitBlockStmt = function (stmt) {
438
- this.executeBlock(stmt.declaracoes, new ambiente_1.Ambiente(this.ambiente));
436
+ Interpretador.prototype.visitarExpressaoBloco = function (stmt) {
437
+ this.executarBloco(stmt.declaracoes, new ambiente_1.Ambiente(this.ambiente));
439
438
  return null;
440
439
  };
441
- Interpretador.prototype.visitVarStmt = function (stmt) {
440
+ Interpretador.prototype.visitarExpressaoVar = function (stmt) {
442
441
  var valor = null;
443
442
  if (stmt.inicializador !== null) {
444
443
  valor = this.avaliar(stmt.inicializador);
@@ -446,22 +445,22 @@ var Interpretador = /** @class */ (function () {
446
445
  this.ambiente.definirVariavel(stmt.nome.lexema, valor);
447
446
  return null;
448
447
  };
449
- Interpretador.prototype.visitContinueStmt = function (stmt) {
448
+ Interpretador.prototype.visitarExpressaoContinua = function (stmt) {
450
449
  throw new excecoes_1.ContinueException();
451
450
  };
452
- Interpretador.prototype.visitBreakStmt = function (stmt) {
451
+ Interpretador.prototype.visitarExpressaoPausa = function (stmt) {
453
452
  throw new excecoes_1.BreakException();
454
453
  };
455
- Interpretador.prototype.visitReturnStmt = function (stmt) {
454
+ Interpretador.prototype.visitarExpressaoRetornar = function (stmt) {
456
455
  var valor = null;
457
456
  if (stmt.valor != null)
458
457
  valor = this.avaliar(stmt.valor);
459
458
  throw new excecoes_1.ReturnException(valor);
460
459
  };
461
- Interpretador.prototype.visitFunctionExpr = function (expr) {
460
+ Interpretador.prototype.visitarExpressaoDeleguaFuncao = function (expr) {
462
461
  return new funcao_1.DeleguaFuncao(null, expr, this.ambiente, false);
463
462
  };
464
- Interpretador.prototype.visitAssignSubscriptExpr = function (expr) {
463
+ Interpretador.prototype.visitarExpressaoAtribuicaoSobrescrita = function (expr) {
465
464
  var objeto = this.avaliar(expr.objeto);
466
465
  var indice = this.avaliar(expr.indice);
467
466
  var valor = this.avaliar(expr.valor);
@@ -487,7 +486,7 @@ var Interpretador = /** @class */ (function () {
487
486
  throw new excecoes_1.ErroEmTempoDeExecucao(expr.objeto.nome, "Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.");
488
487
  }
489
488
  };
490
- Interpretador.prototype.visitSubscriptExpr = function (expressao) {
489
+ Interpretador.prototype.visitarExpressaoVetorIndice = function (expressao) {
491
490
  var objeto = this.avaliar(expressao.callee);
492
491
  var indice = this.avaliar(expressao.indice);
493
492
  if (Array.isArray(objeto)) {
@@ -529,7 +528,7 @@ var Interpretador = /** @class */ (function () {
529
528
  throw new excecoes_1.ErroEmTempoDeExecucao(expressao.callee.nome, "Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.");
530
529
  }
531
530
  };
532
- Interpretador.prototype.visitSetExpr = function (expr) {
531
+ Interpretador.prototype.visitarExpressaoDefinir = function (expr) {
533
532
  var objeto = this.avaliar(expr.objeto);
534
533
  if (!(objeto instanceof instancia_1.DeleguaInstancia) &&
535
534
  objeto.constructor !== Object) {
@@ -544,11 +543,11 @@ var Interpretador = /** @class */ (function () {
544
543
  objeto[expr.nome.lexema] = valor;
545
544
  }
546
545
  };
547
- Interpretador.prototype.visitFunctionStmt = function (stmt) {
546
+ Interpretador.prototype.visitarExpressaoFuncao = function (stmt) {
548
547
  var funcao = new funcao_1.DeleguaFuncao(stmt.nome.lexema, stmt.funcao, this.ambiente, false);
549
548
  this.ambiente.definirVariavel(stmt.nome.lexema, funcao);
550
549
  };
551
- Interpretador.prototype.visitClassStmt = function (stmt) {
550
+ Interpretador.prototype.visitarExpressaoClasse = function (stmt) {
552
551
  var superClasse = null;
553
552
  if (stmt.superClasse !== null) {
554
553
  superClasse = this.avaliar(stmt.superClasse);
@@ -576,7 +575,7 @@ var Interpretador = /** @class */ (function () {
576
575
  this.ambiente.atribuirVariavel(stmt.nome, criado);
577
576
  return null;
578
577
  };
579
- Interpretador.prototype.visitGetExpr = function (expr) {
578
+ Interpretador.prototype.visitarExpressaoObter = function (expr) {
580
579
  var objeto = this.avaliar(expr.objeto);
581
580
  if (objeto instanceof instancia_1.DeleguaInstancia) {
582
581
  return objeto.get(expr.nome) || null;
@@ -589,24 +588,24 @@ var Interpretador = /** @class */ (function () {
589
588
  }
590
589
  throw new excecoes_1.ErroEmTempoDeExecucao(expr.nome, "Você só pode acessar métodos do objeto e dicionários.");
591
590
  };
592
- Interpretador.prototype.visitThisExpr = function (expr) {
591
+ Interpretador.prototype.visitarExpressaoIsto = function (expr) {
593
592
  return this.procurarVariavel(expr.palavraChave, expr);
594
593
  };
595
- Interpretador.prototype.visitDictionaryExpr = function (expr) {
594
+ Interpretador.prototype.visitarExpressaoDicionario = function (expr) {
596
595
  var dicionario = {};
597
596
  for (var i = 0; i < expr.chaves.length; i++) {
598
597
  dicionario[this.avaliar(expr.chaves[i])] = this.avaliar(expr.valores[i]);
599
598
  }
600
599
  return dicionario;
601
600
  };
602
- Interpretador.prototype.visitArrayExpr = function (expr) {
601
+ Interpretador.prototype.visitarExpressaoVetor = function (expr) {
603
602
  var valores = [];
604
603
  for (var i = 0; i < expr.valores.length; i++) {
605
604
  valores.push(this.avaliar(expr.valores[i]));
606
605
  }
607
606
  return valores;
608
607
  };
609
- Interpretador.prototype.visitSuperExpr = function (expr) {
608
+ Interpretador.prototype.visitarExpressaoSuper = function (expr) {
610
609
  var distancia = this.locais.get(expr);
611
610
  var superClasse = this.ambiente.obterVariavelEm(distancia, "super");
612
611
  var objeto = this.ambiente.obterVariavelEm(distancia - 1, "isto");
@@ -616,7 +615,7 @@ var Interpretador = /** @class */ (function () {
616
615
  }
617
616
  return metodo.bind(objeto);
618
617
  };
619
- Interpretador.prototype.stringify = function (objeto) {
618
+ Interpretador.prototype.paraTexto = function (objeto) {
620
619
  if (objeto === null)
621
620
  return "nulo";
622
621
  if (typeof objeto === "boolean") {
@@ -635,11 +634,11 @@ var Interpretador = /** @class */ (function () {
635
634
  return JSON.stringify(objeto);
636
635
  return objeto.toString();
637
636
  };
638
- Interpretador.prototype.executar = function (stmt, imprimirResultado) {
639
- if (imprimirResultado === void 0) { imprimirResultado = false; }
637
+ Interpretador.prototype.executar = function (stmt, mostrarResultado) {
638
+ if (mostrarResultado === void 0) { mostrarResultado = false; }
640
639
  var resultado = stmt.aceitar(this);
641
- if (imprimirResultado) {
642
- console.log(this.stringify(resultado));
640
+ if (mostrarResultado) {
641
+ console.log(this.paraTexto(resultado));
643
642
  }
644
643
  };
645
644
  Interpretador.prototype.interpretar = function (declaracoes) {
@@ -647,7 +646,7 @@ var Interpretador = /** @class */ (function () {
647
646
  if (declaracoes.length === 1) {
648
647
  var eObjetoExpressao = declaracoes[0].constructor.name === "Expressao";
649
648
  if (eObjetoExpressao) {
650
- this.executar(declaracoes[0], eObjetoExpressao);
649
+ this.executar(declaracoes[0], true);
651
650
  return;
652
651
  }
653
652
  }
@@ -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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"}