@designliquido/delegua 0.2.0 → 0.2.3

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 (421) hide show
  1. package/bin/package.json +12 -7
  2. package/coverage/lcov-report/block-navigation.d.ts +1 -0
  3. package/coverage/lcov-report/block-navigation.js +70 -0
  4. package/coverage/lcov-report/block-navigation.js.map +1 -0
  5. package/coverage/lcov-report/prettify.d.ts +0 -0
  6. package/coverage/lcov-report/prettify.js +477 -0
  7. package/coverage/lcov-report/prettify.js.map +1 -0
  8. package/coverage/lcov-report/sorter.d.ts +1 -0
  9. package/coverage/lcov-report/sorter.js +163 -0
  10. package/coverage/lcov-report/sorter.js.map +1 -0
  11. package/{src → fontes}/ambiente.d.ts +4 -3
  12. package/{src → fontes}/ambiente.js +7 -7
  13. package/fontes/ambiente.js.map +1 -0
  14. package/fontes/avaliador-sintatico/dialetos/egua-classico.d.ts +63 -0
  15. package/{src → fontes}/avaliador-sintatico/dialetos/egua-classico.js +230 -217
  16. package/fontes/avaliador-sintatico/dialetos/egua-classico.js.map +1 -0
  17. package/{src → fontes}/avaliador-sintatico/dialetos/index.d.ts +0 -0
  18. package/{src → fontes}/avaliador-sintatico/dialetos/index.js +5 -1
  19. package/fontes/avaliador-sintatico/dialetos/index.js.map +1 -0
  20. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -0
  21. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +30 -0
  22. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js.map +1 -0
  23. package/fontes/avaliador-sintatico/index.d.ts +66 -0
  24. package/{src → fontes}/avaliador-sintatico/index.js +261 -237
  25. package/fontes/avaliador-sintatico/index.js.map +1 -0
  26. package/fontes/avaliador-sintatico/retorno-avaliador-sintatico.d.ts +6 -0
  27. package/fontes/avaliador-sintatico/retorno-avaliador-sintatico.js +3 -0
  28. package/fontes/avaliador-sintatico/retorno-avaliador-sintatico.js.map +1 -0
  29. package/{src → fontes}/bibliotecas/biblioteca-global.d.ts +0 -0
  30. package/{src → fontes}/bibliotecas/biblioteca-global.js +4 -4
  31. package/fontes/bibliotecas/biblioteca-global.js.map +1 -0
  32. package/{src → fontes}/bibliotecas/importar-biblioteca.d.ts +0 -0
  33. package/{src → fontes}/bibliotecas/importar-biblioteca.js +0 -0
  34. package/fontes/bibliotecas/importar-biblioteca.js.map +1 -0
  35. package/fontes/construtos/acesso-indice-variavel.d.ts +13 -0
  36. package/fontes/construtos/acesso-indice-variavel.js +21 -0
  37. package/fontes/construtos/acesso-indice-variavel.js.map +1 -0
  38. package/fontes/construtos/acesso-metodo.d.ts +13 -0
  39. package/fontes/construtos/acesso-metodo.js +20 -0
  40. package/fontes/construtos/acesso-metodo.js.map +1 -0
  41. package/fontes/construtos/agrupamento.d.ts +7 -0
  42. package/fontes/construtos/agrupamento.js +15 -0
  43. package/fontes/construtos/agrupamento.js.map +1 -0
  44. package/fontes/construtos/atribuicao-sobrescrita.d.ts +9 -0
  45. package/{src → fontes}/construtos/atribuicao-sobrescrita.js +2 -1
  46. package/fontes/construtos/atribuicao-sobrescrita.js.map +1 -0
  47. package/fontes/construtos/atribuir.d.ts +9 -0
  48. package/{src → fontes}/construtos/atribuir.js +3 -2
  49. package/fontes/construtos/atribuir.js.map +1 -0
  50. package/{src → fontes}/construtos/binario.d.ts +3 -2
  51. package/{src → fontes}/construtos/binario.js +1 -0
  52. package/fontes/construtos/binario.js.map +1 -0
  53. package/fontes/construtos/chamada.d.ts +9 -0
  54. package/{src → fontes}/construtos/chamada.js +1 -0
  55. package/fontes/construtos/chamada.js.map +1 -0
  56. package/fontes/construtos/conjunto.d.ts +9 -0
  57. package/{src → fontes}/construtos/conjunto.js +2 -1
  58. package/fontes/construtos/conjunto.js.map +1 -0
  59. package/fontes/construtos/construto.d.ts +4 -0
  60. package/{src/construtos/expr.js → fontes/construtos/construto.js} +1 -1
  61. package/fontes/construtos/construto.js.map +1 -0
  62. package/fontes/construtos/dicionario.d.ts +8 -0
  63. package/{src → fontes}/construtos/dicionario.js +2 -1
  64. package/fontes/construtos/dicionario.js.map +1 -0
  65. package/fontes/construtos/funcao.d.ts +8 -0
  66. package/{src → fontes}/construtos/funcao.js +2 -1
  67. package/fontes/construtos/funcao.js.map +1 -0
  68. package/{src → fontes}/construtos/index.d.ts +5 -5
  69. package/{src → fontes}/construtos/index.js +10 -6
  70. package/fontes/construtos/index.js.map +1 -0
  71. package/fontes/construtos/isto.d.ts +7 -0
  72. package/{src → fontes}/construtos/isto.js +2 -1
  73. package/fontes/construtos/isto.js.map +1 -0
  74. package/fontes/construtos/literal.d.ts +7 -0
  75. package/{src → fontes}/construtos/literal.js +2 -1
  76. package/fontes/construtos/literal.js.map +1 -0
  77. package/{src/construtos/logical.d.ts → fontes/construtos/logico.d.ts} +3 -2
  78. package/fontes/construtos/logico.js +17 -0
  79. package/fontes/construtos/logico.js.map +1 -0
  80. package/fontes/construtos/super.d.ts +8 -0
  81. package/{src → fontes}/construtos/super.js +2 -1
  82. package/fontes/construtos/super.js.map +1 -0
  83. package/{src → fontes}/construtos/unario.d.ts +3 -2
  84. package/{src → fontes}/construtos/unario.js +1 -0
  85. package/fontes/construtos/unario.js.map +1 -0
  86. package/fontes/construtos/variavel.d.ts +8 -0
  87. package/{src → fontes}/construtos/variavel.js +3 -2
  88. package/fontes/construtos/variavel.js.map +1 -0
  89. package/fontes/construtos/vetor.d.ts +7 -0
  90. package/{src → fontes}/construtos/vetor.js +2 -1
  91. package/fontes/construtos/vetor.js.map +1 -0
  92. package/fontes/declaracoes/bloco.d.ts +6 -0
  93. package/{src → fontes}/declaracoes/bloco.js +3 -3
  94. package/fontes/declaracoes/bloco.js.map +1 -0
  95. package/fontes/declaracoes/classe.d.ts +9 -0
  96. package/{src → fontes}/declaracoes/classe.js +5 -5
  97. package/fontes/declaracoes/classe.js.map +1 -0
  98. package/fontes/declaracoes/continua.d.ts +5 -0
  99. package/{src → fontes}/declaracoes/continua.js +3 -3
  100. package/fontes/declaracoes/continua.js.map +1 -0
  101. package/fontes/declaracoes/declaracao.d.ts +5 -0
  102. package/fontes/declaracoes/declaracao.js +12 -0
  103. package/fontes/declaracoes/declaracao.js.map +1 -0
  104. package/{src → fontes}/declaracoes/enquanto.d.ts +2 -2
  105. package/{src → fontes}/declaracoes/enquanto.js +3 -3
  106. package/fontes/declaracoes/enquanto.js.map +1 -0
  107. package/fontes/declaracoes/escolha.d.ts +8 -0
  108. package/{src → fontes}/declaracoes/escolha.js +6 -6
  109. package/fontes/declaracoes/escolha.js.map +1 -0
  110. package/fontes/declaracoes/escreva.d.ts +6 -0
  111. package/{src → fontes}/declaracoes/escreva.js +3 -3
  112. package/fontes/declaracoes/escreva.js.map +1 -0
  113. package/fontes/declaracoes/expressao.d.ts +7 -0
  114. package/{src → fontes}/declaracoes/expressao.js +3 -3
  115. package/fontes/declaracoes/expressao.js.map +1 -0
  116. package/fontes/declaracoes/fazer.d.ts +7 -0
  117. package/{src → fontes}/declaracoes/fazer.js +6 -6
  118. package/fontes/declaracoes/fazer.js.map +1 -0
  119. package/fontes/declaracoes/funcao.d.ts +8 -0
  120. package/{src → fontes}/declaracoes/funcao.js +5 -5
  121. package/fontes/declaracoes/funcao.js.map +1 -0
  122. package/fontes/declaracoes/importar.d.ts +8 -0
  123. package/{src → fontes}/declaracoes/importar.js +5 -5
  124. package/fontes/declaracoes/importar.js.map +1 -0
  125. package/{src → fontes}/declaracoes/index.d.ts +2 -2
  126. package/{src → fontes}/declaracoes/index.js +7 -3
  127. package/fontes/declaracoes/index.js.map +1 -0
  128. package/fontes/declaracoes/para.d.ts +9 -0
  129. package/{src → fontes}/declaracoes/para.js +4 -4
  130. package/fontes/declaracoes/para.js.map +1 -0
  131. package/{src → fontes}/declaracoes/retorna.d.ts +2 -2
  132. package/{src → fontes}/declaracoes/retorna.js +3 -3
  133. package/fontes/declaracoes/retorna.js.map +1 -0
  134. package/fontes/declaracoes/se.d.ts +9 -0
  135. package/{src → fontes}/declaracoes/se.js +7 -7
  136. package/fontes/declaracoes/se.js.map +1 -0
  137. package/fontes/declaracoes/sustar.d.ts +5 -0
  138. package/{src/declaracoes/pausa.js → fontes/declaracoes/sustar.js} +12 -12
  139. package/fontes/declaracoes/sustar.js.map +1 -0
  140. package/fontes/declaracoes/tente.d.ts +9 -0
  141. package/{src → fontes}/declaracoes/tente.js +8 -8
  142. package/fontes/declaracoes/tente.js.map +1 -0
  143. package/fontes/declaracoes/var.d.ts +8 -0
  144. package/{src → fontes}/declaracoes/var.js +5 -5
  145. package/fontes/declaracoes/var.js.map +1 -0
  146. package/fontes/delegua.d.ts +20 -0
  147. package/fontes/delegua.js +174 -0
  148. package/fontes/delegua.js.map +1 -0
  149. package/{src → fontes}/estruturas/chamavel.d.ts +0 -0
  150. package/{src → fontes}/estruturas/chamavel.js +0 -0
  151. package/fontes/estruturas/chamavel.js.map +1 -0
  152. package/{src → fontes}/estruturas/classe.d.ts +0 -0
  153. package/{src → fontes}/estruturas/classe.js +0 -0
  154. package/fontes/estruturas/classe.js.map +1 -0
  155. package/{src → fontes}/estruturas/funcao-padrao.d.ts +0 -0
  156. package/{src → fontes}/estruturas/funcao-padrao.js +0 -0
  157. package/fontes/estruturas/funcao-padrao.js.map +1 -0
  158. package/{src → fontes}/estruturas/funcao.d.ts +0 -0
  159. package/{src → fontes}/estruturas/funcao.js +1 -1
  160. package/fontes/estruturas/funcao.js.map +1 -0
  161. package/{src → fontes}/estruturas/index.d.ts +0 -0
  162. package/{src → fontes}/estruturas/index.js +5 -1
  163. package/fontes/estruturas/index.js.map +1 -0
  164. package/fontes/estruturas/instancia.d.ts +9 -0
  165. package/{src → fontes}/estruturas/instancia.js +7 -7
  166. package/fontes/estruturas/instancia.js.map +1 -0
  167. package/{src → fontes}/estruturas/modulo.d.ts +4 -0
  168. package/{src → fontes}/estruturas/modulo.js +3 -3
  169. package/fontes/estruturas/modulo.js.map +1 -0
  170. package/fontes/excecoes/erro-em-tempo-de-execucao.d.ts +7 -0
  171. package/{src → fontes}/excecoes/erro-em-tempo-de-execucao.js +2 -1
  172. package/fontes/excecoes/erro-em-tempo-de-execucao.js.map +1 -0
  173. package/fontes/excecoes/excecao-continuar.d.ts +2 -0
  174. package/{src/excecoes/break-exception.js → fontes/excecoes/excecao-continuar.js} +7 -7
  175. package/fontes/excecoes/excecao-continuar.js.map +1 -0
  176. package/fontes/excecoes/excecao-retornar.d.ts +4 -0
  177. package/{src/excecoes/return-exception.js → fontes/excecoes/excecao-retornar.js} +8 -8
  178. package/fontes/excecoes/excecao-retornar.js.map +1 -0
  179. package/fontes/excecoes/excecao-sustar.d.ts +2 -0
  180. package/{src/avaliador-sintatico/erros-avaliador.js → fontes/excecoes/excecao-sustar.js} +7 -7
  181. package/fontes/excecoes/excecao-sustar.js.map +1 -0
  182. package/fontes/excecoes/index.d.ts +4 -0
  183. package/{src → fontes}/excecoes/index.js +8 -4
  184. package/fontes/excecoes/index.js.map +1 -0
  185. package/fontes/interfaces/avaliador-sintatico-interface.d.ts +59 -0
  186. package/{src → fontes}/interfaces/avaliador-sintatico-interface.js +0 -0
  187. package/fontes/interfaces/avaliador-sintatico-interface.js.map +1 -0
  188. package/{src → fontes}/interfaces/index.d.ts +0 -0
  189. package/{src → fontes}/interfaces/index.js +5 -1
  190. package/fontes/interfaces/index.js.map +1 -0
  191. package/fontes/interfaces/interpretador-interface.d.ts +51 -0
  192. package/{src → fontes}/interfaces/interpretador-interface.js +0 -0
  193. package/fontes/interfaces/interpretador-interface.js.map +1 -0
  194. package/fontes/interfaces/lexador-interface.d.ts +24 -0
  195. package/{src → fontes}/interfaces/lexador-interface.js +0 -0
  196. package/fontes/interfaces/lexador-interface.js.map +1 -0
  197. package/fontes/interfaces/pilha-interface.d.ts +7 -0
  198. package/{src → fontes}/interfaces/pilha-interface.js +0 -0
  199. package/fontes/interfaces/pilha-interface.js.map +1 -0
  200. package/fontes/interfaces/resolvedor-interface.d.ts +53 -0
  201. package/{src → fontes}/interfaces/resolvedor-interface.js +0 -0
  202. package/fontes/interfaces/resolvedor-interface.js.map +1 -0
  203. package/{src → fontes}/interfaces/simbolo-interface.d.ts +1 -1
  204. package/{src → fontes}/interfaces/simbolo-interface.js +0 -0
  205. package/fontes/interfaces/simbolo-interface.js.map +1 -0
  206. package/fontes/interpretador/dialetos/egua-classico.d.ts +61 -0
  207. package/{src → fontes}/interpretador/dialetos/egua-classico.js +218 -194
  208. package/fontes/interpretador/dialetos/egua-classico.js.map +1 -0
  209. package/{src → fontes}/interpretador/dialetos/index.d.ts +0 -0
  210. package/{src/resolvedor → fontes/interpretador}/dialetos/index.js +5 -1
  211. package/fontes/interpretador/dialetos/index.js.map +1 -0
  212. package/fontes/interpretador/index.d.ts +63 -0
  213. package/fontes/interpretador/index.js +695 -0
  214. package/fontes/interpretador/index.js.map +1 -0
  215. package/{src → fontes}/lexador/dialetos/egua-classico.d.ts +16 -14
  216. package/{src → fontes}/lexador/dialetos/egua-classico.js +122 -72
  217. package/fontes/lexador/dialetos/egua-classico.js.map +1 -0
  218. package/{src → fontes}/lexador/dialetos/index.d.ts +0 -0
  219. package/{src/interpretador → fontes/lexador}/dialetos/index.js +5 -1
  220. package/fontes/lexador/dialetos/index.js.map +1 -0
  221. package/fontes/lexador/erro-lexador.d.ts +5 -0
  222. package/fontes/lexador/erro-lexador.js +3 -0
  223. package/fontes/lexador/erro-lexador.js.map +1 -0
  224. package/fontes/lexador/index.d.ts +43 -0
  225. package/fontes/lexador/index.js +416 -0
  226. package/fontes/lexador/index.js.map +1 -0
  227. package/fontes/lexador/retorno-lexador.d.ts +6 -0
  228. package/fontes/lexador/retorno-lexador.js +3 -0
  229. package/fontes/lexador/retorno-lexador.js.map +1 -0
  230. package/fontes/resolvedor/dialetos/egua-classico.d.ts +62 -0
  231. package/fontes/resolvedor/dialetos/egua-classico.js +344 -0
  232. package/fontes/resolvedor/dialetos/egua-classico.js.map +1 -0
  233. package/{src → fontes}/resolvedor/dialetos/index.d.ts +0 -0
  234. package/{src/lexador → fontes/resolvedor}/dialetos/index.js +5 -1
  235. package/fontes/resolvedor/dialetos/index.js.map +1 -0
  236. package/fontes/resolvedor/erro-resolvedor.d.ts +5 -0
  237. package/{src → fontes}/resolvedor/erro-resolvedor.js +3 -2
  238. package/fontes/resolvedor/erro-resolvedor.js.map +1 -0
  239. package/fontes/resolvedor/index.d.ts +62 -0
  240. package/fontes/resolvedor/index.js +343 -0
  241. package/fontes/resolvedor/index.js.map +1 -0
  242. package/{src → fontes}/resolvedor/pilha-escopos.d.ts +1 -1
  243. package/{src → fontes}/resolvedor/pilha-escopos.js +0 -0
  244. package/fontes/resolvedor/pilha-escopos.js.map +1 -0
  245. package/fontes/resolvedor/retorno-resolvedor.d.ts +6 -0
  246. package/fontes/resolvedor/retorno-resolvedor.js +3 -0
  247. package/fontes/resolvedor/retorno-resolvedor.js.map +1 -0
  248. package/{src → fontes}/tiposDeSimbolos.d.ts +0 -0
  249. package/{src → fontes}/tiposDeSimbolos.js +0 -0
  250. package/fontes/tiposDeSimbolos.js.map +1 -0
  251. package/index.js +3 -2
  252. package/index.js.map +1 -1
  253. package/jest.config.d.ts +3 -0
  254. package/jest.config.js +50 -0
  255. package/jest.config.js.map +1 -0
  256. package/package.json +12 -7
  257. package/testes/avaliador-sintatico.test.d.ts +1 -0
  258. package/testes/avaliador-sintatico.test.js +30 -0
  259. package/testes/avaliador-sintatico.test.js.map +1 -0
  260. package/testes/biblioteca-global.test.d.ts +1 -0
  261. package/testes/biblioteca-global.test.js +131 -0
  262. package/testes/biblioteca-global.test.js.map +1 -0
  263. package/testes/egua-classico/avaliador-sintatico.test.d.ts +1 -0
  264. package/testes/egua-classico/avaliador-sintatico.test.js +33 -0
  265. package/testes/egua-classico/avaliador-sintatico.test.js.map +1 -0
  266. package/testes/egua-classico/interpretador.test.d.ts +1 -0
  267. package/testes/egua-classico/interpretador.test.js +219 -0
  268. package/testes/egua-classico/interpretador.test.js.map +1 -0
  269. package/testes/egua-classico/lexador.test.d.ts +1 -0
  270. package/testes/egua-classico/lexador.test.js +80 -0
  271. package/testes/egua-classico/lexador.test.js.map +1 -0
  272. package/testes/egua-classico/resolvedor.test.d.ts +1 -0
  273. package/testes/egua-classico/resolvedor.test.js +38 -0
  274. package/testes/egua-classico/resolvedor.test.js.map +1 -0
  275. package/testes/interpretador.test.d.ts +1 -0
  276. package/testes/interpretador.test.js +234 -0
  277. package/testes/interpretador.test.js.map +1 -0
  278. package/testes/lexador.test.d.ts +1 -0
  279. package/testes/lexador.test.js +77 -0
  280. package/testes/lexador.test.js.map +1 -0
  281. package/testes/resolvedor.test.d.ts +1 -0
  282. package/testes/resolvedor.test.js +35 -0
  283. package/testes/resolvedor.test.js.map +1 -0
  284. package/src/ambiente.js.map +0 -1
  285. package/src/avaliador-sintatico/dialetos/egua-classico.d.ts +0 -60
  286. package/src/avaliador-sintatico/dialetos/egua-classico.js.map +0 -1
  287. package/src/avaliador-sintatico/dialetos/index.js.map +0 -1
  288. package/src/avaliador-sintatico/erros-avaliador.d.ts +0 -2
  289. package/src/avaliador-sintatico/erros-avaliador.js.map +0 -1
  290. package/src/avaliador-sintatico/index.d.ts +0 -61
  291. package/src/avaliador-sintatico/index.js.map +0 -1
  292. package/src/bibliotecas/biblioteca-global.js.map +0 -1
  293. package/src/bibliotecas/importar-biblioteca.js.map +0 -1
  294. package/src/construtos/atribuicao-sobrescrita.d.ts +0 -8
  295. package/src/construtos/atribuicao-sobrescrita.js.map +0 -1
  296. package/src/construtos/atribuir.d.ts +0 -7
  297. package/src/construtos/atribuir.js.map +0 -1
  298. package/src/construtos/binario.js.map +0 -1
  299. package/src/construtos/chamada.d.ts +0 -8
  300. package/src/construtos/chamada.js.map +0 -1
  301. package/src/construtos/conjunto.d.ts +0 -8
  302. package/src/construtos/conjunto.js.map +0 -1
  303. package/src/construtos/dicionario.d.ts +0 -7
  304. package/src/construtos/dicionario.js.map +0 -1
  305. package/src/construtos/expr.d.ts +0 -3
  306. package/src/construtos/expr.js.map +0 -1
  307. package/src/construtos/funcao.d.ts +0 -7
  308. package/src/construtos/funcao.js.map +0 -1
  309. package/src/construtos/get.d.ts +0 -7
  310. package/src/construtos/get.js +0 -15
  311. package/src/construtos/get.js.map +0 -1
  312. package/src/construtos/grouping.d.ts +0 -6
  313. package/src/construtos/grouping.js +0 -14
  314. package/src/construtos/grouping.js.map +0 -1
  315. package/src/construtos/index.js.map +0 -1
  316. package/src/construtos/isto.d.ts +0 -6
  317. package/src/construtos/isto.js.map +0 -1
  318. package/src/construtos/literal.d.ts +0 -6
  319. package/src/construtos/literal.js.map +0 -1
  320. package/src/construtos/logical.js +0 -16
  321. package/src/construtos/logical.js.map +0 -1
  322. package/src/construtos/subscript.d.ts +0 -8
  323. package/src/construtos/subscript.js +0 -16
  324. package/src/construtos/subscript.js.map +0 -1
  325. package/src/construtos/super.d.ts +0 -7
  326. package/src/construtos/super.js.map +0 -1
  327. package/src/construtos/unario.js.map +0 -1
  328. package/src/construtos/variavel.d.ts +0 -6
  329. package/src/construtos/variavel.js.map +0 -1
  330. package/src/construtos/vetor.d.ts +0 -6
  331. package/src/construtos/vetor.js.map +0 -1
  332. package/src/declaracoes/bloco.d.ts +0 -6
  333. package/src/declaracoes/bloco.js.map +0 -1
  334. package/src/declaracoes/classe.d.ts +0 -8
  335. package/src/declaracoes/classe.js.map +0 -1
  336. package/src/declaracoes/continua.d.ts +0 -5
  337. package/src/declaracoes/continua.js.map +0 -1
  338. package/src/declaracoes/enquanto.js.map +0 -1
  339. package/src/declaracoes/escolha.d.ts +0 -8
  340. package/src/declaracoes/escolha.js.map +0 -1
  341. package/src/declaracoes/escreva.d.ts +0 -6
  342. package/src/declaracoes/escreva.js.map +0 -1
  343. package/src/declaracoes/expressao.d.ts +0 -6
  344. package/src/declaracoes/expressao.js.map +0 -1
  345. package/src/declaracoes/fazer.d.ts +0 -7
  346. package/src/declaracoes/fazer.js.map +0 -1
  347. package/src/declaracoes/funcao.d.ts +0 -7
  348. package/src/declaracoes/funcao.js.map +0 -1
  349. package/src/declaracoes/importar.d.ts +0 -7
  350. package/src/declaracoes/importar.js.map +0 -1
  351. package/src/declaracoes/index.js.map +0 -1
  352. package/src/declaracoes/para.d.ts +0 -9
  353. package/src/declaracoes/para.js.map +0 -1
  354. package/src/declaracoes/pausa.d.ts +0 -5
  355. package/src/declaracoes/pausa.js.map +0 -1
  356. package/src/declaracoes/retorna.js.map +0 -1
  357. package/src/declaracoes/se.d.ts +0 -9
  358. package/src/declaracoes/se.js.map +0 -1
  359. package/src/declaracoes/stmt.d.ts +0 -3
  360. package/src/declaracoes/stmt.js +0 -11
  361. package/src/declaracoes/stmt.js.map +0 -1
  362. package/src/declaracoes/tente.d.ts +0 -9
  363. package/src/declaracoes/tente.js.map +0 -1
  364. package/src/declaracoes/var.d.ts +0 -7
  365. package/src/declaracoes/var.js.map +0 -1
  366. package/src/delegua.d.ts +0 -21
  367. package/src/delegua.js +0 -135
  368. package/src/delegua.js.map +0 -1
  369. package/src/estruturas/chamavel.js.map +0 -1
  370. package/src/estruturas/classe.js.map +0 -1
  371. package/src/estruturas/funcao-padrao.js.map +0 -1
  372. package/src/estruturas/funcao.js.map +0 -1
  373. package/src/estruturas/index.js.map +0 -1
  374. package/src/estruturas/instancia.d.ts +0 -8
  375. package/src/estruturas/instancia.js.map +0 -1
  376. package/src/estruturas/modulo.js.map +0 -1
  377. package/src/excecoes/break-exception.d.ts +0 -2
  378. package/src/excecoes/break-exception.js.map +0 -1
  379. package/src/excecoes/continue-exception.d.ts +0 -2
  380. package/src/excecoes/continue-exception.js +0 -27
  381. package/src/excecoes/continue-exception.js.map +0 -1
  382. package/src/excecoes/erro-em-tempo-de-execucao.d.ts +0 -5
  383. package/src/excecoes/erro-em-tempo-de-execucao.js.map +0 -1
  384. package/src/excecoes/index.d.ts +0 -4
  385. package/src/excecoes/index.js.map +0 -1
  386. package/src/excecoes/return-exception.d.ts +0 -4
  387. package/src/excecoes/return-exception.js.map +0 -1
  388. package/src/interfaces/avaliador-sintatico-interface.d.ts +0 -55
  389. package/src/interfaces/avaliador-sintatico-interface.js.map +0 -1
  390. package/src/interfaces/index.js.map +0 -1
  391. package/src/interfaces/interpretador-interface.d.ts +0 -51
  392. package/src/interfaces/interpretador-interface.js.map +0 -1
  393. package/src/interfaces/lexador-interface.d.ts +0 -23
  394. package/src/interfaces/lexador-interface.js.map +0 -1
  395. package/src/interfaces/pilha-interface.d.ts +0 -7
  396. package/src/interfaces/pilha-interface.js.map +0 -1
  397. package/src/interfaces/resolvedor-interface.d.ts +0 -49
  398. package/src/interfaces/resolvedor-interface.js.map +0 -1
  399. package/src/interfaces/simbolo-interface.js.map +0 -1
  400. package/src/interpretador/dialetos/egua-classico.d.ts +0 -58
  401. package/src/interpretador/dialetos/egua-classico.js.map +0 -1
  402. package/src/interpretador/dialetos/index.js.map +0 -1
  403. package/src/interpretador/index.d.ts +0 -58
  404. package/src/interpretador/index.js +0 -664
  405. package/src/interpretador/index.js.map +0 -1
  406. package/src/lexador/dialetos/egua-classico.js.map +0 -1
  407. package/src/lexador/dialetos/index.js.map +0 -1
  408. package/src/lexador/index.d.ts +0 -31
  409. package/src/lexador/index.js +0 -298
  410. package/src/lexador/index.js.map +0 -1
  411. package/src/resolvedor/dialetos/egua-classico.d.ts +0 -57
  412. package/src/resolvedor/dialetos/egua-classico.js +0 -331
  413. package/src/resolvedor/dialetos/egua-classico.js.map +0 -1
  414. package/src/resolvedor/dialetos/index.js.map +0 -1
  415. package/src/resolvedor/erro-resolvedor.d.ts +0 -4
  416. package/src/resolvedor/erro-resolvedor.js.map +0 -1
  417. package/src/resolvedor/index.d.ts +0 -57
  418. package/src/resolvedor/index.js +0 -331
  419. package/src/resolvedor/index.js.map +0 -1
  420. package/src/resolvedor/pilha-escopos.js.map +0 -1
  421. package/src/tiposDeSimbolos.js.map +0 -1
