@designliquido/delegua 0.2.1 → 0.2.2

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 (376) hide show
  1. package/bin/package.json +2 -1
  2. package/{src → fontes}/ambiente.d.ts +4 -3
  3. package/{src → fontes}/ambiente.js +7 -7
  4. package/fontes/ambiente.js.map +1 -0
  5. package/fontes/avaliador-sintatico/dialetos/egua-classico.d.ts +63 -0
  6. package/{src → fontes}/avaliador-sintatico/dialetos/egua-classico.js +230 -217
  7. package/fontes/avaliador-sintatico/dialetos/egua-classico.js.map +1 -0
  8. package/{src → fontes}/avaliador-sintatico/dialetos/index.d.ts +0 -0
  9. package/{src → fontes}/avaliador-sintatico/dialetos/index.js +0 -0
  10. package/fontes/avaliador-sintatico/dialetos/index.js.map +1 -0
  11. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -0
  12. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +30 -0
  13. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js.map +1 -0
  14. package/fontes/avaliador-sintatico/index.d.ts +66 -0
  15. package/{src → fontes}/avaliador-sintatico/index.js +231 -216
  16. package/fontes/avaliador-sintatico/index.js.map +1 -0
  17. package/fontes/avaliador-sintatico/retorno-avaliador-sintatico.d.ts +6 -0
  18. package/fontes/avaliador-sintatico/retorno-avaliador-sintatico.js +3 -0
  19. package/fontes/avaliador-sintatico/retorno-avaliador-sintatico.js.map +1 -0
  20. package/{src → fontes}/bibliotecas/biblioteca-global.d.ts +0 -0
  21. package/{src → fontes}/bibliotecas/biblioteca-global.js +4 -4
  22. package/fontes/bibliotecas/biblioteca-global.js.map +1 -0
  23. package/{src → fontes}/bibliotecas/importar-biblioteca.d.ts +0 -0
  24. package/{src → fontes}/bibliotecas/importar-biblioteca.js +0 -0
  25. package/fontes/bibliotecas/importar-biblioteca.js.map +1 -0
  26. package/fontes/construtos/acesso-indice-variavel.d.ts +13 -0
  27. package/fontes/construtos/acesso-indice-variavel.js +21 -0
  28. package/fontes/construtos/acesso-indice-variavel.js.map +1 -0
  29. package/fontes/construtos/acesso-metodo.d.ts +13 -0
  30. package/fontes/construtos/acesso-metodo.js +20 -0
  31. package/fontes/construtos/acesso-metodo.js.map +1 -0
  32. package/fontes/construtos/agrupamento.d.ts +7 -0
  33. package/fontes/construtos/agrupamento.js +15 -0
  34. package/fontes/construtos/agrupamento.js.map +1 -0
  35. package/{src → fontes}/construtos/atribuicao-sobrescrita.d.ts +2 -1
  36. package/{src → fontes}/construtos/atribuicao-sobrescrita.js +2 -1
  37. package/fontes/construtos/atribuicao-sobrescrita.js.map +1 -0
  38. package/fontes/construtos/atribuir.d.ts +9 -0
  39. package/{src → fontes}/construtos/atribuir.js +3 -2
  40. package/fontes/construtos/atribuir.js.map +1 -0
  41. package/{src → fontes}/construtos/binario.d.ts +1 -0
  42. package/{src → fontes}/construtos/binario.js +1 -0
  43. package/fontes/construtos/binario.js.map +1 -0
  44. package/{src → fontes}/construtos/chamada.d.ts +3 -2
  45. package/{src → fontes}/construtos/chamada.js +1 -0
  46. package/fontes/construtos/chamada.js.map +1 -0
  47. package/{src → fontes}/construtos/conjunto.d.ts +2 -1
  48. package/{src → fontes}/construtos/conjunto.js +2 -1
  49. package/fontes/construtos/conjunto.js.map +1 -0
  50. package/{src → fontes}/construtos/construto.d.ts +1 -0
  51. package/{src → fontes}/construtos/construto.js +0 -0
  52. package/fontes/construtos/construto.js.map +1 -0
  53. package/{src → fontes}/construtos/dicionario.d.ts +2 -1
  54. package/{src → fontes}/construtos/dicionario.js +2 -1
  55. package/fontes/construtos/dicionario.js.map +1 -0
  56. package/{src → fontes}/construtos/funcao.d.ts +2 -1
  57. package/{src → fontes}/construtos/funcao.js +2 -1
  58. package/fontes/construtos/funcao.js.map +1 -0
  59. package/{src → fontes}/construtos/index.d.ts +4 -4
  60. package/{src → fontes}/construtos/index.js +4 -4
  61. package/fontes/construtos/index.js.map +1 -0
  62. package/{src → fontes}/construtos/isto.d.ts +2 -1
  63. package/{src → fontes}/construtos/isto.js +2 -1
  64. package/fontes/construtos/isto.js.map +1 -0
  65. package/{src → fontes}/construtos/literal.d.ts +2 -1
  66. package/{src → fontes}/construtos/literal.js +2 -1
  67. package/fontes/construtos/literal.js.map +1 -0
  68. package/{src/construtos/logical.d.ts → fontes/construtos/logico.d.ts} +2 -1
  69. package/fontes/construtos/logico.js +17 -0
  70. package/fontes/construtos/logico.js.map +1 -0
  71. package/{src → fontes}/construtos/super.d.ts +2 -1
  72. package/{src → fontes}/construtos/super.js +2 -1
  73. package/fontes/construtos/super.js.map +1 -0
  74. package/{src → fontes}/construtos/unario.d.ts +1 -0
  75. package/{src → fontes}/construtos/unario.js +1 -0
  76. package/fontes/construtos/unario.js.map +1 -0
  77. package/fontes/construtos/variavel.d.ts +8 -0
  78. package/{src → fontes}/construtos/variavel.js +3 -2
  79. package/fontes/construtos/variavel.js.map +1 -0
  80. package/{src → fontes}/construtos/vetor.d.ts +2 -1
  81. package/{src → fontes}/construtos/vetor.js +2 -1
  82. package/fontes/construtos/vetor.js.map +1 -0
  83. package/{src → fontes}/declaracoes/bloco.d.ts +0 -0
  84. package/{src → fontes}/declaracoes/bloco.js +1 -1
  85. package/fontes/declaracoes/bloco.js.map +1 -0
  86. package/{src → fontes}/declaracoes/classe.d.ts +3 -2
  87. package/{src → fontes}/declaracoes/classe.js +3 -3
  88. package/fontes/declaracoes/classe.js.map +1 -0
  89. package/{src → fontes}/declaracoes/continua.d.ts +0 -0
  90. package/{src → fontes}/declaracoes/continua.js +1 -1
  91. package/fontes/declaracoes/continua.js.map +1 -0
  92. package/{src → fontes}/declaracoes/declaracao.d.ts +2 -0
  93. package/{src → fontes}/declaracoes/declaracao.js +2 -1
  94. package/fontes/declaracoes/declaracao.js.map +1 -0
  95. package/{src → fontes}/declaracoes/enquanto.d.ts +0 -0
  96. package/{src → fontes}/declaracoes/enquanto.js +1 -1
  97. package/fontes/declaracoes/enquanto.js.map +1 -0
  98. package/{src → fontes}/declaracoes/escolha.d.ts +3 -3
  99. package/{src → fontes}/declaracoes/escolha.js +4 -4
  100. package/fontes/declaracoes/escolha.js.map +1 -0
  101. package/{src → fontes}/declaracoes/escreva.d.ts +0 -0
  102. package/{src → fontes}/declaracoes/escreva.js +1 -1
  103. package/fontes/declaracoes/escreva.js.map +1 -0
  104. package/{src → fontes}/declaracoes/expressao.d.ts +3 -2
  105. package/{src → fontes}/declaracoes/expressao.js +1 -1
  106. package/fontes/declaracoes/expressao.js.map +1 -0
  107. package/{src → fontes}/declaracoes/fazer.d.ts +3 -3
  108. package/{src → fontes}/declaracoes/fazer.js +4 -4
  109. package/fontes/declaracoes/fazer.js.map +1 -0
  110. package/fontes/declaracoes/funcao.d.ts +8 -0
  111. package/{src → fontes}/declaracoes/funcao.js +3 -3
  112. package/fontes/declaracoes/funcao.js.map +1 -0
  113. package/fontes/declaracoes/importar.d.ts +8 -0
  114. package/{src → fontes}/declaracoes/importar.js +3 -3
  115. package/fontes/declaracoes/importar.js.map +1 -0
  116. package/{src → fontes}/declaracoes/index.d.ts +1 -1
  117. package/{src → fontes}/declaracoes/index.js +1 -1
  118. package/fontes/declaracoes/index.js.map +1 -0
  119. package/{src → fontes}/declaracoes/para.d.ts +1 -1
  120. package/{src → fontes}/declaracoes/para.js +2 -2
  121. package/fontes/declaracoes/para.js.map +1 -0
  122. package/{src → fontes}/declaracoes/retorna.d.ts +0 -0
  123. package/{src → fontes}/declaracoes/retorna.js +1 -1
  124. package/fontes/declaracoes/retorna.js.map +1 -0
  125. package/fontes/declaracoes/se.d.ts +9 -0
  126. package/{src → fontes}/declaracoes/se.js +5 -5
  127. package/fontes/declaracoes/se.js.map +1 -0
  128. package/{src/declaracoes/pausa.d.ts → fontes/declaracoes/sustar.d.ts} +1 -1
  129. package/{src/declaracoes/pausa.js → fontes/declaracoes/sustar.js} +10 -10
  130. package/fontes/declaracoes/sustar.js.map +1 -0
  131. package/fontes/declaracoes/tente.d.ts +9 -0
  132. package/{src → fontes}/declaracoes/tente.js +6 -6
  133. package/fontes/declaracoes/tente.js.map +1 -0
  134. package/fontes/declaracoes/var.d.ts +8 -0
  135. package/{src → fontes}/declaracoes/var.js +3 -3
  136. package/fontes/declaracoes/var.js.map +1 -0
  137. package/{src → fontes}/delegua.d.ts +6 -7
  138. package/fontes/delegua.js +174 -0
  139. package/fontes/delegua.js.map +1 -0
  140. package/{src → fontes}/estruturas/chamavel.d.ts +0 -0
  141. package/{src → fontes}/estruturas/chamavel.js +0 -0
  142. package/fontes/estruturas/chamavel.js.map +1 -0
  143. package/{src → fontes}/estruturas/classe.d.ts +0 -0
  144. package/{src → fontes}/estruturas/classe.js +0 -0
  145. package/fontes/estruturas/classe.js.map +1 -0
  146. package/{src → fontes}/estruturas/funcao-padrao.d.ts +0 -0
  147. package/{src → fontes}/estruturas/funcao-padrao.js +0 -0
  148. package/fontes/estruturas/funcao-padrao.js.map +1 -0
  149. package/{src → fontes}/estruturas/funcao.d.ts +0 -0
  150. package/{src → fontes}/estruturas/funcao.js +0 -0
  151. package/fontes/estruturas/funcao.js.map +1 -0
  152. package/{src → fontes}/estruturas/index.d.ts +0 -0
  153. package/{src → fontes}/estruturas/index.js +0 -0
  154. package/fontes/estruturas/index.js.map +1 -0
  155. package/fontes/estruturas/instancia.d.ts +9 -0
  156. package/{src → fontes}/estruturas/instancia.js +7 -7
  157. package/fontes/estruturas/instancia.js.map +1 -0
  158. package/{src → fontes}/estruturas/modulo.d.ts +4 -0
  159. package/{src → fontes}/estruturas/modulo.js +3 -3
  160. package/fontes/estruturas/modulo.js.map +1 -0
  161. package/fontes/excecoes/erro-em-tempo-de-execucao.d.ts +7 -0
  162. package/{src → fontes}/excecoes/erro-em-tempo-de-execucao.js +2 -1
  163. package/fontes/excecoes/erro-em-tempo-de-execucao.js.map +1 -0
  164. package/{src → fontes}/excecoes/excecao-continuar.d.ts +0 -0
  165. package/{src → fontes}/excecoes/excecao-continuar.js +0 -0
  166. package/fontes/excecoes/excecao-continuar.js.map +1 -0
  167. package/{src → fontes}/excecoes/excecao-retornar.d.ts +0 -0
  168. package/{src → fontes}/excecoes/excecao-retornar.js +0 -0
  169. package/fontes/excecoes/excecao-retornar.js.map +1 -0
  170. package/fontes/excecoes/excecao-sustar.d.ts +2 -0
  171. package/{src/excecoes/excecao-quebra.js → fontes/excecoes/excecao-sustar.js} +7 -7
  172. package/fontes/excecoes/excecao-sustar.js.map +1 -0
  173. package/{src → fontes}/excecoes/index.d.ts +1 -1
  174. package/{src → fontes}/excecoes/index.js +1 -1
  175. package/fontes/excecoes/index.js.map +1 -0
  176. package/fontes/interfaces/avaliador-sintatico-interface.d.ts +59 -0
  177. package/{src → fontes}/interfaces/avaliador-sintatico-interface.js +0 -0
  178. package/fontes/interfaces/avaliador-sintatico-interface.js.map +1 -0
  179. package/{src → fontes}/interfaces/index.d.ts +0 -0
  180. package/{src → fontes}/interfaces/index.js +0 -0
  181. package/fontes/interfaces/index.js.map +1 -0
  182. package/fontes/interfaces/interpretador-interface.d.ts +53 -0
  183. package/{src → fontes}/interfaces/interpretador-interface.js +0 -0
  184. package/fontes/interfaces/interpretador-interface.js.map +1 -0
  185. package/fontes/interfaces/lexador-interface.d.ts +24 -0
  186. package/{src → fontes}/interfaces/lexador-interface.js +0 -0
  187. package/fontes/interfaces/lexador-interface.js.map +1 -0
  188. package/{src → fontes}/interfaces/pilha-interface.d.ts +0 -0
  189. package/{src → fontes}/interfaces/pilha-interface.js +0 -0
  190. package/fontes/interfaces/pilha-interface.js.map +1 -0
  191. package/fontes/interfaces/resolvedor-interface.d.ts +53 -0
  192. package/{src → fontes}/interfaces/resolvedor-interface.js +0 -0
  193. package/fontes/interfaces/resolvedor-interface.js.map +1 -0
  194. package/{src → fontes}/interfaces/simbolo-interface.d.ts +0 -0
  195. package/{src → fontes}/interfaces/simbolo-interface.js +0 -0
  196. package/fontes/interfaces/simbolo-interface.js.map +1 -0
  197. package/fontes/interpretador/dialetos/egua-classico.d.ts +62 -0
  198. package/{src → fontes}/interpretador/dialetos/egua-classico.js +211 -185
  199. package/fontes/interpretador/dialetos/egua-classico.js.map +1 -0
  200. package/{src → fontes}/interpretador/dialetos/index.d.ts +0 -0
  201. package/{src → fontes}/interpretador/dialetos/index.js +0 -0
  202. package/fontes/interpretador/dialetos/index.js.map +1 -0
  203. package/fontes/interpretador/index.d.ts +63 -0
  204. package/{src → fontes}/interpretador/index.js +245 -226
  205. package/fontes/interpretador/index.js.map +1 -0
  206. package/{src → fontes}/lexador/dialetos/egua-classico.d.ts +11 -9
  207. package/{src → fontes}/lexador/dialetos/egua-classico.js +103 -54
  208. package/fontes/lexador/dialetos/egua-classico.js.map +1 -0
  209. package/{src → fontes}/lexador/dialetos/index.d.ts +0 -0
  210. package/{src → fontes}/lexador/dialetos/index.js +0 -0
  211. package/fontes/lexador/dialetos/index.js.map +1 -0
  212. package/fontes/lexador/erro-lexador.d.ts +5 -0
  213. package/fontes/lexador/erro-lexador.js +3 -0
  214. package/fontes/lexador/erro-lexador.js.map +1 -0
  215. package/{src → fontes}/lexador/index.d.ts +5 -4
  216. package/{src → fontes}/lexador/index.js +21 -9
  217. package/fontes/lexador/index.js.map +1 -0
  218. package/fontes/lexador/retorno-lexador.d.ts +6 -0
  219. package/fontes/lexador/retorno-lexador.js +3 -0
  220. package/fontes/lexador/retorno-lexador.js.map +1 -0
  221. package/fontes/resolvedor/dialetos/egua-classico.d.ts +62 -0
  222. package/fontes/resolvedor/dialetos/egua-classico.js +343 -0
  223. package/fontes/resolvedor/dialetos/egua-classico.js.map +1 -0
  224. package/{src → fontes}/resolvedor/dialetos/index.d.ts +0 -0
  225. package/{src → fontes}/resolvedor/dialetos/index.js +0 -0
  226. package/fontes/resolvedor/dialetos/index.js.map +1 -0
  227. package/fontes/resolvedor/erro-resolvedor.d.ts +5 -0
  228. package/{src → fontes}/resolvedor/erro-resolvedor.js +3 -2
  229. package/fontes/resolvedor/erro-resolvedor.js.map +1 -0
  230. package/fontes/resolvedor/index.d.ts +62 -0
  231. package/fontes/resolvedor/index.js +342 -0
  232. package/fontes/resolvedor/index.js.map +1 -0
  233. package/{src → fontes}/resolvedor/pilha-escopos.d.ts +0 -0
  234. package/{src → fontes}/resolvedor/pilha-escopos.js +0 -0
  235. package/fontes/resolvedor/pilha-escopos.js.map +1 -0
  236. package/fontes/resolvedor/retorno-resolvedor.d.ts +4 -0
  237. package/fontes/resolvedor/retorno-resolvedor.js +3 -0
  238. package/fontes/resolvedor/retorno-resolvedor.js.map +1 -0
  239. package/{src → fontes}/tiposDeSimbolos.d.ts +0 -0
  240. package/{src → fontes}/tiposDeSimbolos.js +0 -0
  241. package/fontes/tiposDeSimbolos.js.map +1 -0
  242. package/index.js +1 -1
  243. package/index.js.map +1 -1
  244. package/package.json +2 -1
  245. package/testes/avaliador-sintatico.test.js +14 -14
  246. package/testes/avaliador-sintatico.test.js.map +1 -1
  247. package/testes/biblioteca-global.test.d.ts +1 -0
  248. package/testes/biblioteca-global.test.js +131 -0
  249. package/testes/biblioteca-global.test.js.map +1 -0
  250. package/testes/egua-classico/avaliador-sintatico.test.d.ts +1 -0
  251. package/testes/egua-classico/avaliador-sintatico.test.js +33 -0
  252. package/testes/egua-classico/avaliador-sintatico.test.js.map +1 -0
  253. package/testes/egua-classico/interpretador.test.d.ts +1 -0
  254. package/testes/egua-classico/interpretador.test.js +219 -0
  255. package/testes/egua-classico/interpretador.test.js.map +1 -0
  256. package/testes/egua-classico/lexador.test.d.ts +1 -0
  257. package/testes/egua-classico/lexador.test.js +80 -0
  258. package/testes/egua-classico/lexador.test.js.map +1 -0
  259. package/testes/egua-classico/resolvedor.test.d.ts +1 -0
  260. package/testes/egua-classico/resolvedor.test.js +38 -0
  261. package/testes/egua-classico/resolvedor.test.js.map +1 -0
  262. package/testes/interpretador.test.js +154 -75
  263. package/testes/interpretador.test.js.map +1 -1
  264. package/testes/lexador.test.js +17 -14
  265. package/testes/lexador.test.js.map +1 -1
  266. package/testes/resolvedor.test.js +4 -4
  267. package/testes/resolvedor.test.js.map +1 -1
  268. package/src/ambiente.js.map +0 -1
  269. package/src/avaliador-sintatico/dialetos/egua-classico.d.ts +0 -60
  270. package/src/avaliador-sintatico/dialetos/egua-classico.js.map +0 -1
  271. package/src/avaliador-sintatico/dialetos/index.js.map +0 -1
  272. package/src/avaliador-sintatico/erros-avaliador.d.ts +0 -2
  273. package/src/avaliador-sintatico/erros-avaliador.js +0 -27
  274. package/src/avaliador-sintatico/erros-avaliador.js.map +0 -1
  275. package/src/avaliador-sintatico/index.d.ts +0 -62
  276. package/src/avaliador-sintatico/index.js.map +0 -1
  277. package/src/bibliotecas/biblioteca-global.js.map +0 -1
  278. package/src/bibliotecas/importar-biblioteca.js.map +0 -1
  279. package/src/construtos/atribuicao-sobrescrita.js.map +0 -1
  280. package/src/construtos/atribuir.d.ts +0 -7
  281. package/src/construtos/atribuir.js.map +0 -1
  282. package/src/construtos/binario.js.map +0 -1
  283. package/src/construtos/chamada.js.map +0 -1
  284. package/src/construtos/conjunto.js.map +0 -1
  285. package/src/construtos/construto.js.map +0 -1
  286. package/src/construtos/dicionario.js.map +0 -1
  287. package/src/construtos/funcao.js.map +0 -1
  288. package/src/construtos/get.d.ts +0 -7
  289. package/src/construtos/get.js +0 -15
  290. package/src/construtos/get.js.map +0 -1
  291. package/src/construtos/grouping.d.ts +0 -6
  292. package/src/construtos/grouping.js +0 -14
  293. package/src/construtos/grouping.js.map +0 -1
  294. package/src/construtos/index.js.map +0 -1
  295. package/src/construtos/isto.js.map +0 -1
  296. package/src/construtos/literal.js.map +0 -1
  297. package/src/construtos/logical.js +0 -16
  298. package/src/construtos/logical.js.map +0 -1
  299. package/src/construtos/subscript.d.ts +0 -8
  300. package/src/construtos/subscript.js +0 -16
  301. package/src/construtos/subscript.js.map +0 -1
  302. package/src/construtos/super.js.map +0 -1
  303. package/src/construtos/unario.js.map +0 -1
  304. package/src/construtos/variavel.d.ts +0 -6
  305. package/src/construtos/variavel.js.map +0 -1
  306. package/src/construtos/vetor.js.map +0 -1
  307. package/src/declaracoes/bloco.js.map +0 -1
  308. package/src/declaracoes/classe.js.map +0 -1
  309. package/src/declaracoes/continua.js.map +0 -1
  310. package/src/declaracoes/declaracao.js.map +0 -1
  311. package/src/declaracoes/enquanto.js.map +0 -1
  312. package/src/declaracoes/escolha.js.map +0 -1
  313. package/src/declaracoes/escreva.js.map +0 -1
  314. package/src/declaracoes/expressao.js.map +0 -1
  315. package/src/declaracoes/fazer.js.map +0 -1
  316. package/src/declaracoes/funcao.d.ts +0 -7
  317. package/src/declaracoes/funcao.js.map +0 -1
  318. package/src/declaracoes/importar.d.ts +0 -7
  319. package/src/declaracoes/importar.js.map +0 -1
  320. package/src/declaracoes/index.js.map +0 -1
  321. package/src/declaracoes/para.js.map +0 -1
  322. package/src/declaracoes/pausa.js.map +0 -1
  323. package/src/declaracoes/retorna.js.map +0 -1
  324. package/src/declaracoes/se.d.ts +0 -9
  325. package/src/declaracoes/se.js.map +0 -1
  326. package/src/declaracoes/tente.d.ts +0 -9
  327. package/src/declaracoes/tente.js.map +0 -1
  328. package/src/declaracoes/var.d.ts +0 -7
  329. package/src/declaracoes/var.js.map +0 -1
  330. package/src/delegua.js +0 -138
  331. package/src/delegua.js.map +0 -1
  332. package/src/estruturas/chamavel.js.map +0 -1
  333. package/src/estruturas/classe.js.map +0 -1
  334. package/src/estruturas/funcao-padrao.js.map +0 -1
  335. package/src/estruturas/funcao.js.map +0 -1
  336. package/src/estruturas/index.js.map +0 -1
  337. package/src/estruturas/instancia.d.ts +0 -8
  338. package/src/estruturas/instancia.js.map +0 -1
  339. package/src/estruturas/modulo.js.map +0 -1
  340. package/src/excecoes/erro-em-tempo-de-execucao.d.ts +0 -5
  341. package/src/excecoes/erro-em-tempo-de-execucao.js.map +0 -1
  342. package/src/excecoes/excecao-continuar.js.map +0 -1
  343. package/src/excecoes/excecao-quebra.d.ts +0 -2
  344. package/src/excecoes/excecao-quebra.js.map +0 -1
  345. package/src/excecoes/excecao-retornar.js.map +0 -1
  346. package/src/excecoes/index.js.map +0 -1
  347. package/src/interfaces/avaliador-sintatico-interface.d.ts +0 -55
  348. package/src/interfaces/avaliador-sintatico-interface.js.map +0 -1
  349. package/src/interfaces/index.js.map +0 -1
  350. package/src/interfaces/interpretador-interface.d.ts +0 -51
  351. package/src/interfaces/interpretador-interface.js.map +0 -1
  352. package/src/interfaces/lexador-interface.d.ts +0 -23
  353. package/src/interfaces/lexador-interface.js.map +0 -1
  354. package/src/interfaces/pilha-interface.js.map +0 -1
  355. package/src/interfaces/resolvedor-interface.d.ts +0 -50
  356. package/src/interfaces/resolvedor-interface.js.map +0 -1
  357. package/src/interfaces/simbolo-interface.js.map +0 -1
  358. package/src/interpretador/dialetos/egua-classico.d.ts +0 -58
  359. package/src/interpretador/dialetos/egua-classico.js.map +0 -1
  360. package/src/interpretador/dialetos/index.js.map +0 -1
  361. package/src/interpretador/index.d.ts +0 -59
  362. package/src/interpretador/index.js.map +0 -1
  363. package/src/lexador/dialetos/egua-classico.js.map +0 -1
  364. package/src/lexador/dialetos/index.js.map +0 -1
  365. package/src/lexador/index.js.map +0 -1
  366. package/src/resolvedor/dialetos/egua-classico.d.ts +0 -59
  367. package/src/resolvedor/dialetos/egua-classico.js +0 -331
  368. package/src/resolvedor/dialetos/egua-classico.js.map +0 -1
  369. package/src/resolvedor/dialetos/index.js.map +0 -1
  370. package/src/resolvedor/erro-resolvedor.d.ts +0 -4
  371. package/src/resolvedor/erro-resolvedor.js.map +0 -1
  372. package/src/resolvedor/index.d.ts +0 -60
  373. package/src/resolvedor/index.js +0 -331
  374. package/src/resolvedor/index.js.map +0 -1
  375. package/src/resolvedor/pilha-escopos.js.map +0 -1
  376. package/src/tiposDeSimbolos.js.map +0 -1
