@designliquido/delegua 0.1.0 → 0.1.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 (194) hide show
  1. package/bin/delegua +2 -2
  2. package/bin/delegua.cmd +1 -1
  3. package/bin/package.json +51 -0
  4. package/index.js +27 -0
  5. package/index.js.map +1 -0
  6. package/package.json +2 -2
  7. package/src/ambiente.js +49 -0
  8. package/src/ambiente.js.map +1 -0
  9. package/src/avaliador-sintatico/dialetos/egua-classico.js +635 -0
  10. package/src/avaliador-sintatico/dialetos/egua-classico.js.map +1 -0
  11. package/src/avaliador-sintatico/dialetos/index.js +14 -0
  12. package/src/avaliador-sintatico/dialetos/index.js.map +1 -0
  13. package/src/avaliador-sintatico/index.js +635 -0
  14. package/src/avaliador-sintatico/index.js.map +1 -0
  15. package/src/avaliador-sintatico/parser-error.js +27 -0
  16. package/src/avaliador-sintatico/parser-error.js.map +1 -0
  17. package/src/bibliotecas/bibliotecaGlobal.js +97 -0
  18. package/src/bibliotecas/bibliotecaGlobal.js.map +1 -0
  19. package/src/bibliotecas/importarBiblioteca.js +32 -0
  20. package/src/bibliotecas/importarBiblioteca.js.map +1 -0
  21. package/src/construtos/assign-subscript.js +35 -0
  22. package/src/construtos/assign-subscript.js.map +1 -0
  23. package/src/construtos/atribuir.js +34 -0
  24. package/src/construtos/atribuir.js.map +1 -0
  25. package/src/construtos/binario.js +35 -0
  26. package/src/construtos/binario.js.map +1 -0
  27. package/src/construtos/call.js +35 -0
  28. package/src/construtos/call.js.map +1 -0
  29. package/src/construtos/conjunto.js +35 -0
  30. package/src/construtos/conjunto.js.map +1 -0
  31. package/src/construtos/dicionario.js +34 -0
  32. package/src/construtos/dicionario.js.map +1 -0
  33. package/src/construtos/expr.js +11 -0
  34. package/src/construtos/expr.js.map +1 -0
  35. package/src/construtos/funcao.js +34 -0
  36. package/src/construtos/funcao.js.map +1 -0
  37. package/src/construtos/get.js +34 -0
  38. package/src/construtos/get.js.map +1 -0
  39. package/src/construtos/grouping.js +33 -0
  40. package/src/construtos/grouping.js.map +1 -0
  41. package/src/construtos/index.js +31 -0
  42. package/src/construtos/index.js.map +1 -0
  43. package/src/construtos/isto.js +33 -0
  44. package/src/construtos/isto.js.map +1 -0
  45. package/src/construtos/literal.js +33 -0
  46. package/src/construtos/literal.js.map +1 -0
  47. package/src/construtos/logical.js +35 -0
  48. package/src/construtos/logical.js.map +1 -0
  49. package/src/construtos/subscript.js +35 -0
  50. package/src/construtos/subscript.js.map +1 -0
  51. package/src/construtos/super.js +34 -0
  52. package/src/construtos/super.js.map +1 -0
  53. package/src/construtos/unario.js +34 -0
  54. package/src/construtos/unario.js.map +1 -0
  55. package/src/construtos/variavel.js +33 -0
  56. package/src/construtos/variavel.js.map +1 -0
  57. package/src/construtos/vetor.js +33 -0
  58. package/src/construtos/vetor.js.map +1 -0
  59. package/src/declaracoes/index.js +249 -0
  60. package/src/declaracoes/index.js.map +1 -0
  61. package/src/delegua.js +132 -0
  62. package/src/delegua.js.map +1 -0
  63. package/src/estruturas/callable.js +16 -0
  64. package/src/estruturas/callable.js.map +1 -0
  65. package/src/estruturas/classe.js +57 -0
  66. package/src/estruturas/classe.js.map +1 -0
  67. package/src/estruturas/funcao-padrao.js +38 -0
  68. package/src/estruturas/funcao-padrao.js.map +1 -0
  69. package/src/estruturas/funcao.js +81 -0
  70. package/src/estruturas/funcao.js.map +1 -0
  71. package/src/estruturas/index.js +19 -0
  72. package/src/estruturas/index.js.map +1 -0
  73. package/src/estruturas/instancia.js +28 -0
  74. package/src/estruturas/instancia.js.map +1 -0
  75. package/src/estruturas/modulo.js +15 -0
  76. package/src/estruturas/modulo.js.map +1 -0
  77. package/src/excecoes/break-exception.js +27 -0
  78. package/src/excecoes/break-exception.js.map +1 -0
  79. package/src/excecoes/continue-exception.js +27 -0
  80. package/src/excecoes/continue-exception.js.map +1 -0
  81. package/src/excecoes/erro-em-tempo-de-execucao.js +31 -0
  82. package/src/excecoes/erro-em-tempo-de-execucao.js.map +1 -0
  83. package/src/excecoes/index.js +17 -0
  84. package/src/excecoes/index.js.map +1 -0
  85. package/src/excecoes/return-exception.js +30 -0
  86. package/src/excecoes/return-exception.js.map +1 -0
  87. package/src/interfaces/avaliador-sintatico-interface.js +3 -0
  88. package/src/interfaces/avaliador-sintatico-interface.js.map +1 -0
  89. package/src/interfaces/index.js +19 -0
  90. package/src/interfaces/index.js.map +1 -0
  91. package/src/interfaces/interpretador-interface.js +3 -0
  92. package/src/interfaces/interpretador-interface.js.map +1 -0
  93. package/src/interfaces/lexador-interface.js +3 -0
  94. package/src/interfaces/lexador-interface.js.map +1 -0
  95. package/src/interfaces/pilha-interface.js +3 -0
  96. package/src/interfaces/pilha-interface.js.map +1 -0
  97. package/src/interfaces/resolvedor-interface.js +3 -0
  98. package/src/interfaces/resolvedor-interface.js.map +1 -0
  99. package/src/interfaces/simbolo-interface.js +3 -0
  100. package/src/interfaces/simbolo-interface.js.map +1 -0
  101. package/src/interpretador/dialetos/egua-classico.js +665 -0
  102. package/src/interpretador/dialetos/egua-classico.js.map +1 -0
  103. package/src/interpretador/dialetos/index.js +14 -0
  104. package/src/interpretador/dialetos/index.js.map +1 -0
  105. package/src/interpretador/index.js +665 -0
  106. package/src/interpretador/index.js.map +1 -0
  107. package/src/lexador/dialetos/egua-classico.js +287 -0
  108. package/src/lexador/dialetos/egua-classico.js.map +1 -0
  109. package/src/lexador/dialetos/index.js +14 -0
  110. package/src/lexador/dialetos/index.js.map +1 -0
  111. package/src/lexador/index.js +287 -0
  112. package/src/lexador/index.js.map +1 -0
  113. package/src/resolvedor/Pilha.js +27 -0
  114. package/src/resolvedor/Pilha.js.map +1 -0
  115. package/src/resolvedor/ResolverError.js +29 -0
  116. package/src/resolvedor/ResolverError.js.map +1 -0
  117. package/src/resolvedor/{index.ts → dialetos/egua-classico.js} +147 -228
  118. package/src/resolvedor/dialetos/egua-classico.js.map +1 -0
  119. package/src/resolvedor/dialetos/index.js +14 -0
  120. package/src/resolvedor/dialetos/index.js.map +1 -0
  121. package/src/resolvedor/{dialetos/egua-classico.ts → index.js} +147 -228
  122. package/src/resolvedor/index.js.map +1 -0
  123. package/src/{tiposDeSimbolos.ts → tiposDeSimbolos.js} +5 -2
  124. package/src/tiposDeSimbolos.js.map +1 -0
  125. package/src/web.js +66 -0
  126. package/src/web.js.map +1 -0
  127. package/.github/CONTRIBUTING.md +0 -37
  128. package/.github/workflows/principal.yml +0 -22
  129. package/.release-it.json +0 -9
  130. package/.vscode/launch.json +0 -64
  131. package/.vscode/settings.json +0 -3
  132. package/LICENSE +0 -21
  133. package/README.md +0 -66
  134. package/babel.config.js +0 -1
  135. package/index.ts +0 -29
  136. package/src/ambiente.ts +0 -56
  137. package/src/avaliador-sintatico/dialetos/egua-classico.ts +0 -983
  138. package/src/avaliador-sintatico/dialetos/index.ts +0 -1
  139. package/src/avaliador-sintatico/index.ts +0 -983
  140. package/src/avaliador-sintatico/parser-error.ts +0 -1
  141. package/src/bibliotecas/bibliotecaGlobal.ts +0 -171
  142. package/src/bibliotecas/importarBiblioteca.ts +0 -32
  143. package/src/construtos/assign-subscript.ts +0 -19
  144. package/src/construtos/atribuir.ts +0 -17
  145. package/src/construtos/binario.ts +0 -19
  146. package/src/construtos/call.ts +0 -19
  147. package/src/construtos/conjunto.ts +0 -19
  148. package/src/construtos/dicionario.ts +0 -17
  149. package/src/construtos/expr.ts +0 -3
  150. package/src/construtos/funcao.ts +0 -17
  151. package/src/construtos/get.ts +0 -17
  152. package/src/construtos/grouping.ts +0 -15
  153. package/src/construtos/index.ts +0 -18
  154. package/src/construtos/isto.ts +0 -15
  155. package/src/construtos/literal.ts +0 -15
  156. package/src/construtos/logical.ts +0 -19
  157. package/src/construtos/subscript.ts +0 -19
  158. package/src/construtos/super.ts +0 -17
  159. package/src/construtos/unario.ts +0 -17
  160. package/src/construtos/variavel.ts +0 -15
  161. package/src/construtos/vetor.ts +0 -15
  162. package/src/declaracoes/index.ts +0 -243
  163. package/src/delegua.ts +0 -156
  164. package/src/estruturas/callable.ts +0 -11
  165. package/src/estruturas/classe.ts +0 -47
  166. package/src/estruturas/funcao-padrao.ts +0 -22
  167. package/src/estruturas/funcao.ts +0 -70
  168. package/src/estruturas/index.ts +0 -6
  169. package/src/estruturas/instancia.ts +0 -30
  170. package/src/estruturas/modulo.ts +0 -11
  171. package/src/excecoes/break-exception.ts +0 -1
  172. package/src/excecoes/continue-exception.ts +0 -1
  173. package/src/excecoes/erro-em-tempo-de-execucao.ts +0 -11
  174. package/src/excecoes/index.ts +0 -4
  175. package/src/excecoes/return-exception.ts +0 -10
  176. package/src/interfaces/avaliador-sintatico-interface.ts +0 -58
  177. package/src/interfaces/index.ts +0 -6
  178. package/src/interfaces/interpretador-interface.ts +0 -52
  179. package/src/interfaces/lexador-interface.ts +0 -24
  180. package/src/interfaces/pilha-interface.ts +0 -7
  181. package/src/interfaces/resolvedor-interface.ts +0 -49
  182. package/src/interfaces/simbolo-interface.ts +0 -6
  183. package/src/interpretador/dialetos/egua-classico.ts +0 -825
  184. package/src/interpretador/dialetos/index.ts +0 -1
  185. package/src/interpretador/index.ts +0 -825
  186. package/src/lexador/dialetos/egua-classico.ts +0 -333
  187. package/src/lexador/dialetos/index.ts +0 -1
  188. package/src/lexador/index.ts +0 -333
  189. package/src/resolvedor/Pilha.ts +0 -29
  190. package/src/resolvedor/ResolverError.ts +0 -8
  191. package/src/resolvedor/dialetos/index.ts +0 -1
  192. package/src/web.ts +0 -75
  193. package/testes/testes.egua +0 -630
  194. package/tsconfig.json +0 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lexador/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Pilha = void 0;
