@designliquido/delegua 0.7.6 → 0.8.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 (261) hide show
  1. package/bin/package.json +78 -65
  2. package/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +63 -0
  3. package/fontes/avaliador-sintatico/avaliador-sintatico-base.js +180 -0
  4. package/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -0
  5. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +5 -4
  6. package/fontes/avaliador-sintatico/avaliador-sintatico.js +189 -188
  7. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  8. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +34 -32
  9. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +154 -148
  10. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
  11. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.d.ts +13 -12
  12. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +144 -142
  13. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -1
  14. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.d.ts +48 -0
  15. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js +297 -0
  16. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js.map +1 -0
  17. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +1 -1
  18. package/fontes/avaliador-sintatico/retornos/index.d.ts +3 -0
  19. package/fontes/avaliador-sintatico/retornos/index.js +20 -0
  20. package/fontes/avaliador-sintatico/retornos/index.js.map +1 -0
  21. package/fontes/avaliador-sintatico/retornos/retorno-declaracao.d.ts +3 -0
  22. package/fontes/avaliador-sintatico/retornos/retorno-declaracao.js +3 -0
  23. package/fontes/avaliador-sintatico/retornos/retorno-declaracao.js.map +1 -0
  24. package/fontes/avaliador-sintatico/retornos/retorno-primario.d.ts +3 -0
  25. package/fontes/avaliador-sintatico/retornos/retorno-primario.js +3 -0
  26. package/fontes/avaliador-sintatico/retornos/retorno-primario.js.map +1 -0
  27. package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.d.ts +2 -0
  28. package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.js +3 -0
  29. package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.js.map +1 -0
  30. package/fontes/bibliotecas/biblioteca-global.d.ts +2 -2
  31. package/fontes/bibliotecas/biblioteca-global.js +112 -57
  32. package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
  33. package/fontes/bibliotecas/importar-biblioteca.d.ts +1 -1
  34. package/fontes/bibliotecas/importar-biblioteca.js +13 -14
  35. package/fontes/bibliotecas/importar-biblioteca.js.map +1 -1
  36. package/fontes/bibliotecas/primitivas-texto.js +13 -7
  37. package/fontes/bibliotecas/primitivas-texto.js.map +1 -1
  38. package/fontes/bibliotecas/primitivas-vetor.js +25 -11
  39. package/fontes/bibliotecas/primitivas-vetor.js.map +1 -1
  40. package/fontes/construtos/acesso-indice-variavel.d.ts +2 -2
  41. package/fontes/construtos/acesso-indice-variavel.js.map +1 -1
  42. package/fontes/construtos/acesso-metodo.d.ts +2 -2
  43. package/fontes/construtos/acesso-metodo.js.map +1 -1
  44. package/fontes/construtos/agrupamento.d.ts +2 -2
  45. package/fontes/construtos/atribuicao-sobrescrita.d.ts +1 -1
  46. package/fontes/construtos/atribuicao-sobrescrita.js.map +1 -1
  47. package/fontes/construtos/atribuir.d.ts +2 -2
  48. package/fontes/construtos/atribuir.js.map +1 -1
  49. package/fontes/construtos/binario.d.ts +2 -2
  50. package/fontes/construtos/binario.js.map +1 -1
  51. package/fontes/construtos/chamada.d.ts +2 -2
  52. package/fontes/construtos/chamada.js.map +1 -1
  53. package/fontes/construtos/conjunto.d.ts +1 -1
  54. package/fontes/construtos/conjunto.js.map +1 -1
  55. package/fontes/construtos/construto.d.ts +1 -0
  56. package/fontes/construtos/dicionario.d.ts +1 -1
  57. package/fontes/construtos/dicionario.js.map +1 -1
  58. package/fontes/construtos/funcao.d.ts +2 -2
  59. package/fontes/construtos/funcao.js.map +1 -1
  60. package/fontes/construtos/index.d.ts +18 -18
  61. package/fontes/construtos/isto.d.ts +1 -1
  62. package/fontes/construtos/isto.js.map +1 -1
  63. package/fontes/construtos/literal.d.ts +5 -4
  64. package/fontes/construtos/literal.js.map +1 -1
  65. package/fontes/construtos/logico.d.ts +1 -1
  66. package/fontes/construtos/logico.js.map +1 -1
  67. package/fontes/construtos/super.d.ts +4 -4
  68. package/fontes/construtos/super.js.map +1 -1
  69. package/fontes/construtos/unario.d.ts +1 -1
  70. package/fontes/construtos/unario.js.map +1 -1
  71. package/fontes/construtos/variavel.d.ts +2 -2
  72. package/fontes/construtos/variavel.js.map +1 -1
  73. package/fontes/construtos/vetor.d.ts +3 -3
  74. package/fontes/construtos/vetor.js.map +1 -1
  75. package/fontes/declaracoes/bloco.d.ts +4 -4
  76. package/fontes/declaracoes/bloco.js.map +1 -1
  77. package/fontes/declaracoes/classe.d.ts +2 -2
  78. package/fontes/declaracoes/classe.js.map +1 -1
  79. package/fontes/declaracoes/continua.d.ts +2 -2
  80. package/fontes/declaracoes/continua.js.map +1 -1
  81. package/fontes/declaracoes/declaracao.js +2 -2
  82. package/fontes/declaracoes/declaracao.js.map +1 -1
  83. package/fontes/declaracoes/enquanto.d.ts +2 -2
  84. package/fontes/declaracoes/enquanto.js.map +1 -1
  85. package/fontes/declaracoes/escolha.d.ts +7 -4
  86. package/fontes/declaracoes/escolha.js +6 -3
  87. package/fontes/declaracoes/escolha.js.map +1 -1
  88. package/fontes/declaracoes/escreva.d.ts +3 -3
  89. package/fontes/declaracoes/escreva.js.map +1 -1
  90. package/fontes/declaracoes/expressao.d.ts +3 -3
  91. package/fontes/declaracoes/expressao.js.map +1 -1
  92. package/fontes/declaracoes/fazer.d.ts +1 -1
  93. package/fontes/declaracoes/fazer.js.map +1 -1
  94. package/fontes/declaracoes/funcao.d.ts +2 -2
  95. package/fontes/declaracoes/funcao.js.map +1 -1
  96. package/fontes/declaracoes/importar.d.ts +2 -2
  97. package/fontes/declaracoes/importar.js.map +1 -1
  98. package/fontes/declaracoes/index.d.ts +1 -0
  99. package/fontes/declaracoes/index.js +1 -0
  100. package/fontes/declaracoes/index.js.map +1 -1
  101. package/fontes/declaracoes/leia.d.ts +12 -0
  102. package/fontes/declaracoes/leia.js +37 -0
  103. package/fontes/declaracoes/leia.js.map +1 -0
  104. package/fontes/declaracoes/para.d.ts +1 -1
  105. package/fontes/declaracoes/para.js.map +1 -1
  106. package/fontes/declaracoes/retorna.d.ts +2 -2
  107. package/fontes/declaracoes/retorna.js.map +1 -1
  108. package/fontes/declaracoes/se.d.ts +2 -2
  109. package/fontes/declaracoes/se.js.map +1 -1
  110. package/fontes/declaracoes/sustar.d.ts +2 -2
  111. package/fontes/declaracoes/sustar.js.map +1 -1
  112. package/fontes/declaracoes/tente.d.ts +2 -2
  113. package/fontes/declaracoes/tente.js.map +1 -1
  114. package/fontes/declaracoes/var.d.ts +5 -4
  115. package/fontes/declaracoes/var.js.map +1 -1
  116. package/fontes/delegua.d.ts +3 -3
  117. package/fontes/delegua.js +38 -22
  118. package/fontes/delegua.js.map +1 -1
  119. package/fontes/depuracao/cyrb53.js +6 -3
  120. package/fontes/depuracao/cyrb53.js.map +1 -1
  121. package/fontes/depuracao/servidor-depuracao.js +84 -46
  122. package/fontes/depuracao/servidor-depuracao.js.map +1 -1
  123. package/fontes/espaco-variaveis.d.ts +1 -1
  124. package/fontes/espaco-variaveis.js +0 -1
  125. package/fontes/espaco-variaveis.js.map +1 -1
  126. package/fontes/estruturas/chamavel.js +1 -1
  127. package/fontes/estruturas/classe-padrao.d.ts +1 -1
  128. package/fontes/estruturas/classe-padrao.js.map +1 -1
  129. package/fontes/estruturas/delegua-classe.d.ts +4 -4
  130. package/fontes/estruturas/delegua-classe.js +5 -3
  131. package/fontes/estruturas/delegua-classe.js.map +1 -1
  132. package/fontes/estruturas/funcao-padrao.d.ts +1 -1
  133. package/fontes/estruturas/funcao-padrao.js +1 -1
  134. package/fontes/estruturas/funcao.d.ts +4 -4
  135. package/fontes/estruturas/funcao.js +9 -4
  136. package/fontes/estruturas/funcao.js.map +1 -1
  137. package/fontes/estruturas/index.d.ts +9 -9
  138. package/fontes/estruturas/metodo-primitiva.d.ts +1 -1
  139. package/fontes/estruturas/modulo.d.ts +1 -1
  140. package/fontes/estruturas/modulo.js +1 -1
  141. package/fontes/estruturas/objeto-delegua-classe.d.ts +2 -2
  142. package/fontes/estruturas/objeto-delegua-classe.js +2 -2
  143. package/fontes/estruturas/objeto-delegua-classe.js.map +1 -1
  144. package/fontes/estruturas/objeto-padrao.js.map +1 -1
  145. package/fontes/excecoes/erro-em-tempo-de-execucao.d.ts +1 -1
  146. package/fontes/excecoes/erro-em-tempo-de-execucao.js.map +1 -1
  147. package/fontes/excecoes/index.d.ts +1 -1
  148. package/fontes/importador/importador.d.ts +1 -1
  149. package/fontes/importador/importador.js +3 -2
  150. package/fontes/importador/importador.js.map +1 -1
  151. package/fontes/importador/retorno-importador.d.ts +2 -2
  152. package/fontes/interfaces/avaliador-sintatico-interface.d.ts +3 -5
  153. package/fontes/interfaces/delegua-interface.d.ts +2 -2
  154. package/fontes/interfaces/escopo-execucao.d.ts +2 -2
  155. package/fontes/interfaces/importador-interface.d.ts +1 -1
  156. package/fontes/interfaces/interpretador-com-depuracao-interface.d.ts +3 -3
  157. package/fontes/interfaces/interpretador-interface.d.ts +8 -7
  158. package/fontes/interfaces/lexador-interface.d.ts +4 -4
  159. package/fontes/interfaces/parametro-interface.d.ts +1 -1
  160. package/fontes/interfaces/pilha-escopos-execucao-interface.d.ts +5 -5
  161. package/fontes/interfaces/resolvedor-interface.d.ts +5 -5
  162. package/fontes/interfaces/retornos/retorno-avaliador-sintatico.d.ts +2 -2
  163. package/fontes/interfaces/retornos/retorno-execucao-interface.d.ts +1 -1
  164. package/fontes/interfaces/retornos/retorno-interpretador.d.ts +1 -1
  165. package/fontes/interfaces/retornos/retorno-lexador.d.ts +3 -3
  166. package/fontes/interfaces/variavel-interface.d.ts +1 -1
  167. package/fontes/interpretador/dialetos/egua-classico.d.ts +2 -1
  168. package/fontes/interpretador/dialetos/egua-classico.js +75 -47
  169. package/fontes/interpretador/dialetos/egua-classico.js.map +1 -1
  170. package/fontes/interpretador/dialetos/index.js.map +1 -1
  171. package/fontes/interpretador/erro-interpretador.d.ts +1 -1
  172. package/fontes/interpretador/inferenciador.js.map +1 -1
  173. package/fontes/interpretador/interpretador-com-depuracao.js +5 -3
  174. package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -1
  175. package/fontes/interpretador/interpretador.d.ts +10 -4
  176. package/fontes/interpretador/interpretador.js +57 -47
  177. package/fontes/interpretador/interpretador.js.map +1 -1
  178. package/fontes/interpretador/pilha-escopos-execucao.js +16 -5
  179. package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -1
  180. package/fontes/lexador/dialetos/index.js.map +1 -1
  181. package/fontes/lexador/dialetos/lexador-birl.d.ts +25 -0
  182. package/fontes/lexador/dialetos/lexador-birl.js +75 -0
  183. package/fontes/lexador/dialetos/lexador-birl.js.map +1 -0
  184. package/fontes/lexador/dialetos/lexador-egua-classico.js +38 -38
  185. package/fontes/lexador/dialetos/lexador-egua-classico.js.map +1 -1
  186. package/fontes/lexador/dialetos/lexador-eguap.d.ts +4 -4
  187. package/fontes/lexador/dialetos/lexador-eguap.js +50 -44
  188. package/fontes/lexador/dialetos/lexador-eguap.js.map +1 -1
  189. package/fontes/lexador/dialetos/lexador-visualg.d.ts +16 -0
  190. package/fontes/lexador/dialetos/lexador-visualg.js +227 -0
  191. package/fontes/lexador/dialetos/lexador-visualg.js.map +1 -0
  192. package/fontes/lexador/dialetos/palavras-reservadas/birl.d.ts +2 -0
  193. package/fontes/lexador/dialetos/palavras-reservadas/birl.js +4 -0
  194. package/fontes/lexador/dialetos/palavras-reservadas/birl.js.map +1 -0
  195. package/fontes/lexador/dialetos/palavras-reservadas/visualg.d.ts +26 -0
  196. package/fontes/lexador/dialetos/palavras-reservadas/visualg.js +32 -0
  197. package/fontes/lexador/dialetos/palavras-reservadas/visualg.js.map +1 -0
  198. package/fontes/lexador/lexador-base-linha-unica.d.ts +33 -0
  199. package/fontes/lexador/lexador-base-linha-unica.js +92 -0
  200. package/fontes/lexador/lexador-base-linha-unica.js.map +1 -0
  201. package/fontes/lexador/lexador.d.ts +3 -3
  202. package/fontes/lexador/lexador.js +43 -43
  203. package/fontes/lexador/lexador.js.map +1 -1
  204. package/fontes/lexador/palavras-reservadas.js +33 -33
  205. package/fontes/lexador/palavras-reservadas.js.map +1 -1
  206. package/fontes/lexador/simbolo.d.ts +1 -1
  207. package/fontes/lexador/simbolo.js +1 -1
  208. package/fontes/lexador/simbolo.js.map +1 -1
  209. package/fontes/quebras/index.js.map +1 -1
  210. package/fontes/resolvedor/dialetos/egua-classico.js +1 -1
  211. package/fontes/resolvedor/dialetos/egua-classico.js.map +1 -1
  212. package/fontes/resolvedor/dialetos/index.js.map +1 -1
  213. package/fontes/resolvedor/erro-resolvedor.d.ts +1 -1
  214. package/fontes/resolvedor/pilha-escopos.d.ts +1 -1
  215. package/fontes/resolvedor/pilha-escopos.js +2 -2
  216. package/fontes/resolvedor/pilha-escopos.js.map +1 -1
  217. package/fontes/resolvedor/retorno-resolvedor.d.ts +2 -2
  218. package/fontes/tipos-de-simbolos/birl.d.ts +18 -0
  219. package/fontes/tipos-de-simbolos/birl.js +21 -0
  220. package/fontes/tipos-de-simbolos/birl.js.map +1 -0
  221. package/fontes/tipos-de-simbolos/comum.d.ts +18 -0
  222. package/fontes/tipos-de-simbolos/comum.js +20 -0
  223. package/fontes/tipos-de-simbolos/comum.js.map +1 -0
  224. package/fontes/{tipos-de-simbolos.d.ts → tipos-de-simbolos/delegua.d.ts} +0 -0
  225. package/fontes/tipos-de-simbolos/delegua.js +78 -0
  226. package/fontes/tipos-de-simbolos/delegua.js.map +1 -0
  227. package/fontes/{lexador/dialetos/tipos-de-simbolos-eguap.d.ts → tipos-de-simbolos/eguap.d.ts} +0 -0
  228. package/fontes/tipos-de-simbolos/eguap.js +74 -0
  229. package/fontes/tipos-de-simbolos/eguap.js.map +1 -0
  230. package/fontes/tipos-de-simbolos/visualg.d.ts +47 -0
  231. package/fontes/tipos-de-simbolos/visualg.js +49 -0
  232. package/fontes/tipos-de-simbolos/visualg.js.map +1 -0
  233. package/index.js +1 -1
  234. package/index.js.map +1 -1
  235. package/jest.config.js +2 -2
  236. package/jest.config.js.map +1 -1
  237. package/package.json +78 -65
  238. package/testes/avaliador-sintatico.test.js +5 -5
  239. package/testes/avaliador-sintatico.test.js.map +1 -1
  240. package/testes/egua-classico/avaliador-sintatico.test.js +4 -1
  241. package/testes/egua-classico/avaliador-sintatico.test.js.map +1 -1
  242. package/testes/egua-classico/delegua.test.js.map +1 -1
  243. package/testes/egua-classico/resolvedor.test.js.map +1 -1
  244. package/testes/eguap/avaliador-sintatico.test.js +1 -5
  245. package/testes/eguap/avaliador-sintatico.test.js.map +1 -1
  246. package/testes/eguap/lexador.test.js +1 -1
  247. package/testes/eguap/lexador.test.js.map +1 -1
  248. package/testes/interpretador.test.js +48 -0
  249. package/testes/interpretador.test.js.map +1 -1
  250. package/testes/lexador.test.js +45 -45
  251. package/testes/lexador.test.js.map +1 -1
  252. package/testes/visualg/avaliador-sintatico.test.d.ts +1 -0
  253. package/testes/visualg/avaliador-sintatico.test.js +113 -0
  254. package/testes/visualg/avaliador-sintatico.test.js.map +1 -0
  255. package/testes/visualg/lexador.test.d.ts +1 -0
  256. package/testes/visualg/lexador.test.js +67 -0
  257. package/testes/visualg/lexador.test.js.map +1 -0
  258. package/fontes/lexador/dialetos/tipos-de-simbolos-eguap.js +0 -74
  259. package/fontes/lexador/dialetos/tipos-de-simbolos-eguap.js.map +0 -1
  260. package/fontes/tipos-de-simbolos.js +0 -78
  261. package/fontes/tipos-de-simbolos.js.map +0 -1
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.Interpretador = void 0;
30
30
  var caminho = __importStar(require("path"));