@@ -1,23 +1,44 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
29
  exports.Interpretador = void 0;
4
- var tiposDeSimbolos_1 = require("../tiposDeSimbolos");
30
+ var caminho = __importStar(require("path"));
31
+ var fs = __importStar(require("fs"));
5
32
  var perf_hooks_1 = require("perf_hooks");
33
+ var tiposDeSimbolos_1 = __importDefault(require("../tiposDeSimbolos"));
6
34
  var ambiente_1 = require("../ambiente");
7
35
  var delegua_1 = require("../delegua");
8
- var biblioteca_global_1 = require("../bibliotecas/biblioteca-global");
9
- var caminho = require("path");
10
- var fs = require("fs");
11
- var importar_biblioteca_1 = require("../bibliotecas/importar-biblioteca");
12
- var chamavel_1 = require("../estruturas/chamavel");
13
- var funcao_padrao_1 = require("../estruturas/funcao-padrao");
14
- var classe_1 = require("../estruturas/classe");
15
- var funcao_1 = require("../estruturas/funcao");
16
- var instancia_1 = require("../estruturas/instancia");
17
- var modulo_1 = require("../estruturas/modulo");
36
+ var biblioteca_global_1 = __importDefault(require("../bibliotecas/biblioteca-global"));
37
+ var importar_biblioteca_1 = __importDefault(require("../bibliotecas/importar-biblioteca"));
18
38
  var excecoes_1 = require("../excecoes");