@@ -0,0 +1,416 @@
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.Lexador = void 0;
7
+ var perf_hooks_1 = require("perf_hooks");
8
+ var tiposDeSimbolos_1 = __importDefault(require("../tiposDeSimbolos"));
9
+ var palavrasReservadas = {
10
+ e: tiposDeSimbolos_1.default.E,
11
+ em: tiposDeSimbolos_1.default.EM,
12
+ classe: tiposDeSimbolos_1.default.CLASSE,
13
+ senao: tiposDeSimbolos_1.default.SENAO,
14
+ senão: tiposDeSimbolos_1.default.SENÃO,
15
+ falso: tiposDeSimbolos_1.default.FALSO,
16
+ para: tiposDeSimbolos_1.default.PARA,
17
+ funcao: tiposDeSimbolos_1.default.FUNCAO,
18
+ função: tiposDeSimbolos_1.default.FUNÇÃO,
19
+ se: tiposDeSimbolos_1.default.SE,
20
+ senaose: tiposDeSimbolos_1.default.SENAOSE,
21
+ senãose: tiposDeSimbolos_1.default.SENÃOSE,
22
+ nulo: tiposDeSimbolos_1.default.NULO,
23
+ ou: tiposDeSimbolos_1.default.OU,
24
+ escreva: tiposDeSimbolos_1.default.ESCREVA,
25
+ retorna: tiposDeSimbolos_1.default.RETORNA,
26
+ super: tiposDeSimbolos_1.default.SUPER,
27
+ isto: tiposDeSimbolos_1.default.ISTO,
28
+ verdadeiro: tiposDeSimbolos_1.default.VERDADEIRO,
29
+ var: tiposDeSimbolos_1.default.VARIAVEL,
30
+ fazer: tiposDeSimbolos_1.default.FAZER,
31
+ enquanto: tiposDeSimbolos_1.default.ENQUANTO,
32
+ pausa: tiposDeSimbolos_1.default.PAUSA,
33
+ continua: tiposDeSimbolos_1.default.CONTINUA,
34
+ escolha: tiposDeSimbolos_1.default.ESCOLHA,
35
+ caso: tiposDeSimbolos_1.default.CASO,
36
+ padrao: tiposDeSimbolos_1.default.PADRAO,
37
+ importar: tiposDeSimbolos_1.default.IMPORTAR,
38
+ tente: tiposDeSimbolos_1.default.TENTE,
39
+ pegue: tiposDeSimbolos_1.default.PEGUE,
40
+ finalmente: tiposDeSimbolos_1.default.FINALMENTE,
41
+ herda: tiposDeSimbolos_1.default.HERDA,
42
+ };
43
+ var Simbolo = /** @class */ (function () {
44
+ function Simbolo(tipo, lexema, literal, linha) {
45
+ this.tipo = tipo;
46
+ this.lexema = lexema;
47
+ this.literal = literal;
48
+ this.linha = linha;
49
+ }
50
+ Simbolo.prototype.paraTexto = function () {
51
+ return this.tipo + " " + this.lexema + " " + this.literal;
52
+ };
53
+ return Simbolo;
54
+ }());
55
+ /**
56
+ * O Lexador é responsável por transformar o código em uma coleção de tokens de linguagem.
57
+ * Cada token de linguagem é representado por um tipo, um lexema e informações da linha de código em que foi expresso.
58
+ * Também é responsável por mapear as palavras reservadas da linguagem, que não podem ser usadas por outras
59
+ * estruturas, tais como nomes de variáveis, funções, literais, classes e assim por diante.
60
+ */
61
+ var Lexador = /** @class */ (function () {
62
+ function Lexador(performance) {
63
+ if (performance === void 0) { performance = false; }
64
+ this.performance = performance;
65
+ this.simbolos = [];
66
+ this.erros = [];
67
+ this.inicioSimbolo = 0;
68
+ this.atual = 0;
69
+ this.linha = 0;
70
+ }
71
+ Lexador.prototype.eDigito = function (caractere) {
72
+ return caractere >= '0' && caractere <= '9';
73
+ };
74
+ Lexador.prototype.eAlfabeto = function (caractere) {
75
+ var acentuacoes = [
76
+ 'á',
77
+ 'Á',
78
+ 'ã',
79
+ 'Ã',
80
+ 'â',
81
+ 'Â',
82
+ 'à',
83
+ 'À',
84
+ 'é',
85
+ 'É',
86
+ 'ê',
87
+ 'Ê',
88
+ 'í',
89
+ 'Í',
90
+ 'ó',
91
+ 'Ó',
92
+ 'õ',
93
+ 'Õ',
94
+ 'ô',
95
+ 'Ô',
96
+ 'ú',
97
+ 'Ú',
98
+ 'ç',
99
+ 'Ç',
100
+ '_',
101
+ ];
102
+ return ((caractere >= 'a' && caractere <= 'z') ||
103
+ (caractere >= 'A' && caractere <= 'Z') ||
104
+ acentuacoes.includes(caractere));
105
+ };
106
+ Lexador.prototype.eAlfabetoOuDigito = function (caractere) {
107
+ return this.eDigito(caractere) || this.eAlfabeto(caractere);
108
+ };
109
+ Lexador.prototype.eFinalDaLinha = function () {
110
+ return this.atual >= this.codigo[this.linha].length;
111
+ };
112
+ /**
113
+ * Indica se o código está na última linha.
114
+ * @returns Verdadeiro se contador de linhas está na última linha.
115
+ * Falso caso contrário.
116
+ */
117
+ Lexador.prototype.eUltimaLinha = function () {
118
+ return this.linha >= this.codigo.length - 1;
119
+ };
120
+ Lexador.prototype.eFinalDoCodigo = function () {
121
+ return this.eUltimaLinha() &&
122
+ this.codigo[this.codigo.length - 1].length <= this.atual;
123
+ };
124
+ Lexador.prototype.avancar = function () {
125
+ this.atual += 1;
126
+ if (this.eFinalDaLinha() && !this.eUltimaLinha()) {
127
+ this.linha++;
128
+ this.atual = 0;
129
+ }
130
+ };
131
+ Lexador.prototype.adicionarSimbolo = function (tipo, literal) {
132
+ if (literal === void 0) { literal = null; }
133
+ var texto = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
134
+ this.simbolos.push(new Simbolo(tipo, texto, literal, this.linha + 1));
135
+ };
136
+ Lexador.prototype.proximoIgualA = function (esperado) {
137
+ if (this.eFinalDaLinha()) {
138
+ return false;
139
+ }
140
+ if (this.codigo[this.linha][this.atual + 1] !== esperado) {
141
+ return false;
142
+ }
143
+ return true;
144
+ };
145
+ Lexador.prototype.simboloAtual = function () {
146
+ if (this.eFinalDaLinha())
147
+ return '\0';
148
+ return this.codigo[this.linha].charAt(this.atual);
149
+ };
150
+ Lexador.prototype.avancarParaProximaLinha = function () {
151
+ this.linha++;
152
+ this.atual = 0;
153
+ };
154
+ Lexador.prototype.proximoSimbolo = function () {
155
+ if (this.atual + 1 >= this.codigo[this.linha].length)
156
+ return '\0';
157
+ return this.codigo[this.linha].charAt(this.atual + 1);
158
+ };
159
+ Lexador.prototype.simboloAnterior = function () {
160
+ return this.codigo[this.linha].charAt(this.atual - 1);
161
+ };
162
+ Lexador.prototype.analisarTexto = function (delimitador) {
163
+ if (delimitador === void 0) { delimitador = '"'; }
164
+ while (this.simboloAtual() !== delimitador && !this.eFinalDoCodigo()) {
165
+ this.avancar();
166
+ }
167
+ if (this.eFinalDoCodigo()) {
168
+ this.erros.push({
169
+ linha: this.linha + 1,
170
+ caractere: this.simboloAnterior(),
171
+ mensagem: 'Texto não finalizado.'
172
+ });
173
+ return;
174
+ }
175
+ var valor = this.codigo[this.linha].substring(this.inicioSimbolo + 1, this.atual);
176
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.TEXTO, valor);
177
+ };
178
+ Lexador.prototype.analisarNumero = function () {
179
+ while (this.eDigito(this.simboloAtual())) {
180
+ this.avancar();
181
+ }
182
+ if (this.simboloAtual() == '.' && this.eDigito(this.proximoSimbolo())) {
183
+ this.avancar();
184
+ while (this.eDigito(this.simboloAtual())) {
185
+ this.avancar();
186
+ }
187
+ }
188
+ var numeroCompleto = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
189
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.NUMERO, parseFloat(numeroCompleto));
190
+ };
191
+ Lexador.prototype.identificarPalavraChave = function () {
192
+ while (this.eAlfabetoOuDigito(this.simboloAtual())) {
193
+ this.avancar();
194
+ }
195
+ var codigo = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
196
+ var tipo = codigo in palavrasReservadas
197
+ ? palavrasReservadas[codigo]
198
+ : tiposDeSimbolos_1.default.IDENTIFICADOR;
199
+ this.adicionarSimbolo(tipo);
200
+ };
201
+ Lexador.prototype.encontrarFimComentarioAsterisco = function () {
202
+ while (!this.eUltimaLinha()) {
203
+ this.avancar();
204
+ if (this.simboloAtual() === '*' && this.proximoSimbolo() === '/') {
205
+ this.avancar();
206
+ this.avancar();
207
+ break;
208
+ }
209
+ }
210
+ };
211
+ Lexador.prototype.analisarToken = function () {
212
+ var caractere = this.simboloAtual();
213
+ switch (caractere) {
214
+ case '[':
215
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.COLCHETE_ESQUERDO);
216
+ this.avancar();
217
+ break;
218
+ case ']':
219
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.COLCHETE_DIREITO);
220
+ this.avancar();
221
+ break;
222
+ case '(':
223
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.PARENTESE_ESQUERDO);
224
+ this.avancar();
225
+ break;
226
+ case ')':
227
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.PARENTESE_DIREITO);
228
+ this.avancar();
229
+ break;
230
+ case '{':
231
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.CHAVE_ESQUERDA);
232
+ this.avancar();
233
+ break;
234
+ case '}':
235
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.CHAVE_DIREITA);
236
+ this.avancar();
237
+ break;
238
+ case ',':
239
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.VIRGULA);
240
+ this.avancar();
241
+ break;
242
+ case '.':
243
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.PONTO);
244
+ this.avancar();
245
+ break;
246
+ case '-':
247
+ this.avancar();
248
+ if (this.simboloAtual() === '=') {
249
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.MENOS_IGUAL);
250
+ this.avancar();
251
+ }
252
+ else {
253
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.SUBTRACAO);
254
+ }
255
+ break;
256
+ case '+':
257
+ this.avancar();
258
+ if (this.simboloAtual() === '=') {
259
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.MAIS_IGUAL);
260
+ this.avancar();
261
+ }
262
+ else {
263
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.ADICAO);
264
+ }
265
+ break;
266
+ case ':':
267
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.DOIS_PONTOS);
268
+ this.avancar();
269
+ break;
270
+ case '%':
271
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.MODULO);
272
+ this.avancar();
273
+ break;
274
+ case '*':
275
+ this.inicioSimbolo = this.atual;
276
+ this.avancar();
277
+ if (this.simboloAtual() === '*') {
278
+ this.avancar();
279
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.EXPONENCIACAO);
280
+ }
281
+ else {
282
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.MULTIPLICACAO);
283
+ }
284
+ break;
285
+ case '!':
286
+ this.avancar();
287
+ if (this.simboloAtual() === '=') {
288
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.DIFERENTE);
289
+ this.avancar();
290
+ }
291
+ else {
292
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.NEGACAO);
293
+ }
294
+ break;
295
+ case '=':
296
+ this.avancar();
297
+ if (this.simboloAtual() === '=') {
298
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.IGUAL_IGUAL);
299
+ this.avancar();
300
+ }
301
+ else {
302
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.IGUAL);
303
+ }
304
+ break;
305
+ case '&':
306
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.BIT_AND);
307
+ this.avancar();
308
+ break;
309
+ case '~':
310
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.BIT_NOT);
311
+ this.avancar();
312
+ break;
313
+ case '|':
314
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.BIT_OR);
315
+ this.avancar();
316
+ break;
317
+ case '^':
318
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.BIT_XOR);
319
+ this.avancar();
320
+ break;
321
+ case '<':
322
+ this.avancar();
323
+ if (this.simboloAtual() === '=') {
324
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.MENOR_IGUAL);
325
+ this.avancar();
326
+ }
327
+ else if (this.simboloAtual() === '<') {
328
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.MENOR_MENOR);
329
+ this.avancar();
330
+ }
331
+ else {
332
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.MENOR);
333
+ }
334
+ break;
335
+ case '>':
336
+ this.avancar();
337
+ if (this.simboloAtual() === '=') {
338
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.MAIOR_IGUAL);
339
+ this.avancar();
340
+ }
341
+ else if (this.simboloAtual() === '>') {
342
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.MAIOR_MAIOR);
343
+ this.avancar();
344
+ }
345
+ else {
346
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.MAIOR);
347
+ }
348
+ break;
349
+ case '/':
350
+ this.avancar();
351
+ if (this.simboloAtual() == '/') {
352
+ this.avancarParaProximaLinha();
353
+ }
354
+ else if (this.simboloAtual() === '*') {
355
+ this.encontrarFimComentarioAsterisco();
356
+ }
357
+ else {
358
+ this.adicionarSimbolo(tiposDeSimbolos_1.default.DIVISAO);
359
+ }
360
+ break;
361
+ // Esta sessão ignora espaços em branco na tokenização.
362
+ // Ponto-e-vírgula é opcional em Delégua, então pode apenas ser ignorado.
363
+ case ' ':
364
+ case '\0':
365
+ case '\r':
366
+ case '\t':
367
+ case ';':
368
+ this.avancar();
369
+ break;
370
+ case '"':
371
+ this.avancar();
372
+ this.analisarTexto('"');
373
+ this.avancar();
374
+ break;
375
+ case "'":
376
+ this.avancar();
377
+ this.analisarTexto("'");
378
+ this.avancar();
379
+ break;
380
+ default:
381
+ if (this.eDigito(caractere))
382
+ this.analisarNumero();
383
+ else if (this.eAlfabeto(caractere))
384
+ this.identificarPalavraChave();
385
+ else {
386
+ this.erros.push({
387
+ linha: this.linha + 1,
388
+ caractere: caractere,
389
+ mensagem: 'Caractere inesperado.'
390
+ });
391
+ this.avancar();
392
+ }
393
+ }
394
+ };
395
+ Lexador.prototype.mapear = function (codigo) {
396
+ var inicioMapeamento = perf_hooks_1.performance.now();
397
+ this.erros = [];
398
+ this.simbolos = [];
399
+ this.codigo = codigo || [''];
400
+ while (!this.eFinalDoCodigo()) {
401
+ this.inicioSimbolo = this.atual;
402
+ this.analisarToken();
403
+ }
404
+ var fimMapeamento = perf_hooks_1.performance.now();
405
+ if (this.performance) {
406
+ console.log("[Lexador] Tempo para mapeamento: ".concat(fimMapeamento - inicioMapeamento, "ms"));
407
+ }
408
+ return {
409
+ simbolos: this.simbolos,
410
+ erros: this.erros
411
+ };
412
+ };
413
+ return Lexador;
414
+ }());
415
+ exports.Lexador = Lexador;
416
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/lexador/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { SimboloInterface } from "../interfaces";
2
+ import { ErroLexador } from "./erro-lexador";
3
+ export interface RetornoLexador {
4
+ simbolos: SimboloInterface[];
5
+ erros: ErroLexador[];
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=retorno-lexador.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retorno-lexador.js","sourceRoot":"","sources":["../../../fontes/lexador/retorno-lexador.ts"],"names":[],"mappings":""}
@@ -0,0 +1,62 @@
1
+ import { ResolvedorInterface } from '../../interfaces/resolvedor-interface';
2
+ import { PilhaEscopos } from '../pilha-escopos';
3
+ import { ErroResolvedor } from '../erro-resolvedor';
4
+ import { SimboloInterface } from '../../interfaces';
5
+ import { Bloco, Declaracao, Expressao, Se } from '../../declaracoes';
6
+ import { AcessoMetodo, Construto, Super, Variavel } from '../../construtos';
7
+ import { RetornoResolvedor } from '../retorno-resolvedor';
8
+ /**
9
+ * O Resolvedor (Resolver) é responsável por catalogar todos os identificadores complexos, como por exemplo: funções, classes, variáveis,
10
+ * e delimitar os escopos onde esses identificadores existem.
11
+ * Exemplo: uma classe A declara dois métodos chamados M e N. Todas as variáveis declaradas dentro de M não podem ser vistas por N, e vice-versa.
12
+ * No entanto, todas as variáveis declaradas dentro da classe A podem ser vistas tanto por M quanto por N.
13
+ */
14
+ export declare class ResolvedorEguaClassico implements ResolvedorInterface {
15
+ erros: ErroResolvedor[];
16
+ escopos: PilhaEscopos;
17
+ locais: Map<Construto, number>;
18
+ funcaoAtual: any;
19
+ classeAtual: any;
20
+ cicloAtual: any;
21
+ constructor();
22
+ definir(simbolo: SimboloInterface): void;
23
+ declarar(simbolo: SimboloInterface): void;
24
+ inicioDoEscopo(): void;
25
+ finalDoEscopo(): void;
26
+ resolverLocal(expressao: Construto, simbolo: SimboloInterface): void;
27
+ visitarExpressaoBloco(declaracao: Bloco): any;
28
+ visitarExpressaoDeVariavel(expressao: Variavel): any;
29
+ visitarExpressaoVar(declaracao: any): any;
30
+ visitarExpressaoDeAtribuicao(expressao: any): any;
31
+ resolverFuncao(funcao: any, funcType: any): void;
32
+ visitarExpressaoFuncao(declaracao: any): any;
33
+ visitarExpressaoDeleguaFuncao(declaracao: any): any;
34
+ visitarExpressaoTente(declaracao: any): any;
35
+ visitarExpressaoClasse(declaracao: any): any;
36
+ visitarExpressaoSuper(expressao: Super): any;
37
+ visitarExpressaoAcessoMetodo(expressao: AcessoMetodo): any;
38
+ visitarDeclaracaoDeExpressao(declaracao: Expressao): any;
39
+ visitarExpressaoSe(declaracao: Se): any;
40
+ visitarExpressaoImportar(declaracao: any): void;
41
+ visitarExpressaoEscreva(declaracao: any): void;
42
+ visitarExpressaoRetornar(declaracao: any): any;
43
+ visitarExpressaoEscolha(declaracao: any): void;
44
+ visitarExpressaoEnquanto(declaracao: any): any;
45
+ visitarExpressaoPara(declaracao: any): any;
46
+ visitarExpressaoFazer(declaracao: any): any;
47
+ visitarExpressaoBinaria(expressao: any): any;
48
+ visitarExpressaoDeChamada(expressao: any): any;
49
+ visitarExpressaoAgrupamento(expressao: any): any;
50
+ visitarExpressaoDicionario(expressao: any): any;
51
+ visitarExpressaoVetor(expressao: any): any;
52
+ visitarExpressaoAcessoIndiceVariavel(expressao: any): any;
53
+ visitarExpressaoContinua(declaracao?: any): any;
54
+ visitarExpressaoSustar(declaracao?: any): any;
55
+ visitarExpressaoAtribuicaoSobrescrita(expressao?: any): any;
56
+ visitarExpressaoLiteral(expressao?: any): any;
57
+ visitarExpressaoLogica(expressao?: any): any;
58
+ visitarExpressaoUnaria(expressao?: any): any;
59
+ visitarExpressaoDefinir(expressao?: any): any;
60
+ visitarExpressaoIsto(expressao?: any): any;
61
+ resolver(declaracoes: Declaracao | Declaracao[]): RetornoResolvedor;
62
+ }