31
31
  var browser_process_hrtime_1 = __importDefault(require("browser-process-hrtime"));
32
- var tipos_de_simbolos_1 = __importDefault(require("../tipos-de-simbolos"));
32
+ var delegua_1 = __importDefault(require("../tipos-de-simbolos/delegua"));
33
33
  var espaco_variaveis_1 = require("../espaco-variaveis");
34
34
  var biblioteca_global_1 = __importDefault(require("../bibliotecas/biblioteca-global"));
35
35
  var importar_biblioteca_1 = __importDefault(require("../bibliotecas/importar-biblioteca"));
@@ -50,7 +50,7 @@ var Interpretador = /** @class */ (function () {
50
50
  if (performance === void 0) { performance = false; }
51
51
  this.funcaoDeRetorno = null;
52
52
  this.resultadoInterpretador = [];
53
- this.regexInterpolacao = /\$\{([a-z_][\w]*)\}/ig;
53
+ this.regexInterpolacao = /\$\{([a-z_][\w]*)\}/gi;
54
54
  this.importador = importador;
55
55
  this.diretorioBase = diretorioBase;
56
56
  this.performance = performance;
@@ -66,6 +66,14 @@ var Interpretador = /** @class */ (function () {
66
66
  this.pilhaEscoposExecucao.empilhar(escopoExecucao);
67
67
  (0, biblioteca_global_1.default)(this, this.pilhaEscoposExecucao);
68
68
  }
69
+ /**
70
+ * Execução da leitura de valores da entrada configurada no
71
+ * início da aplicação.
72
+ * @param expressao
73
+ */
74
+ Interpretador.prototype.visitarExpressaoLeia = function (expressao) {
75
+ throw new Error('Método não implementado.');
76
+ };
69
77
  /**
70
78
  * Retira a interpolação de um texto.
71
79
  * @param {texto} texto O texto
@@ -99,7 +107,7 @@ var Interpretador = /** @class */ (function () {
99
107
  var nomeVariavel = s.replace(/[\$\{\}]*/g, '');
100
108
  return {
101
109
  variavel: nomeVariavel,
102
- valor: _this.pilhaEscoposExecucao.obterVariavelPorNome(nomeVariavel)
110
+ valor: _this.pilhaEscoposExecucao.obterVariavelPorNome(nomeVariavel),
103
111
  };
104
112
  });
105
113
  };
@@ -131,12 +139,12 @@ var Interpretador = /** @class */ (function () {
131
139
  Interpretador.prototype.visitarExpressaoUnaria = function (expressao) {
132
140
  var direita = this.avaliar(expressao.direita);
133
141
  switch (expressao.operador.tipo) {
134
- case tipos_de_simbolos_1.default.SUBTRACAO:
142
+ case delegua_1.default.SUBTRACAO:
135
143
  this.verificarOperandoNumero(expressao.operador, direita);
136
144
  return -direita;
137
- case tipos_de_simbolos_1.default.NEGACAO:
145
+ case delegua_1.default.NEGACAO:
138
146
  return !this.eVerdadeiro(direita);
139
- case tipos_de_simbolos_1.default.BIT_NOT:
147
+ case delegua_1.default.BIT_NOT:
140
148
  return ~direita;
141
149
  }
142
150
  return null;
@@ -196,66 +204,65 @@ var Interpretador = /** @class */ (function () {
196
204
  ? direita.tipo
197
205
  : (0, inferenciador_1.inferirTipoVariavel)(direita);
198
206
  switch (expressao.operador.tipo) {
199
- case tipos_de_simbolos_1.default.EXPONENCIACAO:
207
+ case delegua_1.default.EXPONENCIACAO:
200
208
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
201
209
  return Math.pow(valorEsquerdo, valorDireito);
202
- case tipos_de_simbolos_1.default.MAIOR:
210
+ case delegua_1.default.MAIOR:
203
211
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
204
212
  return Number(valorEsquerdo) > Number(valorDireito);
205
- case tipos_de_simbolos_1.default.MAIOR_IGUAL:
213
+ case delegua_1.default.MAIOR_IGUAL:
206
214
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
207
215
  return Number(valorEsquerdo) >= Number(valorDireito);
208
- case tipos_de_simbolos_1.default.MENOR:
216
+ case delegua_1.default.MENOR:
209
217
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
210
218
  return Number(valorEsquerdo) < Number(valorDireito);
211
- case tipos_de_simbolos_1.default.MENOR_IGUAL:
219
+ case delegua_1.default.MENOR_IGUAL:
212
220
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
213
221
  return Number(valorEsquerdo) <= Number(valorDireito);
214
- case tipos_de_simbolos_1.default.SUBTRACAO:
215
- case tipos_de_simbolos_1.default.MENOS_IGUAL:
222
+ case delegua_1.default.SUBTRACAO:
223
+ case delegua_1.default.MENOS_IGUAL:
216
224
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
217
225
  return Number(valorEsquerdo) - Number(valorDireito);
218
- case tipos_de_simbolos_1.default.ADICAO:
219
- case tipos_de_simbolos_1.default.MAIS_IGUAL:
226
+ case delegua_1.default.ADICAO:
227
+ case delegua_1.default.MAIS_IGUAL:
220
228
  if (tipoEsquerdo === 'número' && tipoDireito === 'número') {
221
229
  return Number(valorEsquerdo) + Number(valorDireito);
222
230
  }
223
231
  else {
224
232
  return String(valorEsquerdo) + String(valorDireito);
225
233
  }
226
- case tipos_de_simbolos_1.default.DIVISAO:
227
- case tipos_de_simbolos_1.default.DIVISAO_IGUAL:
234
+ case delegua_1.default.DIVISAO:
235
+ case delegua_1.default.DIVISAO_IGUAL:
228
236
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
229
237
  return Number(valorEsquerdo) / Number(valorDireito);
230
- case tipos_de_simbolos_1.default.MULTIPLICACAO:
231
- case tipos_de_simbolos_1.default.MULTIPLICACAO_IGUAL:
238
+ case delegua_1.default.MULTIPLICACAO:
239
+ case delegua_1.default.MULTIPLICACAO_IGUAL:
232
240
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
233
241
  return Number(valorEsquerdo) * Number(valorDireito);
234
- case tipos_de_simbolos_1.default.MODULO:
235
- case tipos_de_simbolos_1.default.MODULO_IGUAL:
242
+ case delegua_1.default.MODULO:
243
+ case delegua_1.default.MODULO_IGUAL:
236
244
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
237
245
  return Number(valorEsquerdo) % Number(valorDireito);
238
- case tipos_de_simbolos_1.default.BIT_AND:
246
+ case delegua_1.default.BIT_AND:
239
247
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
240
248
  return Number(valorEsquerdo) & Number(valorDireito);
241
- case tipos_de_simbolos_1.default.BIT_XOR:
249
+ case delegua_1.default.BIT_XOR:
242
250
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
243
251
  return Number(valorEsquerdo) ^ Number(valorDireito);
244
- case tipos_de_simbolos_1.default.BIT_OR:
252
+ case delegua_1.default.BIT_OR:
245
253
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
246
254
  return Number(valorEsquerdo) | Number(valorDireito);
247
- case tipos_de_simbolos_1.default.MENOR_MENOR:
255
+ case delegua_1.default.MENOR_MENOR:
248
256
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
249
257
  return Number(valorEsquerdo) << Number(valorDireito);
250
- case tipos_de_simbolos_1.default.MAIOR_MAIOR:
258
+ case delegua_1.default.MAIOR_MAIOR:
251
259
  this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
252
260
  return Number(valorEsquerdo) >> Number(valorDireito);
253
- case tipos_de_simbolos_1.default.DIFERENTE:
261
+ case delegua_1.default.DIFERENTE:
254
262
  return !this.eIgual(valorEsquerdo, valorDireito);
255
- case tipos_de_simbolos_1.default.IGUAL_IGUAL:
263
+ case delegua_1.default.IGUAL_IGUAL:
256
264
  return this.eIgual(valorEsquerdo, valorDireito);
257
265
  }
258
- return null;
259
266
  };
260
267
  /**
261
268
  * Executa uma chamada de função, método ou classe.
@@ -344,7 +351,7 @@ var Interpretador = /** @class */ (function () {
344
351
  };
345
352
  Interpretador.prototype.visitarExpressaoLogica = function (expressao) {
346
353
  var esquerda = this.avaliar(expressao.esquerda);
347
- if (expressao.operador.tipo === tipos_de_simbolos_1.default.EM) {
354
+ if (expressao.operador.tipo === delegua_1.default.EM) {
348
355
  var direita = this.avaliar(expressao.direita);
349
356
  if (Array.isArray(direita) || typeof direita === 'string') {
350
357
  return direita.includes(esquerda);
@@ -357,12 +364,12 @@ var Interpretador = /** @class */ (function () {
357
364
  }
358
365
  }
359
366
  // se um estado for verdadeiro, retorna verdadeiro
360
- if (expressao.operador.tipo === tipos_de_simbolos_1.default.OU) {
367
+ if (expressao.operador.tipo === delegua_1.default.OU) {
361
368
  if (this.eVerdadeiro(esquerda))
362
369
  return esquerda;
363
370
  }
364
371
  // se um estado for falso, retorna falso
365
- if (expressao.operador.tipo === tipos_de_simbolos_1.default.E) {
372
+ if (expressao.operador.tipo === delegua_1.default.E) {
366
373
  if (!this.eVerdadeiro(esquerda))
367
374
  return esquerda;
368
375
  }
@@ -424,7 +431,7 @@ var Interpretador = /** @class */ (function () {
424
431
  this.eVerdadeiro(this.avaliar(declaracao.condicaoEnquanto)));
425
432
  };
426
433
  Interpretador.prototype.visitarExpressaoEscolha = function (declaracao) {
427
- var condicaoEscolha = this.avaliar(declaracao.condicao);
434
+ var condicaoEscolha = this.avaliar(declaracao.identificadorOuLiteral);
428
435
  var caminhos = declaracao.caminhos;
429
436
  var caminhoPadrao = declaracao.caminhoPadrao;
430
437
  var encontrado = false;
@@ -577,7 +584,9 @@ var Interpretador = /** @class */ (function () {
577
584
  if (declaracao.inicializador !== null) {
578
585
  valorOuOutraVariavel = this.avaliar(declaracao.inicializador);
579
586
  }
580
- this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, valorOuOutraVariavel.hasOwnProperty('valor') ? valorOuOutraVariavel.valor : valorOuOutraVariavel);
587
+ this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, valorOuOutraVariavel.hasOwnProperty('valor')
588
+ ? valorOuOutraVariavel.valor
589
+ : valorOuOutraVariavel);
581
590
  return null;
582
591
  };
583
592
  Interpretador.prototype.visitarExpressaoContinua = function (declaracao) {
@@ -627,40 +636,41 @@ var Interpretador = /** @class */ (function () {
627
636
  ? variavelObjeto.valor
628
637
  : variavelObjeto;
629
638
  var indice = this.avaliar(expressao.indice);
639
+ var valorIndice = indice.hasOwnProperty('valor') ? indice.valor : indice;
630
640
  if (Array.isArray(objeto)) {
631
- if (!Number.isInteger(indice)) {
641
+ if (!Number.isInteger(valorIndice)) {
632
642
  throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Somente inteiros podem ser usados para indexar um vetor.', expressao.linha);
633
643
  }
634
- if (indice < 0 && objeto.length !== 0) {
635
- while (indice < 0) {
636
- indice += objeto.length;
644
+ if (valorIndice < 0 && objeto.length !== 0) {
645
+ while (valorIndice < 0) {
646
+ valorIndice += objeto.length;
637
647
  }
638
648
  }
639
- if (indice >= objeto.length) {
649
+ if (valorIndice >= objeto.length) {
640
650
  throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Índice do vetor fora do intervalo.', expressao.linha);
641
651
  }
642
- return objeto[indice];
652
+ return objeto[valorIndice];
643
653
  }
644
654
  else if (objeto.constructor === Object ||
645
655
  objeto instanceof estruturas_1.ObjetoDeleguaClasse ||
646
656
  objeto instanceof estruturas_1.DeleguaFuncao ||
647
657
  objeto instanceof estruturas_1.DeleguaClasse ||
648
658
  objeto instanceof estruturas_1.DeleguaModulo) {
649
- return objeto[indice] || null;
659
+ return objeto[valorIndice] || null;
650
660
  }
651
661
  else if (typeof objeto === 'string') {
652
- if (!Number.isInteger(indice)) {
662
+ if (!Number.isInteger(valorIndice)) {
653
663
  throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Somente inteiros podem ser usados para indexar um vetor.', expressao.linha);
654
664
  }
655
- if (indice < 0 && objeto.length !== 0) {
656
- while (indice < 0) {
657
- indice += objeto.length;
665
+ if (valorIndice < 0 && objeto.length !== 0) {
666
+ while (valorIndice < 0) {
667
+ valorIndice += objeto.length;
658
668
  }
659
669
  }
660
- if (indice >= objeto.length) {
670
+ if (valorIndice >= objeto.length) {
661
671
  throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Índice fora do tamanho.', expressao.linha);
662
672
  }
663
- return objeto.charAt(indice);
673
+ return objeto.charAt(valorIndice);
664
674
  }
665
675
  else {
666
676
  throw new excecoes_1.ErroEmTempoDeExecucao(expressao.entidadeChamada.nome, 'Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.', expressao.linha);
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAgC;AAChC,kFAA4C;AAE5C,2EAAmD;AAEnD,wDAAsD;AACtD,uFAAwE;AACxE,2FAAwE;AAExE,wCAAoD;AAyBpD,4CAQuB;AAYvB,mEAAgE;AAChE,sCAKoB;AAEpB,iDAAsD;AACtD,qFAA8D;AAC9D,mEAAiE;AACjE,qFAA8D;AAE9D;;;GAGG;AACH;IAWI,uBACI,UAA+B,EAC/B,aAAqB,EACrB,WAA4B,EAC5B,eAAyB;QADzB,4BAAA,EAAA,mBAA4B;QAThC,oBAAe,GAAa,IAAI,CAAC;QACjC,2BAAsB,GAAkB,EAAE,CAAC;QAG3C,sBAAiB,GAAG,uBAAuB,CAAC;QAQxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;QAEtD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,oBAAoB,GAAG,IAAI,6CAAoB,EAAE,CAAC;QACvD,IAAM,cAAc,GAAmB;YACnC,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,IAAI,kCAAe,EAAE;SAClC,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEnD,IAAA,2BAAwB,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACH,2CAAmB,GAAnB,UAAoB,KAAa,EAAE,SAAgB;QAAnD,iBAsBC;QArBG,IAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC;YAC3C,cAAc,EAAE,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAC1D,CAAC,CAAC,QAAQ,CACb;YACD,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACvB,CAAC,EAL4C,CAK5C,CAAC,CAAC;QAEJ,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,gBAAgB,CAAC,OAAO,CAAC,UAAC,QAAQ;YAC9B,IAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC9D,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;gBAC/B,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;YAE9B,UAAU,GAAG,UAAU,CAAC,OAAO,CAC3B,IAAI,GAAG,QAAQ,CAAC,QAAQ,GAAG,GAAG,EAC9B,UAAU,CACb,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,mDAA2B,GAA3B,UAA4B,aAAqB;QAAjD,iBAUC;QATG,IAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE9D,OAAO,SAAS,CAAC,GAAG,CAAC,UAAC,CAAC;YACnB,IAAM,YAAY,GAAW,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACzD,OAAO;gBACH,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,YAAY,CAAC;aACtE,CAAA;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,+CAAuB,GAAvB,UAAwB,SAAkB;QACtC,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC9C,IAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEpE,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SAC/D;QAED,OAAO,SAAS,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,+BAAO,GAAP,UAAQ,SAAoB;QACxB,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,mDAA2B,GAA3B,UAA4B,SAAc;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,mCAAW,GAAX,UAAY,MAAW;QACnB,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,OAAO,MAAM,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,+CAAuB,GAAvB,UAAwB,QAAa,EAAE,QAAa;QAChD,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO;QACzC,MAAM,IAAI,gCAAqB,CAC3B,QAAQ,EACR,iCAAiC,EACjC,QAAQ,CAAC,KAAK,CACjB,CAAC;IACN,CAAC;IAED,8CAAsB,GAAtB,UAAuB,SAAc;QACjC,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEhD,QAAQ,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC7B,KAAK,2BAAe,CAAC,SAAS;gBAC1B,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC1D,OAAO,CAAC,OAAO,CAAC;YACpB,KAAK,2BAAe,CAAC,OAAO;gBACxB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,KAAK,2BAAe,CAAC,OAAO;gBACxB,OAAO,CAAC,OAAO,CAAC;SACvB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,8BAAM,GAAN,UACI,QAAiC,EACjC,OAAgC;QAEhC,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACvD,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,QAAQ,CAAC,IAAI,EAAE;YACf,IACI,QAAQ,CAAC,IAAI,KAAK,MAAM;gBACxB,OAAO,CAAC,IAAI;gBACZ,OAAO,CAAC,IAAI,KAAK,MAAM;gBAEvB,OAAO,IAAI,CAAC;YAChB,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,KAAK,CAAC;YAE3C,OAAO,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC;SAC3C;QAED,OAAO,QAAQ,KAAK,OAAO,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,iDAAyB,GAAzB,UACI,QAAa,EACb,OAAgC,EAChC,QAAiC;QAEjC,IAAM,WAAW,GAAW,OAAO,CAAC,IAAI;YACpC,CAAC,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ;gBAC7B,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,IAAM,YAAY,GAAW,QAAQ,CAAC,IAAI;YACtC,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ;gBAC9B,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,WAAW,KAAK,QAAQ,IAAI,YAAY,KAAK,QAAQ;YAAE,OAAO;QAClE,MAAM,IAAI,gCAAqB,CAC3B,QAAQ,EACR,kCAAkC,EAClC,QAAQ,CAAC,KAAK,CACjB,CAAC;IACN,CAAC;IAED,+CAAuB,GAAvB,UAAwB,SAAc;QAClC,IAAM,QAAQ,GAA4B,IAAI,CAAC,OAAO,CAClD,SAAS,CAAC,QAAQ,CACrB,CAAC;QACF,IAAM,OAAO,GAA4B,IAAI,CAAC,OAAO,CACjD,SAAS,CAAC,OAAO,CACpB,CAAC;QACF,IAAM,aAAa,GAAQ,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,CAAC,OAAO,CAAC;YACxD,CAAC,CAAC,QAAQ,CAAC,KAAK;YAChB,CAAC,CAAC,QAAQ,CAAC;QACf,IAAM,YAAY,GAAQ,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAC,OAAO,CAAC;YACtD,CAAC,CAAC,OAAO,CAAC,KAAK;YACf,CAAC,CAAC,OAAO,CAAC;QACd,IAAM,YAAY,GAAW,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,CAAC,MAAM,CAAC;YACzD,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,IAAA,mCAAmB,EAAC,QAAQ,CAAC,CAAC;QACpC,IAAM,WAAW,GAAW,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,IAAA,mCAAmB,EAAC,OAAO,CAAC,CAAC;QAEnC,QAAQ,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC7B,KAAK,2BAAe,CAAC,aAAa;gBAC9B,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAEjD,KAAK,2BAAe,CAAC,KAAK;gBACtB,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAExD,KAAK,2BAAe,CAAC,WAAW;gBAC5B,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;YAEzD,KAAK,2BAAe,CAAC,KAAK;gBACtB,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAExD,KAAK,2BAAe,CAAC,WAAW;gBAC5B,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;YAEzD,KAAK,2BAAe,CAAC,SAAS,CAAC;YAC/B,KAAK,2BAAe,CAAC,WAAW;gBAC5B,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAExD,KAAK,2BAAe,CAAC,MAAM,CAAC;YAC5B,KAAK,2BAAe,CAAC,UAAU;gBAC3B,IAAI,YAAY,KAAK,QAAQ,IAAI,WAAW,KAAK,QAAQ,EAAE;oBACvD,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;iBACvD;qBAAM;oBACH,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;iBACvD;YAEL,KAAK,2BAAe,CAAC,OAAO,CAAC;YAC7B,KAAK,2BAAe,CAAC,aAAa;gBAC9B,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAExD,KAAK,2BAAe,CAAC,aAAa,CAAC;YACnC,KAAK,2BAAe,CAAC,mBAAmB;gBACpC,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAExD,KAAK,2BAAe,CAAC,MAAM,CAAC;YAC5B,KAAK,2BAAe,CAAC,YAAY;gBAC7B,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAExD,KAAK,2BAAe,CAAC,OAAO;gBACxB,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAExD,KAAK,2BAAe,CAAC,OAAO;gBACxB,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAExD,KAAK,2BAAe,CAAC,MAAM;gBACvB,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAExD,KAAK,2BAAe,CAAC,WAAW;gBAC5B,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;YAEzD,KAAK,2BAAe,CAAC,WAAW;gBAC5B,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;YAEzD,KAAK,2BAAe,CAAC,SAAS;gBAC1B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAErD,KAAK,2BAAe,CAAC,WAAW;gBAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;SACvD;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,iDAAyB,GAAzB,UAA0B,SAAc;QACpC,IAAM,uBAAuB,GAA4B,IAAI,CAAC,OAAO,CACjE,SAAS,CAAC,eAAe,CAC5B,CAAC;QACF,IAAM,eAAe,GAAG,uBAAuB,CAAC,cAAc,CAAC,OAAO,CAAC;YACnE,CAAC,CAAC,uBAAuB,CAAC,KAAK;YAC/B,CAAC,CAAC,uBAAuB,CAAC;QAE9B,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1D;QAED,IAAI,CAAC,CAAC,eAAe,YAAY,qBAAQ,CAAC,EAAE;YACxC,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,SAAS,EACnB,kCAAkC,EAClC,SAAS,CAAC,KAAK,CAClB,CAAC;SACL;QAED,IAAI,eAAe,YAAY,kCAAe,EAAE;YAC5C,IAAM,oBAAoB,GAAU,EAAE,CAAC;YACvC,KAAsB,UAAoB,EAApB,KAAA,SAAS,CAAC,UAAU,EAApB,cAAoB,EAApB,IAAoB,EAAE;gBAAvC,IAAI,SAAS,SAAA;gBACd,IAAI,cAAc,GAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClD,oBAAoB,CAAC,IAAI,CACrB,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC;oBAClC,CAAC,CAAC,cAAc,CAAC,KAAK;oBACtB,CAAC,CAAC,cAAc,CACvB,CAAC;aACL;YACD,OAAO,eAAe,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;SACvD;QAED,IAAI,UAAgC,CAAC;QACrC,IAAI,eAAe,YAAY,0BAAa,EAAE;YAC1C,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC;SACtD;aAAM,IAAI,eAAe,YAAY,0BAAa,EAAE;YACjD,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,aAAa;gBAC9C,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU;gBAC7D,CAAC,CAAC,EAAE,CAAC;SACZ;aAAM;YACH,UAAU,GAAG,EAAE,CAAC;SACnB;QAED,qDAAqD;QACrD,IAAI,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE;YAC/C,IAAI,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;YAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;gBAChC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;SACJ;aAAM;YACH,IACI,UAAU;gBACV,UAAU,CAAC,MAAM,GAAG,CAAC;gBACrB,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EACtD;gBACE,IAAI,eAAe,GAAG,UAAU,CAAC,KAAK,CAClC,CAAC,EACD,UAAU,CAAC,MAAM,GAAG,CAAC,CACxB,CAAC;gBACF,eAAe,CAAC,IAAI,CAChB,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAC7D,CAAC;gBACF,UAAU,GAAG,eAAe,CAAC;aAChC;SACJ;QAED,IAAI,eAAe,YAAY,yBAAY,EAAE;YACzC,IAAI;gBACA,OAAO,eAAe,CAAC,MAAM,CACzB,UAAU,EACV,SAAS,CAAC,eAAe,CAAC,IAAI,CACjC,CAAC;aACL;YAAC,OAAO,IAAS,EAAE;gBAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;SACJ;QAED,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,oDAA4B,GAA5B,UAA6B,SAAmB;QAC5C,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAErE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,wCAAgB,GAAhB,UAAiB,OAAyB;QACtC,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,kDAA0B,GAA1B,UAA2B,SAAc;QACrC,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,oDAA4B,GAA5B,UAA6B,UAAqB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,8CAAsB,GAAtB,UAAuB,SAAc;QACjC,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,2BAAe,CAAC,EAAE,EAAE;YAChD,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAE9C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBACvD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACrC;iBAAM,IAAI,OAAO,CAAC,WAAW,KAAK,MAAM,EAAE;gBACvC,OAAO,QAAQ,IAAI,OAAO,CAAC;aAC9B;iBAAM;gBACH,MAAM,IAAI,gCAAqB,CAC3B,QAAQ,EACR,oCAAoC,EACpC,SAAS,CAAC,KAAK,CAClB,CAAC;aACL;SACJ;QAED,kDAAkD;QAClD,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,2BAAe,CAAC,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAC;SACnD;QAED,wCAAwC;QACxC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,2BAAe,CAAC,CAAC,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAC;SACpD;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,0CAAkB,GAAlB,UAAmB,UAAc;QAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE;YACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SACjD;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxD,IAAM,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAE5C,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;gBAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACvC;SACJ;QAED,IAAI,UAAU,CAAC,YAAY,KAAK,IAAI,EAAE;YAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SACjD;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,4CAAoB,GAApB,UAAqB,UAAgB;QACjC,IAAI,UAAU,CAAC,aAAa,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC1C;QAED,IAAI,eAAoB,CAAC;QACzB,OAAO,CAAC,CAAC,eAAe,YAAY,gBAAM,CAAC,EAAE;YACzC,IACI,UAAU,CAAC,QAAQ,KAAK,IAAI;gBAC5B,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EACtD;gBACE,MAAM;aACT;YAED,IAAI;gBACA,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACrD;YAAC,OAAO,IAAS,EAAE;gBAChB,MAAM,IAAI,CAAC;aACd;YAED,IAAI,UAAU,CAAC,WAAW,KAAK,IAAI,EAAE;gBACjC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;aACxC;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6CAAqB,GAArB,UAAsB,UAAiB;QACnC,IAAI,eAAoB,CAAC;QACzB,GAAG;YACC,IAAI;gBACA,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;aAC5D;YAAC,OAAO,IAAS,EAAE;gBAChB,MAAM,IAAI,CAAC;aACd;SACJ,QACG,CAAC,CAAC,eAAe,YAAY,gBAAM,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAC7D;IACN,CAAC;IAED,+CAAuB,GAAvB,UAAwB,UAAmB;QACvC,IAAI,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACnC,IAAI,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QAE7C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI;YACA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAI,SAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC/C,IACI,IAAI,CAAC,OAAO,CAAC,SAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,eAAe,EACxD;wBACE,UAAU,GAAG,IAAI,CAAC;wBAElB,IAAI;4BACA,IAAI,CAAC,aAAa,CAAC,SAAO,CAAC,WAAW,CAAC,CAAC;yBAC3C;wBAAC,OAAO,IAAS,EAAE;4BAChB,MAAM,IAAI,CAAC;yBACd;qBACJ;iBACJ;aACJ;YAED,IAAI,aAAa,KAAK,IAAI,IAAI,UAAU,KAAK,KAAK,EAAE;gBAChD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;aACjD;SACJ;QAAC,OAAO,IAAS,EAAE;YAChB,MAAM,IAAI,CAAC;SACd;IACL,CAAC;IAED,6CAAqB,GAArB,UAAsB,UAAiB;QACnC,IAAI;YACA,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI;gBACA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;aAC/C;YAAC,OAAO,IAAS,EAAE;gBAChB,OAAO,GAAG,KAAK,CAAC;gBAEhB,IAAI,UAAU,CAAC,YAAY,KAAK,IAAI,EAAE;oBAClC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;iBAC/C;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACzB;aACJ;YAED,IAAI,OAAO,IAAI,UAAU,CAAC,YAAY,KAAK,IAAI,EAAE;gBAC7C,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;aAC/C;SACJ;gBAAS;YACN,IAAI,UAAU,CAAC,iBAAiB,KAAK,IAAI;gBACrC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;SACxD;IACL,CAAC;IAED,gDAAwB,GAAxB,UAAyB,UAAoB;QACzC,IAAI,eAAoB,CAAC;QACzB,OACI,CAAC,CAAC,eAAe,YAAY,gBAAM,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EACrD;YACE,IAAI;gBACA,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACrD;YAAC,OAAO,IAAI,EAAE;gBACX,MAAM,IAAI,CAAC;aACd;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gDAAwB,GAAxB,UAAyB,UAAoB;QACzC,IAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzD,IAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACvE,IAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEnD,IACI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC/B,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EACpC;YACE,IAAI;gBACA,OAAO,IAAA,6BAAsB,EAAC,eAAe,CAAC,CAAC;aAClD;YAAC,OAAO,IAAS,EAAE;gBAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;aACf;SACJ;QAED,IAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACrE,IAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CACzC,kBAAkB,CAAC,yBAAyB,CAAC,WAAW,EACxD,IAAI,CACP,CAAC;QAEF,IAAI,gBAAgB,GAChB,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;QAExD,IAAM,WAAW,GAAG,UAAC,MAAW,IAAK,OAAA,MAAM,CAAC,WAAW,KAAK,MAAM,EAA7B,CAA6B,CAAC;QAEnE,IAAI,WAAW,CAAC,gBAAgB,CAAC,EAAE;YAC/B,IAAI,UAAU,GAAG,IAAI,0BAAa,EAAE,CAAC;YAErC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aACnE;YAED,OAAO,UAAU,CAAC;SACrB;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,+CAAuB,GAAvB,UAAwB,UAAmB;QACvC,IAAI;YACA,IAAI,KAAK,SAAK,CAAC;YACf,KAAwB,UAAqB,EAArB,KAAA,UAAU,CAAC,UAAU,EAArB,cAAqB,EAArB,IAAqB,EAAE;gBAA1C,IAAM,SAAS,SAAA;gBAChB,IAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACnD,KAAK,GAAG,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,cAAc,CAAC,OAAO,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,KAAK;oBAC1B,CAAC,CAAC,kBAAkB,CAAC;aAC5B;YACD,IAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3C,iEAAiE;YACjE,kDAAkD;YAClD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,IAAS,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,qCAAa,GAAb,UAAc,WAAyB,EAAE,QAA0B;QAC/D,IAAM,cAAc,GAAmB;YACnC,WAAW,EAAE,WAAW;YACxB,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,QAAQ,IAAI,IAAI,kCAAe,EAAE;SAC9C,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACnD,IAAM,mBAAmB,GAAQ,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7D,IAAI,mBAAmB,YAAY,gCAAqB,EAAE;YACtD,MAAM,mBAAmB,CAAC;SAC7B;QACD,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED,6CAAqB,GAArB,UAAsB,UAAiB;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,2CAAmB,GAAnB,UAAoB,UAAe;QAC/B,IAAI,oBAAoB,GAAG,IAAI,CAAC;QAChC,IAAI,UAAU,CAAC,aAAa,KAAK,IAAI,EAAE;YACnC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SACjE;QAED,IAAI,CAAC,oBAAoB,CAAC,eAAe,CACrC,UAAU,CAAC,OAAO,CAAC,MAAM,EACzB,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CACnG,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gDAAwB,GAAxB,UAAyB,UAAqB;QAC1C,OAAO,IAAI,yBAAe,EAAE,CAAC;IACjC,CAAC;IAED,8CAAsB,GAAtB,UAAuB,UAAgB;QACnC,OAAO,IAAI,sBAAY,EAAE,CAAC;IAC9B,CAAC;IAED,gDAAwB,GAAxB,UAAyB,UAAmB;QACxC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,UAAU,CAAC,KAAK,IAAI,IAAI;YAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAErE,OAAO,IAAI,uBAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,qDAA6B,GAA7B,UAA8B,SAAc;QACxC,OAAO,IAAI,0BAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,6DAAqC,GAArC,UAAsC,SAAc;QAChD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,OAAO,MAAM,GAAG,CAAC,EAAE;oBACf,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;iBAC3B;aACJ;YAED,OAAO,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE;gBAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;YAED,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;SAC1B;aAAM,IACH,MAAM,CAAC,WAAW,KAAK,MAAM;YAC7B,MAAM,YAAY,gCAAmB;YACrC,MAAM,YAAY,0BAAa;YAC/B,MAAM,YAAY,0BAAa;YAC/B,MAAM,YAAY,0BAAa,EACjC;YACE,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;SAC1B;aAAM;YACH,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,MAAM,CAAC,IAAI,EACrB,mFAAmF,EACnF,SAAS,CAAC,KAAK,CAClB,CAAC;SACL;IACL,CAAC;IAED,4DAAoC,GAApC,UACI,SAAqC;QAErC,IAAM,cAAc,GAAsB,IAAI,CAAC,OAAO,CAClD,SAAS,CAAC,eAAe,CAC5B,CAAC;QACF,IAAM,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC;YACjD,CAAC,CAAC,cAAc,CAAC,KAAK;YACtB,CAAC,CAAC,cAAc,CAAC;QAErB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBAC3B,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,iBAAiB,EAC3B,0DAA0D,EAC1D,SAAS,CAAC,KAAK,CAClB,CAAC;aACL;YAED,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,OAAO,MAAM,GAAG,CAAC,EAAE;oBACf,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;iBAC3B;aACJ;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;gBACzB,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,iBAAiB,EAC3B,oCAAoC,EACpC,SAAS,CAAC,KAAK,CAClB,CAAC;aACL;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;SACzB;aAAM,IACH,MAAM,CAAC,WAAW,KAAK,MAAM;YAC7B,MAAM,YAAY,gCAAmB;YACrC,MAAM,YAAY,0BAAa;YAC/B,MAAM,YAAY,0BAAa;YAC/B,MAAM,YAAY,0BAAa,EACjC;YACE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;SACjC;aAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBAC3B,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,iBAAiB,EAC3B,0DAA0D,EAC1D,SAAS,CAAC,KAAK,CAClB,CAAC;aACL;YAED,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,OAAO,MAAM,GAAG,CAAC,EAAE;oBACf,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;iBAC3B;aACJ;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;gBACzB,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,iBAAiB,EAC3B,yBAAyB,EACzB,SAAS,CAAC,KAAK,CAClB,CAAC;aACL;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAChC;aAAM;YACH,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,eAAe,CAAC,IAAI,EAC9B,mFAAmF,EACnF,SAAS,CAAC,KAAK,CAClB,CAAC;SACL;IACL,CAAC;IAED,+CAAuB,GAAvB,UAAwB,SAAc;QAClC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE9C,IACI,CAAC,CAAC,MAAM,YAAY,gCAAmB,CAAC;YACxC,MAAM,CAAC,WAAW,KAAK,MAAM,EAC/B;YACE,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,MAAM,CAAC,IAAI,EACrB,wDAAwD,EACxD,SAAS,CAAC,KAAK,CAClB,CAAC;SACL;QAED,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,MAAM,YAAY,gCAAmB,EAAE;YACvC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;SAChB;aAAM,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE;YACtC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;SAC5C;IACL,CAAC;IAED,8CAAsB,GAAtB,UAAuB,UAAkB;QACrC,IAAM,MAAM,GAAG,IAAI,0BAAa,CAC5B,UAAU,CAAC,OAAO,CAAC,MAAM,EACzB,UAAU,CAAC,MAAM,CACpB,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,eAAe,CACrC,UAAU,CAAC,OAAO,CAAC,MAAM,EACzB,MAAM,CACT,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,8CAAsB,GAAtB,UAAuB,UAAkB;QACrC,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,IAAI,UAAU,CAAC,WAAW,KAAK,IAAI,EAAE;YACjC,IAAM,mBAAmB,GAAsB,IAAI,CAAC,OAAO,CACvD,UAAU,CAAC,WAAW,CACzB,CAAC;YACF,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC;YACxC,IAAI,CAAC,CAAC,WAAW,YAAY,0BAAa,CAAC,EAAE;gBACzC,MAAM,IAAI,gCAAqB,CAC3B,UAAU,CAAC,WAAW,CAAC,IAAI,EAC3B,qCAAqC,EACrC,UAAU,CAAC,KAAK,CACnB,CAAC;aACL;SACJ;QAED,IAAI,CAAC,oBAAoB,CAAC,eAAe,CACrC,UAAU,CAAC,OAAO,CAAC,MAAM,EACzB,IAAI,CACP,CAAC;QAEF,IAAI,UAAU,CAAC,WAAW,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACnE;QAED,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC;YACjE,IAAM,MAAM,GAAG,IAAI,0BAAa,CAC5B,WAAW,CAAC,OAAO,CAAC,MAAM,EAC1B,WAAW,CAAC,MAAM,EAClB,SAAS,EACT,cAAc,CACjB,CAAC;YACF,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;SAChD;QAED,IAAM,aAAa,GAAkB,IAAI,0BAAa,CAClD,UAAU,CAAC,OAAO,CAAC,MAAM,EACzB,WAAW,EACX,OAAO,CACV,CAAC;QAEF,0CAA0C;QAC1C;;YAEI;QAEJ,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CACtC,UAAU,CAAC,OAAO,EAClB,aAAa,CAChB,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,oDAA4B,GAA5B,UAA6B,SAAc;QACvC,IAAM,cAAc,GAAsB,IAAI,CAAC,OAAO,CAClD,SAAS,CAAC,MAAM,CACnB,CAAC;QACF,IAAM,MAAM,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,CAAC;QAErC,IAAI,MAAM,YAAY,gCAAmB,EAAE;YACvC,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;SAChD;QAED,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE;YAC/B,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;SACnD;QAED,IAAI,MAAM,YAAY,0BAAa,EAAE;YACjC,OAAO,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;SAC/D;QAED,QAAQ,cAAc,CAAC,IAAI,EAAE;YACzB,KAAK,OAAO;gBACR,IAAM,sBAAsB,GACxB,0BAAe,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,sBAAsB,EAAE;oBACxB,OAAO,IAAI,kCAAe,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;iBAC9D;gBACD,MAAM;YACV,KAAK,OAAO;gBACR,IAAM,sBAAsB,GACxB,0BAAe,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,sBAAsB,EAAE;oBACxB,OAAO,IAAI,kCAAe,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;iBAC9D;gBACD,MAAM;SACb;QAED,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,IAAI,EACd,uDAAuD,EACvD,SAAS,CAAC,KAAK,CAClB,CAAC;IACN,CAAC;IAED,4CAAoB,GAApB,UAAqB,SAAc;QAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,kDAA0B,GAA1B,UAA2B,SAAc;QACrC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CACxD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CACvB,CAAC;SACL;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,6CAAqB,GAArB,UAAsB,SAAc;QAChC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACpD;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,6EAA6E;IAC7E,6CAAqB,GAArB,UAAsB,SAAgB;QAClC,IAAM,WAAW,GACb,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAM,MAAM,GACR,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAExE,IAAI,MAAM,KAAK,SAAS,EAAE;YACtB,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,MAAM,EAChB,4BAA4B,EAC5B,SAAS,CAAC,KAAK,CAClB,CAAC;SACL;QAED,OAAO,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,iCAAS,GAAT,UAAU,MAAW;QAEjB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QAC3D,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE;YAC7B,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;SAC1C;QAED,IAAI,MAAM,YAAY,IAAI,EAAE;YACxB,IAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;gBACtC,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,MAAM;aACpB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAEzC,IAAI,MAAM,CAAC,KAAK,YAAY,yBAAY;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAC1E,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE9D,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,gCAAQ,GAAR,UAAS,UAAsB,EAAE,gBAAiC;QAAjC,iCAAA,EAAA,wBAAiC;QAC9D,IAAM,SAAS,GAAQ,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,gBAAgB,EAAE;YAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;SACnD;QACD,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE;YAC7C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;SAC/D;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;;;;;OASG;IACH,4CAAoB,GAApB,UAAqB,cAA+B;QAA/B,+BAAA,EAAA,sBAA+B;QAChD,IAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QAC7D,IAAI;YACA,IAAI,eAAe,SAAK,CAAC;YACzB,OAEI,CAAC,CAAC,eAAe,YAAY,gBAAM,CAAC;gBACpC,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,EAC9D,YAAY,CAAC,eAAe,EAAE,EAChC;gBACE,eAAe,GAAG,IAAI,CAAC,QAAQ,CAC3B,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CACzD,CAAC;aACL;YAED,OAAO,eAAe,CAAC;SAC1B;QAAC,OAAO,IAAS,EAAE;YAChB,OAAO,IAAI,CAAC;SACf;gBAAS;YACN,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;YAC1C,IAAI,cAAc,EAAE;gBAChB,IAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;gBAC/D,cAAc,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3C,cAAc,CAAC,QAAQ,CAAC,OAAO,EAC/B,YAAY,CAAC,QAAQ,CAAC,OAAO,CAChC,CAAC;aACL;SACJ;IACL,CAAC;IAED;;;;;;;OAOG;IACH,mCAAW,GAAX,UACI,WAAyB,EACzB,cAA+B;QAA/B,+BAAA,EAAA,sBAA+B;QAE/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,IAAM,cAAc,GAAmB;YACnC,WAAW,EAAE,WAAW;YACxB,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,IAAI,kCAAe,EAAE;SAClC,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEnD,IAAM,mBAAmB,GAAqB,IAAA,gCAAM,GAAE,CAAC;QACvD,IAAI;YACA,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;SAC7C;gBAAS;YACN,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAM,kBAAkB,GACpB,IAAA,gCAAM,EAAC,mBAAmB,CAAC,CAAC;gBAChC,OAAO,CAAC,GAAG,CACP,yDACI,kBAAkB,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,OACnD,CACP,CAAC;aACL;YAED,IAAM,OAAO,GAAG;gBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,sBAAsB;aACjB,CAAC;YAE1B,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC;SAClB;IACL,CAAC;IACL,oBAAC;AAAD,CAAC,AAppCD,IAopCC;AAppCY,sCAAa"}
1
+ {"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ var PilhaEscoposExecucao = /** @class */ (function () {
23
23
  };
24
24
  PilhaEscoposExecucao.prototype.topoDaPilha = function () {
25
25
  if (this.eVazio())
26
- throw new Error("Pilha vazia.");
26
+ throw new Error('Pilha vazia.');
27
27
  return this.pilha[this.pilha.length - 1];
28
28
  };
29
29
  PilhaEscoposExecucao.prototype.removerUltimo = function () {
@@ -32,17 +32,26 @@ var PilhaEscoposExecucao = /** @class */ (function () {
32
32
  return this.pilha.pop();
33
33
  };
34
34
  PilhaEscoposExecucao.prototype.definirVariavel = function (nomeVariavel, valor) {
35
- this.pilha[this.pilha.length - 1].ambiente.valores[nomeVariavel] = { valor: valor, tipo: (0, inferenciador_1.inferirTipoVariavel)(valor) };
35
+ this.pilha[this.pilha.length - 1].ambiente.valores[nomeVariavel] = {
36
+ valor: valor,
37
+ tipo: (0, inferenciador_1.inferirTipoVariavel)(valor),
38
+ };
36
39
  };
37
40
  PilhaEscoposExecucao.prototype.atribuirVariavelEm = function (distancia, simbolo, valor) {
38
41
  var ambienteAncestral = this.pilha[this.pilha.length - distancia].ambiente;
39
- ambienteAncestral.valores[simbolo.lexema] = { valor: valor, tipo: (0, inferenciador_1.inferirTipoVariavel)(valor) };
42
+ ambienteAncestral.valores[simbolo.lexema] = {
43
+ valor: valor,
44
+ tipo: (0, inferenciador_1.inferirTipoVariavel)(valor),
45
+ };
40
46
  };
41
47
  PilhaEscoposExecucao.prototype.atribuirVariavel = function (simbolo, valor) {
42
48
  for (var i = 1; i <= this.pilha.length; i++) {
43
49
  var ambiente = this.pilha[this.pilha.length - i].ambiente;
44
50
  if (ambiente.valores[simbolo.lexema] !== undefined) {
45
- ambiente.valores[simbolo.lexema] = { valor: valor, tipo: (0, inferenciador_1.inferirTipoVariavel)(valor) };
51
+ ambiente.valores[simbolo.lexema] = {
52
+ valor: valor,
53
+ tipo: (0, inferenciador_1.inferirTipoVariavel)(valor),
54
+ };
46
55
  return;
47
56
  }
48
57
  }
@@ -78,7 +87,9 @@ var PilhaEscoposExecucao = /** @class */ (function () {
78
87
  for (var i = 1; i <= this.pilha.length; i++) {
79
88
  var ambiente = this.pilha[this.pilha.length - i].ambiente;
80
89
  // TODO: Testar se isso faz sentido.
81
- var vetorObjeto = Object.entries(ambiente).map(function (chave, valor) { return ({ valor: valor, tipo: 'texto' }); });
90
+ var vetorObjeto = Object.entries(ambiente).map(function (chave, valor) {
91
+ return ({ valor: valor, tipo: 'texto' });
92
+ });
82
93
  todasVariaveis.concat(vetorObjeto);
83
94
  }
84
95
  return todasVariaveis;
@@ -1 +1 @@
1
- {"version":3,"file":"pilha-escopos-execucao.js","sourceRoot":"","sources":["../../../fontes/interpretador/pilha-escopos-execucao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pilha-escopos-execucao.js","sourceRoot":"","sources":["../../../fontes/interpretador/pilha-escopos-execucao.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/lexador/dialetos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/lexador/dialetos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC"}
@@ -0,0 +1,25 @@
1
+ import { LexadorInterface, SimboloInterface } from '../../interfaces';
2
+ import { RetornoLexador } from '../../interfaces/retornos';
3
+ import { ErroLexador } from '../erro-lexador';
4
+ export declare class LexadorBirl implements LexadorInterface {
5
+ simbolos: SimboloInterface[];
6
+ codigo: string | string[];
7
+ inicioSimbolo: number;
8
+ atual: number;
9
+ linha: number;
10
+ erros: ErroLexador[];
11
+ eDigito(caractere: string): boolean;
12
+ eAlfabeto(caractere: string): boolean;
13
+ eAlfabetoOuDigito(caractere: string): boolean;
14
+ eFinalDoCodigo(): boolean;
15
+ avancar(): string | void;
16
+ adicionarSimbolo(tipo: string, literal?: any): void;
17
+ simboloAtual(): string;
18
+ proximoSimbolo(): string;
19
+ simboloAnterior(): string;
20
+ analisarTexto(delimitador: string): void;
21
+ analisarNumero(): void;
22
+ identificarPalavraChave(): void;
23
+ analisarToken(): void;
24
+ mapear(codigo: string[], hashArquivo: number): RetornoLexador;
25
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LexadorBirl = void 0;
7
+ var birl_1 = __importDefault(require("../../tipos-de-simbolos/birl"));
8
+ var LexadorBirl = /** @class */ (function () {
9
+ function LexadorBirl() {
10
+ }
11
+ LexadorBirl.prototype.eDigito = function (caractere) {
12
+ throw new Error('Method not implemented.');
13
+ };
14
+ LexadorBirl.prototype.eAlfabeto = function (caractere) {
15
+ throw new Error('Method not implemented.');
16
+ };
17
+ LexadorBirl.prototype.eAlfabetoOuDigito = function (caractere) {
18
+ throw new Error('Method not implemented.');
19
+ };
20
+ LexadorBirl.prototype.eFinalDoCodigo = function () {
21
+ throw new Error('Method not implemented.');
22
+ };
23
+ LexadorBirl.prototype.avancar = function () {
24
+ throw new Error('Method not implemented.');
25
+ };
26
+ LexadorBirl.prototype.adicionarSimbolo = function (tipo, literal) {
27
+ throw new Error('Method not implemented.');
28
+ };
29
+ LexadorBirl.prototype.simboloAtual = function () {
30
+ throw new Error('Method not implemented.');
31
+ };
32
+ LexadorBirl.prototype.proximoSimbolo = function () {
33
+ throw new Error('Method not implemented.');
34
+ };
35
+ LexadorBirl.prototype.simboloAnterior = function () {
36
+ throw new Error('Method not implemented.');
37
+ };
38
+ LexadorBirl.prototype.analisarTexto = function (delimitador) {
39
+ throw new Error('Method not implemented.');
40
+ };
41
+ LexadorBirl.prototype.analisarNumero = function () {
42
+ throw new Error('Method not implemented.');
43
+ };
44
+ LexadorBirl.prototype.identificarPalavraChave = function () {
45
+ throw new Error('Method not implemented.');
46
+ };
47
+ LexadorBirl.prototype.analisarToken = function () {
48
+ var caractere = this.avancar();
49
+ switch (caractere) {
50
+ case '(':
51
+ this.adicionarSimbolo(birl_1.default.PARENTESE_ESQUERDO);
52
+ break;
53
+ case ')':
54
+ this.adicionarSimbolo(birl_1.default.PARENTESE_DIREITO);
55
+ break;
56
+ default:
57
+ if (this.eDigito(caractere))
58
+ this.analisarNumero();
59
+ else if (this.eAlfabeto(caractere))
60
+ this.identificarPalavraChave();
61
+ else
62
+ this.erros.push({
63
+ linha: this.linha,
64
+ caractere: caractere,
65
+ mensagem: 'Caractere inesperado.',
66
+ });
67
+ }
68
+ };
69
+ LexadorBirl.prototype.mapear = function (codigo, hashArquivo) {
70
+ throw new Error('Method not implemented.');
71
+ };
72
+ return LexadorBirl;
73
+ }());
74
+ exports.LexadorBirl = LexadorBirl;
75
+ //# sourceMappingURL=lexador-birl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexador-birl.js","sourceRoot":"","sources":["../../../../fontes/lexador/dialetos/lexador-birl.ts"],"names":[],"mappings":";;;;;;AAGA,sEAA2D;AAE3D;IAAA;IAqEA,CAAC;IA7DG,6BAAO,GAAP,UAAQ,SAAiB;QACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,+BAAS,GAAT,UAAU,SAAiB;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,uCAAiB,GAAjB,UAAkB,SAAiB;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,oCAAc,GAAd;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,6BAAO,GAAP;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,sCAAgB,GAAhB,UAAiB,IAAY,EAAE,OAAa;QACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,kCAAY,GAAZ;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,oCAAc,GAAd;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,qCAAe,GAAf;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,mCAAa,GAAb,UAAc,WAAmB;QAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,oCAAc,GAAd;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,6CAAuB,GAAvB;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,mCAAa,GAAb;QACI,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAEjC,QAAQ,SAAS,EAAE;YACf,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,cAAe,CAAC,kBAAkB,CAAC,CAAC;gBAC1D,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,cAAe,CAAC,iBAAiB,CAAC,CAAC;gBACzD,MAAM;YACV;gBACI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAmB,CAAC;oBAAE,IAAI,CAAC,cAAc,EAAE,CAAC;qBACxD,IAAI,IAAI,CAAC,SAAS,CAAC,SAAmB,CAAC;oBACxC,IAAI,CAAC,uBAAuB,EAAE,CAAC;;oBAE/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,SAAS,EAAE,SAAS;wBACpB,QAAQ,EAAE,uBAAuB;qBACrB,CAAC,CAAC;SAC7B;IACL,CAAC;IACD,4BAAM,GAAN,UAAO,MAAgB,EAAE,WAAmB;QACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACL,kBAAC;AAAD,CAAC,AArED,IAqEC;AArEY,kCAAW"}