39
+ var estruturas_1 = require("../estruturas");
19
40
  /**
20
- * O Interpretador visita todos os elementos complexos gerados pelo analisador sintático (Parser)
41
+ * O Interpretador visita todos os elementos complexos gerados pelo analisador sintático (Parser),
21
42
  * e de fato executa a lógica de programação descrita no código.
22
43
  */
23
44
  var Interpretador = /** @class */ (function () {
@@ -31,19 +52,19 @@ var Interpretador = /** @class */ (function () {
31
52
  this.locais = new Map();
32
53
  this.global = (0, biblioteca_global_1.default)(this, this.global);
33
54
  }
34
- Interpretador.prototype.resolver = function (expr, depth) {
35
- this.locais.set(expr, depth);
55
+ Interpretador.prototype.resolver = function (expressao, profundidade) {
56
+ this.locais.set(expressao, profundidade);
36
57
  };
37
- Interpretador.prototype.visitarExpressaoLiteral = function (expr) {
38
- return expr.valor;
58
+ Interpretador.prototype.visitarExpressaoLiteral = function (expressao) {
59
+ return expressao.valor;
39
60
  };
40
- Interpretador.prototype.avaliar = function (expr) {
41
- if (expr.aceitar) {
42
- return expr.aceitar(this);
61
+ Interpretador.prototype.avaliar = function (expressao) {
62
+ if (expressao.aceitar) {
63
+ return expressao.aceitar(this);
43
64
  }
44
65
  };
45
- Interpretador.prototype.visitarExpressaoAgrupamento = function (expr) {
46
- return this.avaliar(expr.expressao);
66
+ Interpretador.prototype.visitarExpressaoAgrupamento = function (expressao) {
67
+ return this.avaliar(expressao.expressao);
47
68
  };
48
69
  Interpretador.prototype.eVerdadeiro = function (objeto) {
49
70
  if (objeto === null)
@@ -55,13 +76,13 @@ var Interpretador = /** @class */ (function () {
55
76
  Interpretador.prototype.verificarOperandoNumero = function (operador, operando) {
56
77
  if (typeof operando === 'number')
57
78
  return;
58
- throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Operando precisa ser um número.');
79
+ throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Operando precisa ser um número.', operador.linha);
59
80
  };
60
- Interpretador.prototype.visitarExpressaoUnaria = function (expr) {
61
- var direita = this.avaliar(expr.direita);
62
- switch (expr.operador.tipo) {
81
+ Interpretador.prototype.visitarExpressaoUnaria = function (expressao) {
82
+ var direita = this.avaliar(expressao.direita);
83
+ switch (expressao.operador.tipo) {
63
84
  case tiposDeSimbolos_1.default.SUBTRACAO:
64
- this.verificarOperandoNumero(expr.operador, direita);
85
+ this.verificarOperandoNumero(expressao.operador, direita);
65
86
  return -direita;
66
87
  case tiposDeSimbolos_1.default.NEGACAO:
67
88
  return !this.eVerdadeiro(direita);
@@ -80,29 +101,29 @@ var Interpretador = /** @class */ (function () {
80
101
  Interpretador.prototype.verificarOperandosNumeros = function (operador, direita, esquerda) {
81
102
  if (typeof direita === 'number' && typeof esquerda === 'number')
82
103
  return;
83
- throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Operandos precisam ser números.');
104
+ throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Operandos precisam ser números.', operador.linha);
84
105
  };
85
- Interpretador.prototype.visitarExpressaoBinaria = function (expr) {
86
- var esquerda = this.avaliar(expr.esquerda);
87
- var direita = this.avaliar(expr.direita);
88
- switch (expr.operador.tipo) {
106
+ Interpretador.prototype.visitarExpressaoBinaria = function (expressao) {
107
+ var esquerda = this.avaliar(expressao.esquerda);
108
+ var direita = this.avaliar(expressao.direita);
109
+ switch (expressao.operador.tipo) {
89
110
  case tiposDeSimbolos_1.default.EXPONENCIACAO:
90
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
111
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
91
112
  return Math.pow(esquerda, direita);
92
113
  case tiposDeSimbolos_1.default.MAIOR:
93
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
114
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
94
115
  return Number(esquerda) > Number(direita);
95
116
  case tiposDeSimbolos_1.default.MAIOR_IGUAL:
96
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
117
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
97
118
  return Number(esquerda) >= Number(direita);
98
119
  case tiposDeSimbolos_1.default.MENOR:
99
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
120
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
100
121
  return Number(esquerda) < Number(direita);
101
122
  case tiposDeSimbolos_1.default.MENOR_IGUAL:
102
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
123
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
103
124
  return Number(esquerda) <= Number(direita);
104
125
  case tiposDeSimbolos_1.default.SUBTRACAO:
105
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
126
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
106
127
  return Number(esquerda) - Number(direita);
107
128
  case tiposDeSimbolos_1.default.ADICAO:
108
129
  if (typeof esquerda === 'number' &&
@@ -113,28 +134,28 @@ var Interpretador = /** @class */ (function () {
113
134
  return String(esquerda) + String(direita);
114
135
  }
115
136
  case tiposDeSimbolos_1.default.DIVISAO:
116
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
137
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
117
138
  return Number(esquerda) / Number(direita);
118
139
  case tiposDeSimbolos_1.default.MULTIPLICACAO:
119
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
140
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
120
141
  return Number(esquerda) * Number(direita);
121
142
  case tiposDeSimbolos_1.default.MODULO:
122
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
143
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
123
144
  return Number(esquerda) % Number(direita);
124
145
  case tiposDeSimbolos_1.default.BIT_AND:
125
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
146
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
126
147
  return Number(esquerda) & Number(direita);
127
148
  case tiposDeSimbolos_1.default.BIT_XOR:
128
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
149
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
129
150
  return Number(esquerda) ^ Number(direita);
130
151
  case tiposDeSimbolos_1.default.BIT_OR:
131
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
152
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
132
153
  return Number(esquerda) | Number(direita);
133
154
  case tiposDeSimbolos_1.default.MENOR_MENOR:
134
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
155
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
135
156
  return Number(esquerda) << Number(direita);
136
157
  case tiposDeSimbolos_1.default.MAIOR_MAIOR:
137
- this.verificarOperandosNumeros(expr.operador, esquerda, direita);
158
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
138
159
  return Number(esquerda) >> Number(direita);
139
160
  case tiposDeSimbolos_1.default.DIFERENTE:
140
161
  return !this.eIgual(esquerda, direita);
@@ -143,20 +164,20 @@ var Interpretador = /** @class */ (function () {
143
164
  }
144
165
  return null;
145
166
  };
146
- Interpretador.prototype.visitarExpressaoDeChamada = function (expr) {
147
- var entidadeChamada = this.avaliar(expr.entidadeChamada);
167
+ Interpretador.prototype.visitarExpressaoDeChamada = function (expressao) {
168
+ var entidadeChamada = this.avaliar(expressao.entidadeChamada);
148
169
  var argumentos = [];
149
- for (var i = 0; i < expr.argumentos.length; i++) {
150
- argumentos.push(this.avaliar(expr.argumentos[i]));
170
+ for (var i = 0; i < expressao.argumentos.length; i++) {
171
+ argumentos.push(this.avaliar(expressao.argumentos[i]));
151
172
  }
152
- if (!(entidadeChamada instanceof chamavel_1.Chamavel)) {
153
- throw new excecoes_1.ErroEmTempoDeExecucao(expr.parentese, 'Só pode chamar função ou classe.');
173
+ if (!(entidadeChamada instanceof estruturas_1.Chamavel)) {
174
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Só pode chamar função ou classe.', expressao.linha);
154
175
  }
155
176
  var parametros;
156
- if (entidadeChamada instanceof funcao_1.DeleguaFuncao) {
177
+ if (entidadeChamada instanceof estruturas_1.DeleguaFuncao) {
157
178
  parametros = entidadeChamada.declaracao.parametros;
158
179
  }
159
- else if (entidadeChamada instanceof classe_1.DeleguaClasse) {
180
+ else if (entidadeChamada instanceof estruturas_1.DeleguaClasse) {
160
181
  parametros = entidadeChamada.metodos.init
161
182
  ? entidadeChamada.metodos.init.declaracao.parametros
162
183
  : [];
@@ -180,41 +201,41 @@ var Interpretador = /** @class */ (function () {
180
201
  argumentos = novosArgumentos;
181
202
  }
182
203
  }
183
- if (entidadeChamada instanceof funcao_padrao_1.FuncaoPadrao) {
184
- return entidadeChamada.chamar(this, argumentos, expr.entidadeChamada.nome);
204
+ if (entidadeChamada instanceof estruturas_1.FuncaoPadrao) {
205
+ return entidadeChamada.chamar(this, argumentos, expressao.entidadeChamada.nome);
185
206
  }
186
207
  return entidadeChamada.chamar(this, argumentos);
187
208
  };
188
- Interpretador.prototype.visitarExpressaoDeAtribuicao = function (expr) {
189
- var valor = this.avaliar(expr.valor);
190
- var distancia = this.locais.get(expr);
209
+ Interpretador.prototype.visitarExpressaoDeAtribuicao = function (expressao) {
210
+ var valor = this.avaliar(expressao.valor);
211
+ var distancia = this.locais.get(expressao);
191
212
  if (distancia !== undefined) {
192
- this.ambiente.atribuirVariavelEm(distancia, expr.nome, valor);
213
+ this.ambiente.atribuirVariavelEm(distancia, expressao.simbolo, valor);
193
214
  }
194
215
  else {
195
- this.ambiente.atribuirVariavel(expr.nome, valor);
216
+ this.ambiente.atribuirVariavel(expressao.simbolo, valor);
196
217
  }
197
218
  return valor;
198
219
  };
199
- Interpretador.prototype.procurarVariavel = function (nome, expr) {
200
- var distancia = this.locais.get(expr);
220
+ Interpretador.prototype.procurarVariavel = function (simbolo, expressao) {
221
+ var distancia = this.locais.get(expressao);
201
222
  if (distancia !== undefined) {
202
- return this.ambiente.obterVariavelEm(distancia, nome.lexema);
223
+ return this.ambiente.obterVariavelEm(distancia, simbolo.lexema);
203
224
  }
204
225
  else {
205
- return this.global.obterVariavel(nome);
226
+ return this.global.obterVariavel(simbolo);
206
227
  }
207
228
  };
208
- Interpretador.prototype.visitarExpressaoDeVariavel = function (expr) {
209
- return this.procurarVariavel(expr.nome, expr);
229
+ Interpretador.prototype.visitarExpressaoDeVariavel = function (expressao) {
230
+ return this.procurarVariavel(expressao.simbolo, expressao);
210
231
  };
211
- Interpretador.prototype.visitarDeclaracaoDeExpressao = function (stmt) {
212
- return this.avaliar(stmt.expressao);
232
+ Interpretador.prototype.visitarDeclaracaoDeExpressao = function (declaracao) {
233
+ return this.avaliar(declaracao.expressao);
213
234
  };
214
- Interpretador.prototype.visitarExpressaoLogica = function (expr) {
215
- var esquerda = this.avaliar(expr.esquerda);
216
- if (expr.operador.tipo === tiposDeSimbolos_1.default.EM) {
217
- var direita = this.avaliar(expr.direita);
235
+ Interpretador.prototype.visitarExpressaoLogica = function (expressao) {
236
+ var esquerda = this.avaliar(expressao.esquerda);
237
+ if (expressao.operador.tipo === tiposDeSimbolos_1.default.EM) {
238
+ var direita = this.avaliar(expressao.direita);
218
239
  if (Array.isArray(direita) || typeof direita === 'string') {
219
240
  return direita.includes(esquerda);
220
241
  }
@@ -222,53 +243,53 @@ var Interpretador = /** @class */ (function () {
222
243
  return esquerda in direita;
223
244
  }
224
245
  else {
225
- throw new excecoes_1.ErroEmTempoDeExecucao("Tipo de chamada inválida com 'em'.");
246
+ throw new excecoes_1.ErroEmTempoDeExecucao(esquerda, "Tipo de chamada inválida com 'em'.", expressao.linha);
226
247
  }
227
248
  }
228
249
  // se um estado for verdadeiro, retorna verdadeiro
229
- if (expr.operador.tipo === tiposDeSimbolos_1.default.OU) {
250
+ if (expressao.operador.tipo === tiposDeSimbolos_1.default.OU) {
230
251
  if (this.eVerdadeiro(esquerda))
231
252
  return esquerda;
232
253
  }
233
254
  // se um estado for falso, retorna falso
234
- if (expr.operador.tipo === tiposDeSimbolos_1.default.E) {
255
+ if (expressao.operador.tipo === tiposDeSimbolos_1.default.E) {
235
256
  if (!this.eVerdadeiro(esquerda))
236
257
  return esquerda;
237
258
  }
238
- return this.avaliar(expr.direita);
259
+ return this.avaliar(expressao.direita);
239
260
  };
240
- Interpretador.prototype.visitarExpressaoSe = function (stmt) {
241
- if (this.eVerdadeiro(this.avaliar(stmt.condicao))) {
242
- this.executar(stmt.thenBranch);
261
+ Interpretador.prototype.visitarExpressaoSe = function (declaracao) {
262
+ if (this.eVerdadeiro(this.avaliar(declaracao.condicao))) {
263
+ this.executar(declaracao.caminhoEntao);
243
264
  return null;
244
265
  }
245
- for (var i = 0; i < stmt.elifBranches.length; i++) {
246
- var atual = stmt.elifBranches[i];
266
+ for (var i = 0; i < declaracao.caminhosSeSenao.length; i++) {
267
+ var atual = declaracao.caminhosSeSenao[i];
247
268
  if (this.eVerdadeiro(this.avaliar(atual.condicao))) {
248
- this.executar(atual.branch);
269
+ this.executar(atual.caminho);
249
270
  return null;
250
271
  }
251
272
  }
252
- if (stmt.elseBranch !== null) {
253
- this.executar(stmt.elseBranch);
273
+ if (declaracao.caminhoSenao !== null) {
274
+ this.executar(declaracao.caminhoSenao);
254
275
  }
255
276
  return null;
256
277
  };
257
- Interpretador.prototype.visitarExpressaoPara = function (stmt) {
258
- if (stmt.inicializador !== null) {
259
- this.avaliar(stmt.inicializador);
278
+ Interpretador.prototype.visitarExpressaoPara = function (declaracao) {
279
+ if (declaracao.inicializador !== null) {
280
+ this.avaliar(declaracao.inicializador);
260
281
  }
261
282
  while (true) {
262
- if (stmt.condicao !== null) {
263
- if (!this.eVerdadeiro(this.avaliar(stmt.condicao))) {
283
+ if (declaracao.condicao !== null) {
284
+ if (!this.eVerdadeiro(this.avaliar(declaracao.condicao))) {
264
285
  break;
265
286
  }
266
287
  }
267
288
  try {
268
- this.executar(stmt.corpo);
289
+ this.executar(declaracao.corpo);
269
290
  }
270
291
  catch (erro) {
271
- if (erro instanceof excecoes_1.ExcecaoQuebra) {
292
+ if (erro instanceof excecoes_1.ExcecaoSustar) {
272
293
  break;
273
294
  }
274
295
  else if (erro instanceof excecoes_1.ExcecaoContinuar) {
@@ -277,19 +298,19 @@ var Interpretador = /** @class */ (function () {
277
298
  throw erro;
278
299
  }
279
300
  }
280
- if (stmt.incrementar !== null) {
281
- this.avaliar(stmt.incrementar);
301
+ if (declaracao.incrementar !== null) {
302
+ this.avaliar(declaracao.incrementar);
282
303
  }
283
304
  }
284
305
  return null;
285
306
  };
286
- Interpretador.prototype.visitarExpressaoFazer = function (stmt) {
307
+ Interpretador.prototype.visitarExpressaoFazer = function (declaracao) {
287
308
  do {
288
309
  try {
289
- this.executar(stmt.doBranch);
310
+ this.executar(declaracao.caminhoFazer);
290
311
  }
291
312
  catch (erro) {
292
- if (erro instanceof excecoes_1.ExcecaoQuebra) {
313
+ if (erro instanceof excecoes_1.ExcecaoSustar) {
293
314
  break;
294
315
  }
295
316
  else if (erro instanceof excecoes_1.ExcecaoContinuar) {
@@ -298,22 +319,22 @@ var Interpretador = /** @class */ (function () {
298
319
  throw erro;
299
320
  }
300
321
  }
301
- } while (this.eVerdadeiro(this.avaliar(stmt.whileCondition)));
322
+ } while (this.eVerdadeiro(this.avaliar(declaracao.condicaoEnquanto)));
302
323
  };
303
- Interpretador.prototype.visitarExpressaoEscolha = function (stmt) {
304
- var switchCondition = this.avaliar(stmt.condicao);
305
- var branches = stmt.branches;
306
- var defaultBranch = stmt.defaultBranch;
307
- var matched = false;
324
+ Interpretador.prototype.visitarExpressaoEscolha = function (declaracao) {
325
+ var condicaoEscolha = this.avaliar(declaracao.condicao);
326
+ var caminhos = declaracao.caminhos;
327
+ var caminhoPadrao = declaracao.caminhoPadrao;
328
+ var encontrado = false;
308
329
  try {
309
- for (var i = 0; i < branches.length; i++) {
310
- var branch = branches[i];
311
- for (var j = 0; j < branch.conditions.length; j++) {
312
- if (this.avaliar(branch.conditions[j]) === switchCondition) {
313
- matched = true;
330
+ for (var i = 0; i < caminhos.length; i++) {
331
+ var caminho_1 = caminhos[i];
332
+ for (var j = 0; j < caminho_1.conditions.length; j++) {
333
+ if (this.avaliar(caminho_1.conditions[j]) === condicaoEscolha) {
334
+ encontrado = true;
314
335
  try {
315
- for (var k = 0; k < branch.stmts.length; k++) {
316
- this.executar(branch.stmts[k]);
336
+ for (var k = 0; k < caminho_1.declaracoes.length; k++) {
337
+ this.executar(caminho_1.declaracoes[k]);
317
338
  }
318
339
  }
319
340
  catch (erro) {
@@ -326,48 +347,48 @@ var Interpretador = /** @class */ (function () {
326
347
  }
327
348
  }
328
349
  }
329
- if (defaultBranch !== null && matched === false) {
330
- for (var i = 0; i < defaultBranch.stmts.length; i++) {
331
- this.executar(defaultBranch['stmts'][i]);
350
+ if (caminhoPadrao !== null && encontrado === false) {
351
+ for (var i = 0; i < caminhoPadrao.declaracoes.length; i++) {
352
+ this.executar(caminhoPadrao['declaracoes'][i]);
332
353
  }
333
354
  }
334
355
  }
335
356
  catch (erro) {
336
- if (erro instanceof excecoes_1.ExcecaoQuebra) {
357
+ if (erro instanceof excecoes_1.ExcecaoSustar) {
337
358
  }
338
359
  else {
339
360
  throw erro;
340
361
  }
341
362
  }
342
363
  };
343
- Interpretador.prototype.visitarExpressaoTente = function (stmt) {
364
+ Interpretador.prototype.visitarExpressaoTente = function (declaracao) {
344
365
  try {
345
366
  var sucesso = true;
346
367
  try {
347
- this.executarBloco(stmt.tryBranch, new ambiente_1.Ambiente(this.ambiente));
368
+ this.executarBloco(declaracao.caminhoTente, new ambiente_1.Ambiente(this.ambiente));
348
369
  }
349
370
  catch (erro) {
350
371
  sucesso = false;
351
- if (stmt.catchBranch !== null) {
352
- this.executarBloco(stmt.catchBranch, new ambiente_1.Ambiente(this.ambiente));
372
+ if (declaracao.caminhoPegue !== null) {
373
+ this.executarBloco(declaracao.caminhoPegue, new ambiente_1.Ambiente(this.ambiente));
353
374
  }
354
375
  }
355
- if (sucesso && stmt.elseBranch !== null) {
356
- this.executarBloco(stmt.elseBranch, new ambiente_1.Ambiente(this.ambiente));
376
+ if (sucesso && declaracao.caminhoSenao !== null) {
377
+ this.executarBloco(declaracao.caminhoSenao, new ambiente_1.Ambiente(this.ambiente));
357
378
  }
358
379
  }
359
380
  finally {
360
- if (stmt.finallyBranch !== null)
361
- this.executarBloco(stmt.finallyBranch, new ambiente_1.Ambiente(this.ambiente));
381
+ if (declaracao.caminhoFinalmente !== null)
382
+ this.executarBloco(declaracao.caminhoFinalmente, new ambiente_1.Ambiente(this.ambiente));
362
383
  }
363
384
  };
364
- Interpretador.prototype.visitarExpressaoEnquanto = function (stmt) {
365
- while (this.eVerdadeiro(this.avaliar(stmt.condicao))) {
385
+ Interpretador.prototype.visitarExpressaoEnquanto = function (declaracao) {
386
+ while (this.eVerdadeiro(this.avaliar(declaracao.condicao))) {
366
387
  try {
367
- this.executar(stmt.corpo);
388
+ this.executar(declaracao.corpo);
368
389
  }
369
390
  catch (erro) {
370
- if (erro instanceof excecoes_1.ExcecaoQuebra) {
391
+ if (erro instanceof excecoes_1.ExcecaoSustar) {
371
392
  break;
372
393
  }
373
394
  else if (erro instanceof excecoes_1.ExcecaoContinuar) {
@@ -379,43 +400,40 @@ var Interpretador = /** @class */ (function () {
379
400
  }
380
401
  return null;
381
402
  };
382
- Interpretador.prototype.visitarExpressaoImportar = function (stmt) {
383
- var caminhoRelativo = this.avaliar(stmt.caminho);
403
+ Interpretador.prototype.visitarExpressaoImportar = function (declaracao) {
404
+ var caminhoRelativo = this.avaliar(declaracao.caminho);
384
405
  var caminhoTotal = caminho.join(this.diretorioBase, caminhoRelativo);
385
- // const pastaTotal = caminho.dirname(caminhoTotal);
386
406
  var nomeArquivo = caminho.basename(caminhoTotal);
387
- var conteudoImportacao;
388
- if (!caminhoTotal.endsWith('.egua')) {
389
- conteudoImportacao = (0, importar_biblioteca_1.default)(caminhoRelativo);
390
- if (conteudoImportacao)
391
- return conteudoImportacao;
407
+ if (!caminhoTotal.endsWith('.egua') && !caminhoTotal.endsWith('.delegua')) {
408
+ return (0, importar_biblioteca_1.default)(caminhoRelativo);
392
409
  }
393
410
  try {
394
411
  if (!fs.existsSync(caminhoTotal)) {
395
- throw new excecoes_1.ErroEmTempoDeExecucao(stmt.closeBracket, 'Não foi possível encontrar arquivo importado.');
412
+ throw new excecoes_1.ErroEmTempoDeExecucao(declaracao.simboloFechamento, 'Não foi possível encontrar arquivo importado.', declaracao.linha);
396
413
  }
397
414
  }
398
415
  catch (erro) {
399
- throw new excecoes_1.ErroEmTempoDeExecucao(stmt.closeBracket, 'Não foi possível ler o arquivo.');
416
+ throw new excecoes_1.ErroEmTempoDeExecucao(declaracao.simboloFechamento, 'Não foi possível ler o arquivo.', declaracao.linha);
400
417
  }
401
- conteudoImportacao = fs.readFileSync(caminhoTotal).toString();
418
+ var conteudoImportacao = fs.readFileSync(caminhoTotal)
419
+ .toString()
420
+ .split('\n');
402
421
  var delegua = new delegua_1.Delegua(this.Delegua.dialeto, this.performance, nomeArquivo);
403
422
  delegua.executar(conteudoImportacao);
404
- // let exportar = delegua.interpretador.global.obterTodasDeleguaFuncao();
405
- var exportar = delegua.interpretador.global.valores.exports;
423
+ var funcoesDeclaradas = delegua.interpretador.global.obterTodasDeleguaFuncao();
406
424
  var eDicionario = function (objeto) { return objeto.constructor === Object; };
407
- if (eDicionario(exportar)) {
408
- var novoModulo = new modulo_1.DeleguaModulo();
409
- var chaves = Object.keys(exportar);
425
+ if (eDicionario(funcoesDeclaradas)) {
426
+ var novoModulo = new estruturas_1.DeleguaModulo();
427
+ var chaves = Object.keys(funcoesDeclaradas);
410
428
  for (var i = 0; i < chaves.length; i++) {
411
- novoModulo[chaves[i]] = exportar[chaves[i]];
429
+ novoModulo.componentes[chaves[i]] = funcoesDeclaradas[chaves[i]];
412
430
  }
413
431
  return novoModulo;
414
432
  }
415
- return exportar;
433
+ return funcoesDeclaradas;
416
434
  };
417
- Interpretador.prototype.visitarExpressaoEscreva = function (stmt) {
418
- var valor = this.avaliar(stmt.expressao);
435
+ Interpretador.prototype.visitarExpressaoEscreva = function (declaracao) {
436
+ var valor = this.avaliar(declaracao.expressao);
419
437
  console.log(this.paraTexto(valor));
420
438
  return null;
421
439
  };
@@ -437,37 +455,37 @@ var Interpretador = /** @class */ (function () {
437
455
  this.ambiente = anterior;
438
456
  }
439
457
  };
440
- Interpretador.prototype.visitarExpressaoBloco = function (stmt) {
441
- this.executarBloco(stmt.declaracoes, new ambiente_1.Ambiente(this.ambiente));
458
+ Interpretador.prototype.visitarExpressaoBloco = function (declaracao) {
459
+ this.executarBloco(declaracao.declaracoes, new ambiente_1.Ambiente(this.ambiente));
442
460
  return null;
443
461
  };
444
- Interpretador.prototype.visitarExpressaoVar = function (stmt) {
462
+ Interpretador.prototype.visitarExpressaoVar = function (declaracao) {
445
463
  var valor = null;
446
- if (stmt.inicializador !== null) {
447
- valor = this.avaliar(stmt.inicializador);
464
+ if (declaracao.inicializador !== null) {
465
+ valor = this.avaliar(declaracao.inicializador);
448
466
  }
449
- this.ambiente.definirVariavel(stmt.nome.lexema, valor);
467
+ this.ambiente.definirVariavel(declaracao.simbolo.lexema, valor);
450
468
  return null;
451
469
  };
452
- Interpretador.prototype.visitarExpressaoContinua = function (stmt) {
470
+ Interpretador.prototype.visitarExpressaoContinua = function (declaracao) {
453
471
  throw new excecoes_1.ExcecaoContinuar();
454
472
  };
455
- Interpretador.prototype.visitarExpressaoPausa = function (stmt) {
456
- throw new excecoes_1.ExcecaoQuebra();
473
+ Interpretador.prototype.visitarExpressaoSustar = function (declaracao) {
474
+ throw new excecoes_1.ExcecaoSustar();
457
475
  };
458
- Interpretador.prototype.visitarExpressaoRetornar = function (stmt) {
476
+ Interpretador.prototype.visitarExpressaoRetornar = function (declaracao) {
459
477
  var valor = null;
460
- if (stmt.valor != null)
461
- valor = this.avaliar(stmt.valor);
478
+ if (declaracao.valor != null)
479
+ valor = this.avaliar(declaracao.valor);
462
480
  throw new excecoes_1.ExcecaoRetornar(valor);
463
481
  };
464
- Interpretador.prototype.visitarExpressaoDeleguaFuncao = function (expr) {
465
- return new funcao_1.DeleguaFuncao(null, expr, this.ambiente, false);
482
+ Interpretador.prototype.visitarExpressaoDeleguaFuncao = function (expressao) {
483
+ return new estruturas_1.DeleguaFuncao(null, expressao, this.ambiente, false);
466
484
  };
467
- Interpretador.prototype.visitarExpressaoAtribuicaoSobrescrita = function (expr) {
468
- var objeto = this.avaliar(expr.objeto);
469
- var indice = this.avaliar(expr.indice);
470
- var valor = this.avaliar(expr.valor);
485
+ Interpretador.prototype.visitarExpressaoAtribuicaoSobrescrita = function (expressao) {
486
+ var objeto = this.avaliar(expressao.objeto);
487
+ var indice = this.avaliar(expressao.indice);
488
+ var valor = this.avaliar(expressao.valor);
471
489
  if (Array.isArray(objeto)) {
472
490
  if (indice < 0 && objeto.length !== 0) {
473
491
  while (indice < 0) {
@@ -480,22 +498,22 @@ var Interpretador = /** @class */ (function () {
480
498
  objeto[indice] = valor;
481
499
  }
482
500
  else if (objeto.constructor === Object ||
483
- objeto instanceof instancia_1.DeleguaInstancia ||
484
- objeto instanceof funcao_1.DeleguaFuncao ||
485
- objeto instanceof classe_1.DeleguaClasse ||
486
- objeto instanceof modulo_1.DeleguaModulo) {
501
+ objeto instanceof estruturas_1.DeleguaInstancia ||
502
+ objeto instanceof estruturas_1.DeleguaFuncao ||
503
+ objeto instanceof estruturas_1.DeleguaClasse ||
504
+ objeto instanceof estruturas_1.DeleguaModulo) {
487
505
  objeto[indice] = valor;
488
506
  }
489
507
  else {
490
- throw new excecoes_1.ErroEmTempoDeExecucao(expr.objeto.nome, 'Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.');
508
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.objeto.nome, 'Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.', expressao.linha);
491
509
  }
492
510
  };
493
- Interpretador.prototype.visitarExpressaoVetorIndice = function (expressao) {
511
+ Interpretador.prototype.visitarExpressaoAcessoIndiceVariavel = function (expressao) {
494
512
  var objeto = this.avaliar(expressao.entidadeChamada);
495
513
  var indice = this.avaliar(expressao.indice);
496
514
  if (Array.isArray(objeto)) {
497
515
  if (!Number.isInteger(indice)) {
498
- throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, 'Somente inteiros podem ser usados para indexar um vetor.');
516
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Somente inteiros podem ser usados para indexar um vetor.', expressao.linha);
499
517
  }
500
518
  if (indice < 0 && objeto.length !== 0) {
501
519
  while (indice < 0) {
@@ -503,20 +521,20 @@ var Interpretador = /** @class */ (function () {
503
521
  }
504
522
  }
505
523
  if (indice >= objeto.length) {
506
- throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, 'Índice do vetor fora do intervalo.');
524
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Índice do vetor fora do intervalo.', expressao.linha);
507
525
  }
508
526
  return objeto[indice];
509
527
  }
510
528
  else if (objeto.constructor === Object ||
511
- objeto instanceof instancia_1.DeleguaInstancia ||
512
- objeto instanceof funcao_1.DeleguaFuncao ||
513
- objeto instanceof classe_1.DeleguaClasse ||
514
- objeto instanceof modulo_1.DeleguaModulo) {
529
+ objeto instanceof estruturas_1.DeleguaInstancia ||
530
+ objeto instanceof estruturas_1.DeleguaFuncao ||
531
+ objeto instanceof estruturas_1.DeleguaClasse ||
532
+ objeto instanceof estruturas_1.DeleguaModulo) {
515
533
  return objeto[indice] || null;
516
534
  }
517
535
  else if (typeof objeto === 'string') {
518
536
  if (!Number.isInteger(indice)) {
519
- throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, 'Somente inteiros podem ser usados para indexar um vetor.');
537
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Somente inteiros podem ser usados para indexar um vetor.', expressao.linha);
520
538
  }
521
539
  if (indice < 0 && objeto.length !== 0) {
522
540
  while (indice < 0) {
@@ -524,98 +542,98 @@ var Interpretador = /** @class */ (function () {
524
542
  }
525
543
  }
526
544
  if (indice >= objeto.length) {
527
- throw new excecoes_1.ErroEmTempoDeExecucao(expressao.closeBracket, 'Índice fora do tamanho.');
545
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Índice fora do tamanho.', expressao.linha);
528
546
  }
529
547
  return objeto.charAt(indice);
530
548
  }
531
549
  else {
532
- throw new excecoes_1.ErroEmTempoDeExecucao(expressao.entidadeChamada.nome, 'Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.');
550
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.entidadeChamada.nome, 'Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.', expressao.linha);
533
551
  }
534
552
  };
535
- Interpretador.prototype.visitarExpressaoDefinir = function (expr) {
536
- var objeto = this.avaliar(expr.objeto);
537
- if (!(objeto instanceof instancia_1.DeleguaInstancia) &&
553
+ Interpretador.prototype.visitarExpressaoDefinir = function (expressao) {
554
+ var objeto = this.avaliar(expressao.objeto);
555
+ if (!(objeto instanceof estruturas_1.DeleguaInstancia) &&
538
556
  objeto.constructor !== Object) {
539
- throw new excecoes_1.ErroEmTempoDeExecucao(expr.objeto.nome, 'Somente instâncias e dicionários podem possuir campos.');
557
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.objeto.nome, 'Somente instâncias e dicionários podem possuir campos.', expressao.linha);
540
558
  }
541
- var valor = this.avaliar(expr.valor);
542
- if (objeto instanceof instancia_1.DeleguaInstancia) {
543
- objeto.set(expr.nome, valor);
559
+ var valor = this.avaliar(expressao.valor);
560
+ if (objeto instanceof estruturas_1.DeleguaInstancia) {
561
+ objeto.set(expressao.nome, valor);
544
562
  return valor;
545
563
  }
546
564
  else if (objeto.constructor === Object) {
547
- objeto[expr.nome.lexema] = valor;
565
+ objeto[expressao.simbolo.lexema] = valor;
548
566
  }
549
567
  };
550
- Interpretador.prototype.visitarExpressaoFuncao = function (stmt) {
551
- var funcao = new funcao_1.DeleguaFuncao(stmt.nome.lexema, stmt.funcao, this.ambiente, false);
552
- this.ambiente.definirVariavel(stmt.nome.lexema, funcao);
568
+ Interpretador.prototype.visitarExpressaoFuncao = function (declaracao) {
569
+ var funcao = new estruturas_1.DeleguaFuncao(declaracao.simbolo.lexema, declaracao.funcao, this.ambiente, false);
570
+ this.ambiente.definirVariavel(declaracao.simbolo.lexema, funcao);
553
571
  };
554
- Interpretador.prototype.visitarExpressaoClasse = function (stmt) {
572
+ Interpretador.prototype.visitarExpressaoClasse = function (declaracao) {
555
573
  var superClasse = null;
556
- if (stmt.superClasse !== null) {
557
- superClasse = this.avaliar(stmt.superClasse);
558
- if (!(superClasse instanceof classe_1.DeleguaClasse)) {
559
- throw new excecoes_1.ErroEmTempoDeExecucao(stmt.superClasse.nome, 'SuperClasse precisa ser uma classe.');
574
+ if (declaracao.superClasse !== null) {
575
+ superClasse = this.avaliar(declaracao.superClasse);
576
+ if (!(superClasse instanceof estruturas_1.DeleguaClasse)) {
577
+ throw new excecoes_1.ErroEmTempoDeExecucao(declaracao.superClasse.nome, 'SuperClasse precisa ser uma classe.', declaracao.linha);
560
578
  }
561
579
  }
562
- this.ambiente.definirVariavel(stmt.nome.lexema, null);
563
- if (stmt.superClasse !== null) {
580
+ this.ambiente.definirVariavel(declaracao.simbolo.lexema, null);
581
+ if (declaracao.superClasse !== null) {
564
582
  this.ambiente = new ambiente_1.Ambiente(this.ambiente);
565
583
  this.ambiente.definirVariavel('super', superClasse);
566
584
  }
567
585
  var metodos = {};
568
- var definirMetodos = stmt.metodos;
569
- for (var i = 0; i < stmt.metodos.length; i++) {
586
+ var definirMetodos = declaracao.metodos;
587
+ for (var i = 0; i < declaracao.metodos.length; i++) {
570
588
  var metodoAtual = definirMetodos[i];
571
- var eInicializado = metodoAtual.nome.lexema === 'construtor';
572
- var funcao = new funcao_1.DeleguaFuncao(metodoAtual.nome.lexema, metodoAtual.funcao, this.ambiente, eInicializado);
573
- metodos[metodoAtual.nome.lexema] = funcao;
589
+ var eInicializado = metodoAtual.simbolo.lexema === 'construtor';
590
+ var funcao = new estruturas_1.DeleguaFuncao(metodoAtual.simbolo.lexema, metodoAtual.funcao, this.ambiente, eInicializado);
591
+ metodos[metodoAtual.simbolo.lexema] = funcao;
574
592
  }
575
- var criado = new classe_1.DeleguaClasse(stmt.nome.lexema, superClasse, metodos);
593
+ var criado = new estruturas_1.DeleguaClasse(declaracao.simbolo.lexema, superClasse, metodos);
576
594
  if (superClasse !== null) {
577
595
  this.ambiente = this.ambiente.enclosing;
578
596
  }
579
- this.ambiente.atribuirVariavel(stmt.nome, criado);
597
+ this.ambiente.atribuirVariavel(declaracao.simbolo, criado);
580
598
  return null;
581
599
  };
582
- Interpretador.prototype.visitarExpressaoObter = function (expr) {
583
- var objeto = this.avaliar(expr.objeto);
584
- if (objeto instanceof instancia_1.DeleguaInstancia) {
585
- return objeto.get(expr.nome) || null;
600
+ Interpretador.prototype.visitarExpressaoAcessoMetodo = function (expressao) {
601
+ var objeto = this.avaliar(expressao.objeto);
602
+ if (objeto instanceof estruturas_1.DeleguaInstancia) {
603
+ return objeto.get(expressao.simbolo) || null;
586
604
  }
587
605
  else if (objeto.constructor === Object) {
588
- return objeto[expr.nome.lexema] || null;
606
+ return objeto[expressao.simbolo.lexema] || null;
589
607
  }
590
- else if (objeto instanceof modulo_1.DeleguaModulo) {
591
- return objeto[expr.nome.lexema] || null;
608
+ else if (objeto instanceof estruturas_1.DeleguaModulo) {
609
+ return objeto.componentes[expressao.simbolo.lexema] || null;
592
610
  }
593
- throw new excecoes_1.ErroEmTempoDeExecucao(expr.nome, 'Você só pode acessar métodos do objeto e dicionários.');
611
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.nome, 'Você só pode acessar métodos do objeto e dicionários.', expressao.linha);
594
612
  };
595
- Interpretador.prototype.visitarExpressaoIsto = function (expr) {
596
- return this.procurarVariavel(expr.palavraChave, expr);
613
+ Interpretador.prototype.visitarExpressaoIsto = function (expressao) {
614
+ return this.procurarVariavel(expressao.palavraChave, expressao);
597
615
  };
598
- Interpretador.prototype.visitarExpressaoDicionario = function (expr) {
616
+ Interpretador.prototype.visitarExpressaoDicionario = function (expressao) {
599
617
  var dicionario = {};
600
- for (var i = 0; i < expr.chaves.length; i++) {
601
- dicionario[this.avaliar(expr.chaves[i])] = this.avaliar(expr.valores[i]);
618
+ for (var i = 0; i < expressao.chaves.length; i++) {
619
+ dicionario[this.avaliar(expressao.chaves[i])] = this.avaliar(expressao.valores[i]);
602
620
  }
603
621
  return dicionario;
604
622
  };
605
- Interpretador.prototype.visitarExpressaoVetor = function (expr) {
623
+ Interpretador.prototype.visitarExpressaoVetor = function (expressao) {
606
624
  var valores = [];
607
- for (var i = 0; i < expr.valores.length; i++) {
608
- valores.push(this.avaliar(expr.valores[i]));
625
+ for (var i = 0; i < expressao.valores.length; i++) {
626
+ valores.push(this.avaliar(expressao.valores[i]));
609
627
  }
610
628
  return valores;
611
629
  };
612
- Interpretador.prototype.visitarExpressaoSuper = function (expr) {
613
- var distancia = this.locais.get(expr);
630
+ Interpretador.prototype.visitarExpressaoSuper = function (expressao) {
631
+ var distancia = this.locais.get(expressao);
614
632
  var superClasse = this.ambiente.obterVariavelEm(distancia, 'super');
615
633
  var objeto = this.ambiente.obterVariavelEm(distancia - 1, 'isto');
616
- var metodo = superClasse.encontrarMetodo(expr.metodo.lexema);
634
+ var metodo = superClasse.encontrarMetodo(expressao.metodo.lexema);
617
635
  if (metodo === undefined) {
618
- throw new excecoes_1.ErroEmTempoDeExecucao(expr.metodo, 'Método chamado indefinido.');
636
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.metodo, 'Método chamado indefinido.', expressao.linha);
619
637
  }
620
638
  return metodo.definirEscopo(objeto);
621
639
  };
@@ -638,16 +656,17 @@ var Interpretador = /** @class */ (function () {
638
656
  return JSON.stringify(objeto);
639
657
  return objeto.toString();
640
658
  };
641
- Interpretador.prototype.executar = function (stmt, mostrarResultado) {
659
+ Interpretador.prototype.executar = function (declaracao, mostrarResultado) {
642
660
  if (mostrarResultado === void 0) { mostrarResultado = false; }
643
- var resultado = stmt.aceitar(this);
661
+ var resultado = declaracao.aceitar(this);
644
662
  if (mostrarResultado) {
645
663
  console.log(this.paraTexto(resultado));
646
664
  }
647
665
  };
648
- Interpretador.prototype.interpretar = function (declaracoes) {
666
+ Interpretador.prototype.interpretar = function (objeto) {
649
667
  var inicioInterpretacao = perf_hooks_1.performance.now();
650
668
  try {
669
+ var declaracoes = objeto.declaracoes || objeto;
651
670
  if (declaracoes.length === 1) {
652
671
  var eObjetoExpressao = declaracoes[0].constructor.name === 'Expressao';
653
672
  if (eObjetoExpressao) {