4
+ var Pilha = /** @class */ (function () {
5
+ function Pilha() {
6
+ this.pilha = [];
7
+ }
8
+ Pilha.prototype.empilhar = function (item) {
9
+ this.pilha.push(item);
10
+ };
11
+ Pilha.prototype.eVazio = function () {
12
+ return this.pilha.length === 0;
13
+ };
14
+ Pilha.prototype.peek = function () {
15
+ if (this.eVazio())
16
+ throw new Error("Pilha vazia.");
17
+ return this.pilha[this.pilha.length - 1];
18
+ };
19
+ Pilha.prototype.removerUltimo = function () {
20
+ if (this.eVazio())
21
+ throw new Error("Pilha vazia.");
22
+ return this.pilha.pop();
23
+ };
24
+ return Pilha;
25
+ }());
26
+ exports.Pilha = Pilha;
27
+ //# sourceMappingURL=Pilha.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pilha.js","sourceRoot":"","sources":["../../../src/resolvedor/Pilha.ts"],"names":[],"mappings":";;;AAEA;IAGI;QACI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,wBAAQ,GAAR,UAAS,IAAI;QACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,sBAAM,GAAN;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,oBAAI,GAAJ;QACI,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,6BAAa,GAAb;QACI,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IACL,YAAC;AAAD,CAAC,AA1BD,IA0BC;AA1BY,sBAAK"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ResolverError = void 0;
19
+ var ResolverError = /** @class */ (function (_super) {
20
+ __extends(ResolverError, _super);
21
+ function ResolverError(mensagem) {
22
+ var _this = _super.call(this, mensagem) || this;
23
+ _this.mensagem = mensagem;
24
+ return _this;
25
+ }
26
+ return ResolverError;
27
+ }(Error));
28
+ exports.ResolverError = ResolverError;
29
+ //# sourceMappingURL=ResolverError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResolverError.js","sourceRoot":"","sources":["../../../src/resolvedor/ResolverError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAAmC,iCAAK;IAGpC,uBAAY,QAAQ;QAApB,YACI,kBAAM,QAAQ,CAAC,SAElB;QADG,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;;IAC7B,CAAC;IACL,oBAAC;AAAD,CAAC,AAPD,CAAmC,KAAK,GAOvC;AAPY,sCAAa"}
@@ -1,303 +1,238 @@
1
- import { ResolvedorInterface } from "../interfaces/resolvedor-interface";
2
- import { Pilha } from "./Pilha";
3
- import { ResolverError } from "./ResolverError";
4
-
5
- const TipoFuncao = {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResolverEguaClassico = void 0;
4
+ var Pilha_1 = require("../Pilha");
5
+ var ResolverError_1 = require("../ResolverError");
6
+ var TipoFuncao = {
6
7
  NENHUM: "NENHUM",
7
8
  FUNCAO: "FUNCAO",
8
9
  CONSTRUTOR: "CONSTRUTOR",
9
10
  METODO: "METODO"
10
11
  };
11
-
12
- const TipoClasse = {
12
+ var TipoClasse = {
13
13
  NENHUM: "NENHUM",
14
14
  CLASSE: "CLASSE",
15
15
  SUBCLASSE: "SUBCLASSE"
16
16
  };
17
-
18
- const LoopType = {
17
+ var LoopType = {
19
18
  NENHUM: "NENHUM",
20
19
  ENQUANTO: "ENQUANTO",
21
20
  ESCOLHA: "ESCOLHA",
22
21
  PARA: "PARA",
23
22
  FAZER: "FAZER"
24
23
  };
25
-
26
24
  /**
27
- * O Resolvedor (Resolver) é responsável por catalogar todos os identificadores complexos, como por exemplo: funções, classes, variáveis,
28
- * e delimitar os escopos onde esses identificadores existem.
25
+ * O Resolvedor (Resolver) é responsável por catalogar todos os identificadores complexos, como por exemplo: funções, classes, variáveis,
26
+ * e delimitar os escopos onde esses identificadores existem.
29
27
  * Exemplo: uma classe A declara dois métodos chamados M e N. Todas as variáveis declaradas dentro de M não podem ser vistas por N, e vice-versa.
30
28
  * No entanto, todas as variáveis declaradas dentro da classe A podem ser vistas tanto por M quanto por N.
31
29
  */
32
- export class Resolver implements ResolvedorInterface {
33
- interpretador: any;
34
- Delegua: any;
35
- escopos: any;
36
- FuncaoAtual: any;
37
- ClasseAtual: any;
38
- cicloAtual: any;
39
-
40
- constructor(Delegua: any, interpretador: any) {
30
+ var ResolverEguaClassico = /** @class */ (function () {
31
+ function ResolverEguaClassico(Delegua, interpretador) {
41
32
  this.interpretador = interpretador;
42
33
  this.Delegua = Delegua;
43
- this.escopos = new Pilha();
44
-
34
+ this.escopos = new Pilha_1.Pilha();
45
35
  this.FuncaoAtual = TipoFuncao.NENHUM;
46
36
  this.ClasseAtual = TipoClasse.NENHUM;
47
37
  this.cicloAtual = TipoClasse.NENHUM;
48
38
  }
49
-
50
- definir(nome: any): void {
51
- if (this.escopos.eVazio()) return;
39
+ ResolverEguaClassico.prototype.definir = function (nome) {
40
+ if (this.escopos.eVazio())
41
+ return;
52
42
  this.escopos.peek()[nome.lexema] = true;
53
- }
54
-
55
- declarar(nome: any): void {
56
- if (this.escopos.eVazio()) return;
57
- let escopo = this.escopos.peek();
43
+ };
44
+ ResolverEguaClassico.prototype.declarar = function (nome) {
45
+ if (this.escopos.eVazio())
46
+ return;
47
+ var escopo = this.escopos.peek();
58
48
  if (escopo.hasOwnProperty(nome.lexema))
59
- this.Delegua.erro(
60
- nome,
61
- "Variável com esse nome já declarada neste escopo."
62
- );
49
+ this.Delegua.erro(nome, "Variável com esse nome já declarada neste escopo.");
63
50
  escopo[nome.lexema] = false;
64
- }
65
-
66
- inicioDoEscopo(): void {
51
+ };
52
+ ResolverEguaClassico.prototype.inicioDoEscopo = function () {
67
53
  this.escopos.empilhar({});
68
- }
69
-
70
- finalDoEscopo(): void {
54
+ };
55
+ ResolverEguaClassico.prototype.finalDoEscopo = function () {
71
56
  this.escopos.removerUltimo();
72
- }
73
-
74
- resolver(declaracoes: any): void {
57
+ };
58
+ ResolverEguaClassico.prototype.resolver = function (declaracoes) {
75
59
  if (Array.isArray(declaracoes)) {
76
- for (let i = 0; i < declaracoes.length; i++) {
60
+ for (var i = 0; i < declaracoes.length; i++) {
77
61
  if (declaracoes[i] && declaracoes[i].aceitar) {
78
62
  declaracoes[i].aceitar(this);
79
63
  }
80
64
  }
81
- } else if (declaracoes) {
65
+ }
66
+ else if (declaracoes) {
82
67
  declaracoes.aceitar(this);
83
68
  }
84
- }
85
-
86
- resolverLocal(expr: any, nome: any): void {
87
- for (let i = this.escopos.pilha.length - 1; i >= 0; i--) {
69
+ };
70
+ ResolverEguaClassico.prototype.resolverLocal = function (expr, nome) {
71
+ for (var i = this.escopos.pilha.length - 1; i >= 0; i--) {
88
72
  if (this.escopos.pilha[i].hasOwnProperty(nome.lexema)) {
89
73
  this.interpretador.resolver(expr, this.escopos.pilha.length - 1 - i);
90
74
  }
91
75
  }
92
- }
93
-
94
- visitBlockStmt(stmt: any) : any {
76
+ };
77
+ ResolverEguaClassico.prototype.visitBlockStmt = function (stmt) {
95
78
  this.inicioDoEscopo();
96
79
  this.resolver(stmt.declaracoes);
97
80
  this.finalDoEscopo();
98
81
  return null;
99
- }
100
-
101
- visitVariableExpr(expr: any): any {
102
- if (
103
- !this.escopos.eVazio() &&
104
- this.escopos.peek()[expr.nome.lexema] === false
105
- ) {
106
- throw new ResolverError(
107
- "Não é possível ler a variável local em seu próprio inicializador."
108
- );
82
+ };
83
+ ResolverEguaClassico.prototype.visitVariableExpr = function (expr) {
84
+ if (!this.escopos.eVazio() &&
85
+ this.escopos.peek()[expr.nome.lexema] === false) {
86
+ throw new ResolverError_1.ResolverError("Não é possível ler a variável local em seu próprio inicializador.");
109
87
  }
110
88
  this.resolverLocal(expr, expr.nome);
111
89
  return null;
112
- }
113
-
114
- visitVarStmt(stmt: any): any {
90
+ };
91
+ ResolverEguaClassico.prototype.visitVarStmt = function (stmt) {
115
92
  this.declarar(stmt.nome);
116
93
  if (stmt.inicializador !== null) {
117
94
  this.resolver(stmt.inicializador);
118
95
  }
119
96
  this.definir(stmt.nome);
120
97
  return null;
121
- }
122
-
123
- visitAssignExpr(expr: any): any {
98
+ };
99
+ ResolverEguaClassico.prototype.visitAssignExpr = function (expr) {
124
100
  this.resolver(expr.valor);
125
101
  this.resolverLocal(expr, expr.nome);
126
102
  return null;
127
- }
128
-
129
- resolverFuncao(funcao: any, funcType: any): void {
130
- let enclosingFunc = this.FuncaoAtual;
103
+ };
104
+ ResolverEguaClassico.prototype.resolverFuncao = function (funcao, funcType) {
105
+ var enclosingFunc = this.FuncaoAtual;
131
106
  this.FuncaoAtual = funcType;
132
-
133
107
  this.inicioDoEscopo();
134
- let parametros = funcao.parametros;
135
-
108
+ var parametros = funcao.parametros;
136
109
  if (parametros && parametros.length > 0) {
137
- for (let i = 0; i < parametros.length; i++) {
110
+ for (var i = 0; i < parametros.length; i++) {
138
111
  this.declarar(parametros[i]["nome"]);
139
112
  this.definir(parametros[i]["nome"]);
140
113
  }
141
114
  }
142
-
143
115
  this.resolver(funcao.funcao);
144
116
  this.finalDoEscopo();
145
-
146
117
  this.FuncaoAtual = enclosingFunc;
147
- }
148
-
149
- visitFunctionStmt(stmt: any): any {
118
+ };
119
+ ResolverEguaClassico.prototype.visitFunctionStmt = function (stmt) {
150
120
  this.declarar(stmt.nome);
151
121
  this.definir(stmt.nome);
152
-
153
122
  this.resolverFuncao(stmt.funcao, TipoFuncao.FUNCAO);
154
123
  return null;
155
- }
156
-
157
- visitFunctionExpr(stmt: any): any {
124
+ };
125
+ ResolverEguaClassico.prototype.visitFunctionExpr = function (stmt) {
158
126
  this.resolverFuncao(stmt, TipoFuncao.FUNCAO);
159
127
  return null;
160
- }
161
-
162
- visitTryStmt(stmt: any): any {
128
+ };
129
+ ResolverEguaClassico.prototype.visitTryStmt = function (stmt) {
163
130
  this.resolver(stmt.tryBranch);
164
-
165
- if (stmt.catchBranch !== null) this.resolver(stmt.catchBranch);
166
- if (stmt.elseBranch !== null) this.resolver(stmt.elseBranch);
167
- if (stmt.finallyBranch !== null) this.resolver(stmt.finallyBranch);
168
- }
169
-
170
- visitClassStmt(stmt: any): any {
171
- let enclosingClass = this.ClasseAtual;
131
+ if (stmt.catchBranch !== null)
132
+ this.resolver(stmt.catchBranch);
133
+ if (stmt.elseBranch !== null)
134
+ this.resolver(stmt.elseBranch);
135
+ if (stmt.finallyBranch !== null)
136
+ this.resolver(stmt.finallyBranch);
137
+ };
138
+ ResolverEguaClassico.prototype.visitClassStmt = function (stmt) {
139
+ var enclosingClass = this.ClasseAtual;
172
140
  this.ClasseAtual = TipoClasse.CLASSE;
173
-
174
141
  this.declarar(stmt.nome);
175
142
  this.definir(stmt.nome);
176
-
177
- if (
178
- stmt.superClasse !== null &&
179
- stmt.nome.lexema === stmt.superClasse.nome.lexema
180
- ) {
143
+ if (stmt.superClasse !== null &&
144
+ stmt.nome.lexema === stmt.superClasse.nome.lexema) {
181
145
  this.Delegua.error("Uma classe não pode herdar de si mesma.");
182
146
  }
183
-
184
147
  if (stmt.superClasse !== null) {
185
148
  this.ClasseAtual = TipoClasse.SUBCLASSE;
186
149
  this.resolver(stmt.superClasse);
187
150
  }
188
-
189
151
  if (stmt.superClasse !== null) {
190
152
  this.inicioDoEscopo();
191
153
  this.escopos.peek()["super"] = true;
192
154
  }
193
-
194
155
  this.inicioDoEscopo();
195
156
  this.escopos.peek()["isto"] = true;
196
-
197
- let metodos = stmt.metodos;
198
- for (let i = 0; i < metodos.length; i++) {
199
- let declaracao = TipoFuncao.METODO;
200
-
157
+ var metodos = stmt.metodos;
158
+ for (var i = 0; i < metodos.length; i++) {
159
+ var declaracao = TipoFuncao.METODO;
201
160
  if (metodos[i].nome.lexema === "isto") {
202
161
  declaracao = TipoFuncao.CONSTRUTOR;
203
162
  }
204
-
205
163
  this.resolverFuncao(metodos[i].funcao, declaracao);
206
164
  }
207
-
208
165
  this.finalDoEscopo();
209
-
210
- if (stmt.superClasse !== null) this.finalDoEscopo();
211
-
166
+ if (stmt.superClasse !== null)
167
+ this.finalDoEscopo();
212
168
  this.ClasseAtual = enclosingClass;
213
169
  return null;
214
- }
215
-
216
- visitSuperExpr(expr: any): any {
170
+ };
171
+ ResolverEguaClassico.prototype.visitSuperExpr = function (expr) {
217
172
  if (this.ClasseAtual === TipoClasse.NENHUM) {
218
173
  this.Delegua.error(expr.palavraChave, "Não pode usar 'super' fora de uma classe.");
219
- } else if (this.ClasseAtual !== TipoClasse.SUBCLASSE) {
220
- this.Delegua.error(
221
- expr.palavraChave,
222
- "Não se usa 'super' numa classe sem SuperClasse."
223
- );
224
174
  }
225
-
175
+ else if (this.ClasseAtual !== TipoClasse.SUBCLASSE) {
176
+ this.Delegua.error(expr.palavraChave, "Não se usa 'super' numa classe sem SuperClasse.");
177
+ }
226
178
  this.resolverLocal(expr, expr.palavraChave);
227
179
  return null;
228
- }
229
-
230
- visitGetExpr(expr: any): any {
180
+ };
181
+ ResolverEguaClassico.prototype.visitGetExpr = function (expr) {
231
182
  this.resolver(expr.objeto);
232
183
  return null;
233
- }
234
-
235
- visitExpressionStmt(stmt: any): any {
184
+ };
185
+ ResolverEguaClassico.prototype.visitExpressionStmt = function (stmt) {
236
186
  this.resolver(stmt.expressao);
237
187
  return null;
238
- }
239
-
240
- visitIfStmt(stmt: any): any {
188
+ };
189
+ ResolverEguaClassico.prototype.visitIfStmt = function (stmt) {
241
190
  this.resolver(stmt.condicao);
242
191
  this.resolver(stmt.thenBranch);
243
-
244
- for (let i = 0; i < stmt.elifBranches.length; i++) {
192
+ for (var i = 0; i < stmt.elifBranches.length; i++) {
245
193
  this.resolver(stmt.elifBranches[i].condicao);
246
194
  this.resolver(stmt.elifBranches[i].branch);
247
195
  }
248
-
249
- if (stmt.elseBranch !== null) this.resolver(stmt.elseBranch);
196
+ if (stmt.elseBranch !== null)
197
+ this.resolver(stmt.elseBranch);
250
198
  return null;
251
- }
252
-
253
- visitImportStmt(stmt: any): void {
199
+ };
200
+ ResolverEguaClassico.prototype.visitImportStmt = function (stmt) {
254
201
  this.resolver(stmt.caminho);
255
- }
256
-
257
- visitPrintStmt(stmt: any): void {
202
+ };
203
+ ResolverEguaClassico.prototype.visitPrintStmt = function (stmt) {
258
204
  this.resolver(stmt.expressao);
259
- }
260
-
261
- visitReturnStmt(stmt: any): any {
205
+ };
206
+ ResolverEguaClassico.prototype.visitReturnStmt = function (stmt) {
262
207
  if (this.FuncaoAtual === TipoFuncao.NENHUM) {
263
208
  this.Delegua.error(stmt.palavraChave, "Não é possível retornar do código do escopo superior.");
264
209
  }
265
-
266
210
  if (stmt.valor !== null) {
267
211
  if (this.FuncaoAtual === TipoFuncao.CONSTRUTOR) {
268
- this.Delegua.error(
269
- stmt.palavraChave,
270
- "Não pode retornar o valor do construtor."
271
- );
212
+ this.Delegua.error(stmt.palavraChave, "Não pode retornar o valor do construtor.");
272
213
  }
273
214
  this.resolver(stmt.valor);
274
215
  }
275
216
  return null;
276
- }
277
-
278
- visitSwitchStmt(stmt: any): void {
279
- let enclosingType = this.cicloAtual;
217
+ };
218
+ ResolverEguaClassico.prototype.visitSwitchStmt = function (stmt) {
219
+ var enclosingType = this.cicloAtual;
280
220
  this.cicloAtual = LoopType.ESCOLHA;
281
-
282
- let branches = stmt.branches;
283
- let defaultBranch = stmt.defaultBranch;
284
-
285
- for (let i = 0; i < branches.length; i++) {
221
+ var branches = stmt.branches;
222
+ var defaultBranch = stmt.defaultBranch;
223
+ for (var i = 0; i < branches.length; i++) {
286
224
  this.resolver(branches[i]["stmts"]);
287
225
  }
288
-
289
- if (defaultBranch !== null) this.resolver(defaultBranch["stmts"]);
290
-
226
+ if (defaultBranch !== null)
227
+ this.resolver(defaultBranch["stmts"]);
291
228
  this.cicloAtual = enclosingType;
292
- }
293
-
294
- visitWhileStmt(stmt: any): any {
229
+ };
230
+ ResolverEguaClassico.prototype.visitWhileStmt = function (stmt) {
295
231
  this.resolver(stmt.condicao);
296
232
  this.resolver(stmt.corpo);
297
233
  return null;
298
- }
299
-
300
- visitForStmt(stmt: any): any {
234
+ };
235
+ ResolverEguaClassico.prototype.visitForStmt = function (stmt) {
301
236
  if (stmt.inicializador !== null) {
302
237
  this.resolver(stmt.inicializador);
303
238
  }
@@ -307,106 +242,90 @@ export class Resolver implements ResolvedorInterface {
307
242
  if (stmt.incrementar !== null) {
308
243
  this.resolver(stmt.incrementar);
309
244
  }
310
-
311
- let enclosingType = this.cicloAtual;
245
+ var enclosingType = this.cicloAtual;
312
246
  this.cicloAtual = LoopType.ENQUANTO;
313
247
  this.resolver(stmt.corpo);
314
248
  this.cicloAtual = enclosingType;
315
-
316
249
  return null;
317
- }
318
-
319
- visitDoStmt(stmt: any): any {
250
+ };
251
+ ResolverEguaClassico.prototype.visitDoStmt = function (stmt) {
320
252
  this.resolver(stmt.whileCondition);
321
-
322
- let enclosingType = this.cicloAtual;
253
+ var enclosingType = this.cicloAtual;
323
254
  this.cicloAtual = LoopType.FAZER;
324
255
  this.resolver(stmt.doBranch);
325
256
  this.cicloAtual = enclosingType;
326
257
  return null;
327
- }
328
-
329
- visitBinaryExpr(expr: any): any {
258
+ };
259
+ ResolverEguaClassico.prototype.visitBinaryExpr = function (expr) {
330
260
  this.resolver(expr.esquerda);
331
261
  this.resolver(expr.direita);
332
262
  return null;
333
- }
334
-
335
- visitCallExpr(expr: any): any {
263
+ };
264
+ ResolverEguaClassico.prototype.visitCallExpr = function (expr) {
336
265
  this.resolver(expr.callee);
337
-
338
- let argumentos = expr.argumentos;
339
- for (let i = 0; i < argumentos.length; i++) {
266
+ var argumentos = expr.argumentos;
267
+ for (var i = 0; i < argumentos.length; i++) {
340
268
  this.resolver(argumentos[i]);
341
269
  }
342
-
343
270
  return null;
344
- }
345
-
346
- visitGroupingExpr(expr: any): any {
271
+ };
272
+ ResolverEguaClassico.prototype.visitGroupingExpr = function (expr) {
347
273
  this.resolver(expr.expressao);
348
274
  return null;
349
- }
350
-
351
- visitDictionaryExpr(expr: any): any {
352
- for (let i = 0; i < expr.chaves.length; i++) {
275
+ };
276
+ ResolverEguaClassico.prototype.visitDictionaryExpr = function (expr) {
277
+ for (var i = 0; i < expr.chaves.length; i++) {
353
278
  this.resolver(expr.chaves[i]);
354
279
  this.resolver(expr.valores[i]);
355
280
  }
356
281
  return null;
357
- }
358
-
359
- visitArrayExpr(expr: any): any {
360
- for (let i = 0; i < expr.valores.length; i++) {
282
+ };
283
+ ResolverEguaClassico.prototype.visitArrayExpr = function (expr) {
284
+ for (var i = 0; i < expr.valores.length; i++) {
361
285
  this.resolver(expr.valores[i]);
362
286
  }
363
287
  return null;
364
- }
365
-
366
- visitSubscriptExpr(expr: any): any {
288
+ };
289
+ ResolverEguaClassico.prototype.visitSubscriptExpr = function (expr) {
367
290
  this.resolver(expr.callee);
368
291
  this.resolver(expr.indice);
369
292
  return null;
370
- }
371
-
372
- visitContinueStmt(stmt?: any): any {
293
+ };
294
+ ResolverEguaClassico.prototype.visitContinueStmt = function (stmt) {
373
295
  return null;
374
- }
375
-
376
- visitBreakStmt(stmt?: any): any {
296
+ };
297
+ ResolverEguaClassico.prototype.visitBreakStmt = function (stmt) {
377
298
  return null;
378
- }
379
-
380
- visitAssignsubscriptExpr(expr?: any): any {
299
+ };
300
+ ResolverEguaClassico.prototype.visitAssignsubscriptExpr = function (expr) {
381
301
  return null;
382
- }
383
-
384
- visitLiteralExpr(expr?: any): any {
302
+ };
303
+ ResolverEguaClassico.prototype.visitLiteralExpr = function (expr) {
385
304
  return null;
386
- }
387
-
388
- visitLogicalExpr(expr?: any): any {
305
+ };
306
+ ResolverEguaClassico.prototype.visitLogicalExpr = function (expr) {
389
307
  this.resolver(expr.esquerda);
390
308
  this.resolver(expr.direita);
391
309
  return null;
392
- }
393
-
394
- visitUnaryExpr(expr?: any): any {
310
+ };
311
+ ResolverEguaClassico.prototype.visitUnaryExpr = function (expr) {
395
312
  this.resolver(expr.direita);
396
313
  return null;
397
- }
398
-
399
- visitSetExpr(expr?: any): any {
314
+ };
315
+ ResolverEguaClassico.prototype.visitSetExpr = function (expr) {
400
316
  this.resolver(expr.valor);
401
317
  this.resolver(expr.objeto);
402
318
  return null;
403
- }
404
-
405
- visitThisExpr(expr?: any): any {
319
+ };
320
+ ResolverEguaClassico.prototype.visitThisExpr = function (expr) {
406
321
  if (this.ClasseAtual == TipoClasse.NENHUM) {
407
322
  this.Delegua.error(expr.palavraChave, "Não pode usar 'isto' fora da classe.");
408
323
  }
409
324
  this.resolverLocal(expr, expr.palavraChave);
410
325
  return null;
411
- }
412
- };
326
+ };
327
+ return ResolverEguaClassico;
328
+ }());
329
+ exports.ResolverEguaClassico = ResolverEguaClassico;
330
+ ;
331
+ //# sourceMappingURL=egua-classico.js.map