@designliquido/delegua 0.32.2 → 0.33.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1129) hide show
  1. package/analisador-semantico/analisador-semantico-base.d.ts +65 -0
  2. package/analisador-semantico/analisador-semantico-base.js +168 -0
  3. package/analisador-semantico/analisador-semantico-base.js.map +1 -0
  4. package/analisador-semantico/analisador-semantico.d.ts +59 -0
  5. package/analisador-semantico/analisador-semantico.js +437 -0
  6. package/analisador-semantico/analisador-semantico.js.map +1 -0
  7. package/analisador-semantico/dialetos/analisador-semantico-birl.d.ts +28 -0
  8. package/analisador-semantico/dialetos/analisador-semantico-birl.js +88 -0
  9. package/analisador-semantico/dialetos/analisador-semantico-birl.js.map +1 -0
  10. package/analisador-semantico/dialetos/analisador-semantico-mapler.d.ts +29 -0
  11. package/analisador-semantico/dialetos/analisador-semantico-mapler.js +104 -0
  12. package/analisador-semantico/dialetos/analisador-semantico-mapler.js.map +1 -0
  13. package/analisador-semantico/dialetos/analisador-semantico-visualg.d.ts +37 -0
  14. package/analisador-semantico/dialetos/analisador-semantico-visualg.js +229 -0
  15. package/analisador-semantico/dialetos/analisador-semantico-visualg.js.map +1 -0
  16. package/analisador-semantico/dialetos/index.js.map +1 -0
  17. package/analisador-semantico/index.js.map +1 -0
  18. package/analisador-semantico/pilha-variaveis.js.map +1 -0
  19. package/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -0
  20. package/avaliador-sintatico/avaliador-sintatico.d.ts +123 -0
  21. package/avaliador-sintatico/avaliador-sintatico.js +1068 -0
  22. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -0
  23. package/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js +674 -0
  24. package/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js.map +1 -0
  25. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -0
  26. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +1 -0
  27. package/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.js.map +1 -0
  28. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -0
  29. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +1 -0
  30. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.js.map +1 -0
  31. package/avaliador-sintatico/dialetos/index.js.map +1 -0
  32. package/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js +709 -0
  33. package/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js.map +1 -0
  34. package/avaliador-sintatico/dialetos/potigol/micro-avaliador-sintatico-potigol.js.map +1 -0
  35. package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.d.ts +84 -0
  36. package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js +731 -0
  37. package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js.map +1 -0
  38. package/avaliador-sintatico/dialetos/visualg/parametro-visualg.js.map +1 -0
  39. package/avaliador-sintatico/erro-avaliador-sintatico.js.map +1 -0
  40. package/avaliador-sintatico/index.js.map +1 -0
  41. package/avaliador-sintatico/micro-avaliador-sintatico-base.js.map +1 -0
  42. package/avaliador-sintatico/micro-avaliador-sintatico.js.map +1 -0
  43. package/avaliador-sintatico/retornos/index.js.map +1 -0
  44. package/avaliador-sintatico/retornos/retorno-declaracao.js.map +1 -0
  45. package/avaliador-sintatico/retornos/retorno-primario.js.map +1 -0
  46. package/avaliador-sintatico/retornos/retorno-resolver-declaracao.js.map +1 -0
  47. package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.js.map +1 -0
  48. package/bibliotecas/biblioteca-global.js.map +1 -0
  49. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js.map +1 -0
  50. package/bibliotecas/dialetos/egua-classico/index.js.map +1 -0
  51. package/bibliotecas/dialetos/egua-classico/matematica.js +542 -0
  52. package/bibliotecas/dialetos/egua-classico/matematica.js.map +1 -0
  53. package/bibliotecas/dialetos/egua-classico/tempo.js.map +1 -0
  54. package/bibliotecas/dialetos/egua-classico/textos.js.map +1 -0
  55. package/bibliotecas/dialetos/potigol/biblioteca-global.js.map +1 -0
  56. package/bibliotecas/dialetos/potigol/primitivas-numero.js.map +1 -0
  57. package/bibliotecas/dialetos/potigol/primitivas-texto.js.map +1 -0
  58. package/bibliotecas/dialetos/potigol/primitivas-vetor.js.map +1 -0
  59. package/bibliotecas/dialetos/visualg/caracteres.js.map +1 -0
  60. package/bibliotecas/dialetos/visualg/index.js.map +1 -0
  61. package/bibliotecas/dialetos/visualg/numerica.js.map +1 -0
  62. package/bibliotecas/primitivas-dicionario.js.map +1 -0
  63. package/bibliotecas/primitivas-numero.js.map +1 -0
  64. package/bibliotecas/primitivas-texto.js.map +1 -0
  65. package/bibliotecas/primitivas-vetor.js.map +1 -0
  66. package/bin/package.json +2 -2
  67. package/construtos/acesso-elemento-matriz.js.map +1 -0
  68. package/construtos/acesso-indice-variavel.js.map +1 -0
  69. package/construtos/acesso-metodo-ou-propriedade.js.map +1 -0
  70. package/construtos/agrupamento.js.map +1 -0
  71. package/construtos/atribuicao-por-indice.js.map +1 -0
  72. package/construtos/atribuicao-por-indices-matriz.js.map +1 -0
  73. package/construtos/atribuir.js.map +1 -0
  74. package/construtos/binario.js.map +1 -0
  75. package/construtos/chamada.js.map +1 -0
  76. package/construtos/constante-ou-variavel.js.map +1 -0
  77. package/construtos/constante.js.map +1 -0
  78. package/construtos/construto.js.map +1 -0
  79. package/construtos/decorador.js.map +1 -0
  80. package/construtos/definir-valor.js.map +1 -0
  81. package/construtos/dicionario.js.map +1 -0
  82. package/construtos/expressao-regular.js.map +1 -0
  83. package/construtos/fim-para.js.map +1 -0
  84. package/construtos/formatacao-escrita.js.map +1 -0
  85. package/construtos/funcao.js.map +1 -0
  86. package/construtos/index.js.map +1 -0
  87. package/construtos/isto.js.map +1 -0
  88. package/construtos/literal.js.map +1 -0
  89. package/construtos/logico.js.map +1 -0
  90. package/construtos/qual-tipo.js.map +1 -0
  91. package/construtos/super.js.map +1 -0
  92. package/construtos/tipo-de.js.map +1 -0
  93. package/construtos/tuplas/deceto.js.map +1 -0
  94. package/construtos/tuplas/dupla.js.map +1 -0
  95. package/construtos/tuplas/index.js.map +1 -0
  96. package/construtos/tuplas/noneto.js.map +1 -0
  97. package/construtos/tuplas/octeto.js.map +1 -0
  98. package/construtos/tuplas/quarteto.js.map +1 -0
  99. package/construtos/tuplas/quinteto.js.map +1 -0
  100. package/construtos/tuplas/septeto.js.map +1 -0
  101. package/construtos/tuplas/sexteto.js.map +1 -0
  102. package/construtos/tuplas/trio.js.map +1 -0
  103. package/construtos/tuplas/tupla.js.map +1 -0
  104. package/construtos/unario.js.map +1 -0
  105. package/construtos/variavel.js.map +1 -0
  106. package/construtos/vetor.js.map +1 -0
  107. package/declaracoes/aleatorio.d.ts +15 -0
  108. package/declaracoes/aleatorio.js.map +1 -0
  109. package/declaracoes/bloco.js.map +1 -0
  110. package/declaracoes/cabecalho-programa.d.ts +7 -0
  111. package/declaracoes/cabecalho-programa.js.map +1 -0
  112. package/declaracoes/classe.js.map +1 -0
  113. package/declaracoes/const-multiplo.d.ts +14 -0
  114. package/declaracoes/const-multiplo.js.map +1 -0
  115. package/declaracoes/const.d.ts +14 -0
  116. package/declaracoes/const.js.map +1 -0
  117. package/declaracoes/continua.js.map +1 -0
  118. package/declaracoes/declaracao.js.map +1 -0
  119. package/declaracoes/enquanto.js.map +1 -0
  120. package/declaracoes/escolha.js.map +1 -0
  121. package/declaracoes/escreva-mesma-linha.js.map +1 -0
  122. package/declaracoes/escreva.js.map +1 -0
  123. package/declaracoes/expressao.js.map +1 -0
  124. package/declaracoes/falhar.js.map +1 -0
  125. package/declaracoes/fazer.js.map +1 -0
  126. package/declaracoes/funcao.js.map +1 -0
  127. package/declaracoes/importar.js.map +1 -0
  128. package/declaracoes/index.d.ts +31 -0
  129. package/declaracoes/index.js +48 -0
  130. package/declaracoes/index.js.map +1 -0
  131. package/declaracoes/inicio-algoritmo.d.ts +6 -0
  132. package/declaracoes/inicio-algoritmo.js.map +1 -0
  133. package/declaracoes/leia-multiplo.js.map +1 -0
  134. package/declaracoes/leia.js.map +1 -0
  135. package/declaracoes/para-cada.js.map +1 -0
  136. package/declaracoes/para.js.map +1 -0
  137. package/declaracoes/propriedade-classe.js.map +1 -0
  138. package/declaracoes/retorna.js.map +1 -0
  139. package/declaracoes/se.js.map +1 -0
  140. package/declaracoes/sustar.js.map +1 -0
  141. package/declaracoes/tendo-como.d.ts +16 -0
  142. package/declaracoes/tendo-como.js +22 -0
  143. package/declaracoes/tendo-como.js.map +1 -0
  144. package/declaracoes/tente.js.map +1 -0
  145. package/declaracoes/var-multiplo.d.ts +15 -0
  146. package/declaracoes/var-multiplo.js.map +1 -0
  147. package/declaracoes/var.d.ts +16 -0
  148. package/declaracoes/var.js.map +1 -0
  149. package/depuracao/cyrb53.js.map +1 -0
  150. package/depuracao/index.js.map +1 -0
  151. package/depuracao/ponto-parada.js.map +1 -0
  152. package/espaco-variaveis.js.map +1 -0
  153. package/estruturas/chamavel.js.map +1 -0
  154. package/estruturas/classe-padrao.js.map +1 -0
  155. package/estruturas/delegua-classe.js.map +1 -0
  156. package/estruturas/delegua-funcao.js +124 -0
  157. package/estruturas/delegua-funcao.js.map +1 -0
  158. package/estruturas/funcao-padrao.js.map +1 -0
  159. package/estruturas/index.js.map +1 -0
  160. package/estruturas/metodo-primitiva.js.map +1 -0
  161. package/estruturas/modulo.js.map +1 -0
  162. package/estruturas/objeto-delegua-classe.js.map +1 -0
  163. package/estruturas/objeto-padrao.js.map +1 -0
  164. package/excecoes/erro-em-tempo-de-execucao.js.map +1 -0
  165. package/excecoes/index.js.map +1 -0
  166. package/formatadores/formatador-delegua.d.ts +78 -0
  167. package/formatadores/formatador-delegua.js +663 -0
  168. package/formatadores/formatador-delegua.js.map +1 -0
  169. package/formatadores/formatador-portugol-studio.d.ts +69 -0
  170. package/formatadores/formatador-portugol-studio.js +326 -0
  171. package/formatadores/formatador-portugol-studio.js.map +1 -0
  172. package/formatadores/formatador-visualg.d.ts +72 -0
  173. package/formatadores/formatador-visualg.js +617 -0
  174. package/formatadores/formatador-visualg.js.map +1 -0
  175. package/formatadores/index.js.map +1 -0
  176. package/geracao-identificadores/index.js.map +1 -0
  177. package/index.d.ts +6 -6
  178. package/index.js +9 -18
  179. package/index.js.map +1 -1
  180. package/interfaces/analisador-semantico-interface.js.map +1 -0
  181. package/interfaces/avaliador-sintatico-interface.js.map +1 -0
  182. package/interfaces/construtos/index.js.map +1 -0
  183. package/interfaces/dialetos/interpretador-birl-interface.js.map +1 -0
  184. package/interfaces/erros/diagnostico-analisador-semantico.js.map +1 -0
  185. package/interfaces/erros/erro-interpretador.js.map +1 -0
  186. package/interfaces/erros/index.js.map +1 -0
  187. package/interfaces/escopo-execucao.js.map +1 -0
  188. package/interfaces/funcao-hipotetica-interface.js.map +1 -0
  189. package/interfaces/index.js.map +1 -0
  190. package/interfaces/interpretador-com-depuracao-interface.js.map +1 -0
  191. package/interfaces/interpretador-interface-birl.js.map +1 -0
  192. package/interfaces/interpretador-interface-potigol.js.map +1 -0
  193. package/interfaces/interpretador-interface.js.map +1 -0
  194. package/interfaces/lexador-interface.js.map +1 -0
  195. package/interfaces/parametro-interface.d.ts +15 -0
  196. package/interfaces/parametro-interface.js.map +1 -0
  197. package/interfaces/pilha-escopos-execucao-interface.d.ts +26 -0
  198. package/interfaces/pilha-escopos-execucao-interface.js.map +1 -0
  199. package/interfaces/pilha-interface.js.map +1 -0
  200. package/interfaces/resolvedor-interface.d.ts +41 -0
  201. package/interfaces/resolvedor-interface.js.map +1 -0
  202. package/interfaces/retornos/index.js.map +1 -0
  203. package/interfaces/retornos/retorno-analisador-semantico.js.map +1 -0
  204. package/interfaces/retornos/retorno-avaliador-sintatico.js.map +1 -0
  205. package/interfaces/retornos/retorno-execucao-interface.js.map +1 -0
  206. package/interfaces/retornos/retorno-interpretador.js.map +1 -0
  207. package/interfaces/retornos/retorno-lexador.js.map +1 -0
  208. package/interfaces/simbolo-interface.js.map +1 -0
  209. package/interfaces/tradutor-interface.js.map +1 -0
  210. package/interfaces/variavel-hipotetica-interface.d.ts +7 -0
  211. package/interfaces/variavel-hipotetica-interface.js.map +1 -0
  212. package/interfaces/variavel-interface.js.map +1 -0
  213. package/interfaces/visitante-comum-interface.d.ts +57 -0
  214. package/interfaces/visitante-comum-interface.js.map +1 -0
  215. package/interpretador/argumento-interface.js.map +1 -0
  216. package/interpretador/dialetos/birl/comum.js.map +1 -0
  217. package/interpretador/dialetos/birl/interpretador-birl-com-depuracao.js.map +1 -0
  218. package/interpretador/dialetos/birl/interpretador-birl.d.ts +157 -0
  219. package/interpretador/dialetos/birl/interpretador-birl.js +702 -0
  220. package/interpretador/dialetos/birl/interpretador-birl.js.map +1 -0
  221. package/interpretador/dialetos/egua-classico/index.js.map +1 -0
  222. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +118 -0
  223. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +813 -0
  224. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -0
  225. package/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.js.map +1 -0
  226. package/interpretador/dialetos/egua-classico/resolvedor/index.js.map +1 -0
  227. package/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.js.map +1 -0
  228. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +105 -0
  229. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +439 -0
  230. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -0
  231. package/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.js.map +1 -0
  232. package/interpretador/dialetos/index.js.map +1 -0
  233. package/interpretador/dialetos/mapler/comum.js +138 -0
  234. package/interpretador/dialetos/mapler/comum.js.map +1 -0
  235. package/interpretador/dialetos/mapler/interpretador-mapler-com-depuracao.js.map +1 -0
  236. package/interpretador/dialetos/mapler/interpretador-mapler.js.map +1 -0
  237. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +132 -0
  238. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +499 -0
  239. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -0
  240. package/interpretador/dialetos/portugol-studio/comum.js.map +1 -0
  241. package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.js.map +1 -0
  242. package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.js.map +1 -0
  243. package/interpretador/dialetos/potigol/comum.js.map +1 -0
  244. package/interpretador/dialetos/potigol/inferenciador.js.map +1 -0
  245. package/interpretador/dialetos/potigol/interpretador-potigol-com-depuracao.js.map +1 -0
  246. package/interpretador/dialetos/potigol/interpretador-potigol.js.map +1 -0
  247. package/interpretador/dialetos/visualg/comum.js +361 -0
  248. package/interpretador/dialetos/visualg/comum.js.map +1 -0
  249. package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js +211 -0
  250. package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js.map +1 -0
  251. package/interpretador/dialetos/visualg/interpretador-visualg.js.map +1 -0
  252. package/interpretador/index.js.map +1 -0
  253. package/interpretador/inferenciador.d.ts +2 -0
  254. package/interpretador/inferenciador.js.map +1 -0
  255. package/interpretador/interpretador-base.d.ts +238 -0
  256. package/interpretador/interpretador-base.js +1324 -0
  257. package/interpretador/interpretador-base.js.map +1 -0
  258. package/interpretador/interpretador-com-depuracao.js.map +1 -0
  259. package/interpretador/pilha-escopos-execucao.d.ts +39 -0
  260. package/interpretador/pilha-escopos-execucao.js +232 -0
  261. package/interpretador/pilha-escopos-execucao.js.map +1 -0
  262. package/lexador/dialetos/index.js.map +1 -0
  263. package/lexador/dialetos/lexador-birl.js.map +1 -0
  264. package/lexador/dialetos/lexador-egua-classico.js.map +1 -0
  265. package/lexador/dialetos/lexador-guarani.js.map +1 -0
  266. package/lexador/dialetos/lexador-mapler.js.map +1 -0
  267. package/lexador/dialetos/lexador-pitugues.js.map +1 -0
  268. package/lexador/dialetos/lexador-portugol-ipt.js.map +1 -0
  269. package/lexador/dialetos/lexador-portugol-studio.js.map +1 -0
  270. package/lexador/dialetos/lexador-potigol.js.map +1 -0
  271. package/lexador/dialetos/lexador-visualg.js.map +1 -0
  272. package/lexador/dialetos/palavras-reservadas/birl.js.map +1 -0
  273. package/lexador/dialetos/palavras-reservadas/egua-classico.js.map +1 -0
  274. package/lexador/dialetos/palavras-reservadas/guarani.js.map +1 -0
  275. package/lexador/dialetos/palavras-reservadas/index.js.map +1 -0
  276. package/lexador/dialetos/palavras-reservadas/mapler.js.map +1 -0
  277. package/lexador/dialetos/palavras-reservadas/portugol-ipt.js.map +1 -0
  278. package/lexador/dialetos/palavras-reservadas/portugol-studio.js.map +1 -0
  279. package/lexador/dialetos/palavras-reservadas/potigol.js.map +1 -0
  280. package/lexador/dialetos/palavras-reservadas/rantiaquin.js.map +1 -0
  281. package/lexador/dialetos/palavras-reservadas/visualg.js.map +1 -0
  282. package/lexador/dialetos/pragma.js.map +1 -0
  283. package/lexador/erro-lexador.js.map +1 -0
  284. package/lexador/index.js.map +1 -0
  285. package/lexador/lexador-base-linha-unica.js.map +1 -0
  286. package/lexador/lexador-base.js.map +1 -0
  287. package/lexador/lexador.js.map +1 -0
  288. package/lexador/micro-lexador.js.map +1 -0
  289. package/lexador/palavras-reservadas.d.ts +54 -0
  290. package/lexador/palavras-reservadas.js +62 -0
  291. package/lexador/palavras-reservadas.js.map +1 -0
  292. package/lexador/simbolo.js.map +1 -0
  293. package/lexador/traducao/lexador-javascript.js.map +1 -0
  294. package/package.json +2 -2
  295. package/quebras/index.js.map +1 -0
  296. package/tipo-dados-elementar.d.ts +1 -0
  297. package/tipo-dados-elementar.js +3 -0
  298. package/tipo-dados-elementar.js.map +1 -0
  299. package/tipos-de-dados/delegua.d.ts +18 -0
  300. package/tipos-de-dados/delegua.js +20 -0
  301. package/tipos-de-dados/delegua.js.map +1 -0
  302. package/tipos-de-dados/listas-delegua.js +8 -0
  303. package/tipos-de-dados/listas-delegua.js.map +1 -0
  304. package/tipos-de-dados/listas-primitivos.js +7 -0
  305. package/tipos-de-dados/listas-primitivos.js.map +1 -0
  306. package/tipos-de-dados/primitivos.js.map +1 -0
  307. package/tipos-de-simbolos/birl.js.map +1 -0
  308. package/tipos-de-simbolos/comum.js.map +1 -0
  309. package/tipos-de-simbolos/delegua.d.ts +89 -0
  310. package/tipos-de-simbolos/delegua.js +91 -0
  311. package/tipos-de-simbolos/delegua.js.map +1 -0
  312. package/tipos-de-simbolos/egua-classico.js.map +1 -0
  313. package/tipos-de-simbolos/guarani.js.map +1 -0
  314. package/tipos-de-simbolos/mapler.js.map +1 -0
  315. package/tipos-de-simbolos/microgramaticas/delegua.js.map +1 -0
  316. package/tipos-de-simbolos/pitugues.js.map +1 -0
  317. package/tipos-de-simbolos/portugol-ipt.js.map +1 -0
  318. package/tipos-de-simbolos/portugol-studio.js.map +1 -0
  319. package/tipos-de-simbolos/potigol.js.map +1 -0
  320. package/tipos-de-simbolos/rantiaquin.js.map +1 -0
  321. package/tipos-de-simbolos/visualg.js.map +1 -0
  322. package/tradutores/dicionarios/dicionario-delegua-javascript.js.map +1 -0
  323. package/tradutores/dicionarios/index.js.map +1 -0
  324. package/tradutores/index.js.map +1 -0
  325. package/tradutores/python/python3-lexer.js +1228 -0
  326. package/tradutores/python/python3-lexer.js.map +1 -0
  327. package/tradutores/python/python3-listener.js.map +1 -0
  328. package/tradutores/python/python3-parser.js.map +1 -0
  329. package/tradutores/python/python3-visitor.js.map +1 -0
  330. package/tradutores/tradutor-assembly-x64.js +142 -0
  331. package/tradutores/tradutor-assembly-x64.js.map +1 -0
  332. package/tradutores/tradutor-assemblyscript.js.map +1 -0
  333. package/tradutores/tradutor-javascript.js.map +1 -0
  334. package/tradutores/tradutor-portugol-ipt.js.map +1 -0
  335. package/tradutores/tradutor-python.js +446 -0
  336. package/tradutores/tradutor-python.js.map +1 -0
  337. package/tradutores/tradutor-reverso-javascript.js.map +1 -0
  338. package/tradutores/tradutor-reverso-python.js.map +1 -0
  339. package/tradutores/tradutor-reverso-visualg.js +264 -0
  340. package/tradutores/tradutor-reverso-visualg.js.map +1 -0
  341. package/fontes/analisador-semantico/analisador-semantico.d.ts +0 -99
  342. package/fontes/analisador-semantico/analisador-semantico.js +0 -548
  343. package/fontes/analisador-semantico/analisador-semantico.js.map +0 -1
  344. package/fontes/analisador-semantico/dialetos/analisador-semantico-birl.d.ts +0 -75
  345. package/fontes/analisador-semantico/dialetos/analisador-semantico-birl.js +0 -225
  346. package/fontes/analisador-semantico/dialetos/analisador-semantico-birl.js.map +0 -1
  347. package/fontes/analisador-semantico/dialetos/analisador-semantico-mapler.d.ts +0 -78
  348. package/fontes/analisador-semantico/dialetos/analisador-semantico-mapler.js +0 -242
  349. package/fontes/analisador-semantico/dialetos/analisador-semantico-mapler.js.map +0 -1
  350. package/fontes/analisador-semantico/dialetos/analisador-semantico-visualg.d.ts +0 -81
  351. package/fontes/analisador-semantico/dialetos/analisador-semantico-visualg.js +0 -351
  352. package/fontes/analisador-semantico/dialetos/analisador-semantico-visualg.js.map +0 -1
  353. package/fontes/analisador-semantico/dialetos/index.js.map +0 -1
  354. package/fontes/analisador-semantico/index.js.map +0 -1
  355. package/fontes/analisador-semantico/pilha-variaveis.js.map +0 -1
  356. package/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +0 -1
  357. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +0 -122
  358. package/fontes/avaliador-sintatico/avaliador-sintatico.js +0 -1046
  359. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +0 -1
  360. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js +0 -674
  361. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js.map +0 -1
  362. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +0 -1
  363. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +0 -1
  364. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.js.map +0 -1
  365. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +0 -1
  366. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +0 -1
  367. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.js.map +0 -1
  368. package/fontes/avaliador-sintatico/dialetos/index.js.map +0 -1
  369. package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js +0 -707
  370. package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js.map +0 -1
  371. package/fontes/avaliador-sintatico/dialetos/potigol/micro-avaliador-sintatico-potigol.js.map +0 -1
  372. package/fontes/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.d.ts +0 -91
  373. package/fontes/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js +0 -742
  374. package/fontes/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js.map +0 -1
  375. package/fontes/avaliador-sintatico/dialetos/visualg/parametro-visualg.js.map +0 -1
  376. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js.map +0 -1
  377. package/fontes/avaliador-sintatico/index.js.map +0 -1
  378. package/fontes/avaliador-sintatico/micro-avaliador-sintatico-base.js.map +0 -1
  379. package/fontes/avaliador-sintatico/micro-avaliador-sintatico.js.map +0 -1
  380. package/fontes/avaliador-sintatico/retornos/index.js.map +0 -1
  381. package/fontes/avaliador-sintatico/retornos/retorno-declaracao.js.map +0 -1
  382. package/fontes/avaliador-sintatico/retornos/retorno-primario.js.map +0 -1
  383. package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.js.map +0 -1
  384. package/fontes/avaliador-sintatico/traducao/avaliador-sintatico-javascript.js.map +0 -1
  385. package/fontes/bibliotecas/biblioteca-global.js.map +0 -1
  386. package/fontes/bibliotecas/dialetos/egua-classico/biblioteca-global.js.map +0 -1
  387. package/fontes/bibliotecas/dialetos/egua-classico/index.js.map +0 -1
  388. package/fontes/bibliotecas/dialetos/egua-classico/matematica.js +0 -534
  389. package/fontes/bibliotecas/dialetos/egua-classico/matematica.js.map +0 -1
  390. package/fontes/bibliotecas/dialetos/egua-classico/tempo.js.map +0 -1
  391. package/fontes/bibliotecas/dialetos/egua-classico/textos.js.map +0 -1
  392. package/fontes/bibliotecas/dialetos/potigol/biblioteca-global.js.map +0 -1
  393. package/fontes/bibliotecas/dialetos/potigol/primitivas-numero.js.map +0 -1
  394. package/fontes/bibliotecas/dialetos/potigol/primitivas-texto.js.map +0 -1
  395. package/fontes/bibliotecas/dialetos/potigol/primitivas-vetor.js.map +0 -1
  396. package/fontes/bibliotecas/dialetos/visualg/caracteres.js.map +0 -1
  397. package/fontes/bibliotecas/dialetos/visualg/index.js.map +0 -1
  398. package/fontes/bibliotecas/dialetos/visualg/numerica.js.map +0 -1
  399. package/fontes/bibliotecas/primitivas-dicionario.js.map +0 -1
  400. package/fontes/bibliotecas/primitivas-numero.js.map +0 -1
  401. package/fontes/bibliotecas/primitivas-texto.js.map +0 -1
  402. package/fontes/bibliotecas/primitivas-vetor.js.map +0 -1
  403. package/fontes/construtos/acesso-elemento-matriz.js.map +0 -1
  404. package/fontes/construtos/acesso-indice-variavel.js.map +0 -1
  405. package/fontes/construtos/acesso-metodo-ou-propriedade.js.map +0 -1
  406. package/fontes/construtos/agrupamento.js.map +0 -1
  407. package/fontes/construtos/atribuicao-por-indice.js.map +0 -1
  408. package/fontes/construtos/atribuicao-por-indices-matriz.js.map +0 -1
  409. package/fontes/construtos/atribuir.js.map +0 -1
  410. package/fontes/construtos/binario.js.map +0 -1
  411. package/fontes/construtos/chamada.js.map +0 -1
  412. package/fontes/construtos/constante-ou-variavel.js.map +0 -1
  413. package/fontes/construtos/constante.js.map +0 -1
  414. package/fontes/construtos/construto.js.map +0 -1
  415. package/fontes/construtos/decorador.js.map +0 -1
  416. package/fontes/construtos/definir-valor.js.map +0 -1
  417. package/fontes/construtos/dicionario.js.map +0 -1
  418. package/fontes/construtos/expressao-regular.js.map +0 -1
  419. package/fontes/construtos/fim-para.js.map +0 -1
  420. package/fontes/construtos/formatacao-escrita.js.map +0 -1
  421. package/fontes/construtos/funcao.js.map +0 -1
  422. package/fontes/construtos/index.js.map +0 -1
  423. package/fontes/construtos/isto.js.map +0 -1
  424. package/fontes/construtos/literal.js.map +0 -1
  425. package/fontes/construtos/logico.js.map +0 -1
  426. package/fontes/construtos/qual-tipo.js.map +0 -1
  427. package/fontes/construtos/super.js.map +0 -1
  428. package/fontes/construtos/tipo-de.js.map +0 -1
  429. package/fontes/construtos/tuplas/deceto.js.map +0 -1
  430. package/fontes/construtos/tuplas/dupla.js.map +0 -1
  431. package/fontes/construtos/tuplas/index.js.map +0 -1
  432. package/fontes/construtos/tuplas/noneto.js.map +0 -1
  433. package/fontes/construtos/tuplas/octeto.js.map +0 -1
  434. package/fontes/construtos/tuplas/quarteto.js.map +0 -1
  435. package/fontes/construtos/tuplas/quinteto.js.map +0 -1
  436. package/fontes/construtos/tuplas/septeto.js.map +0 -1
  437. package/fontes/construtos/tuplas/sexteto.js.map +0 -1
  438. package/fontes/construtos/tuplas/trio.js.map +0 -1
  439. package/fontes/construtos/tuplas/tupla.js.map +0 -1
  440. package/fontes/construtos/unario.js.map +0 -1
  441. package/fontes/construtos/variavel.js.map +0 -1
  442. package/fontes/construtos/vetor.js.map +0 -1
  443. package/fontes/declaracoes/aleatorio.d.ts +0 -15
  444. package/fontes/declaracoes/aleatorio.js.map +0 -1
  445. package/fontes/declaracoes/bloco.js.map +0 -1
  446. package/fontes/declaracoes/cabecalho-programa.d.ts +0 -7
  447. package/fontes/declaracoes/cabecalho-programa.js.map +0 -1
  448. package/fontes/declaracoes/classe.js.map +0 -1
  449. package/fontes/declaracoes/const-multiplo.d.ts +0 -14
  450. package/fontes/declaracoes/const-multiplo.js.map +0 -1
  451. package/fontes/declaracoes/const.d.ts +0 -14
  452. package/fontes/declaracoes/const.js.map +0 -1
  453. package/fontes/declaracoes/continua.js.map +0 -1
  454. package/fontes/declaracoes/declaracao.js.map +0 -1
  455. package/fontes/declaracoes/enquanto.js.map +0 -1
  456. package/fontes/declaracoes/escolha.js.map +0 -1
  457. package/fontes/declaracoes/escreva-mesma-linha.js.map +0 -1
  458. package/fontes/declaracoes/escreva.js.map +0 -1
  459. package/fontes/declaracoes/expressao.js.map +0 -1
  460. package/fontes/declaracoes/falhar.js.map +0 -1
  461. package/fontes/declaracoes/fazer.js.map +0 -1
  462. package/fontes/declaracoes/funcao.js.map +0 -1
  463. package/fontes/declaracoes/importar.js.map +0 -1
  464. package/fontes/declaracoes/index.d.ts +0 -29
  465. package/fontes/declaracoes/index.js +0 -46
  466. package/fontes/declaracoes/index.js.map +0 -1
  467. package/fontes/declaracoes/inicio-algoritmo.d.ts +0 -6
  468. package/fontes/declaracoes/inicio-algoritmo.js.map +0 -1
  469. package/fontes/declaracoes/leia-multiplo.js.map +0 -1
  470. package/fontes/declaracoes/leia.js.map +0 -1
  471. package/fontes/declaracoes/para-cada.js.map +0 -1
  472. package/fontes/declaracoes/para.js.map +0 -1
  473. package/fontes/declaracoes/propriedade-classe.js.map +0 -1
  474. package/fontes/declaracoes/retorna.js.map +0 -1
  475. package/fontes/declaracoes/se.js.map +0 -1
  476. package/fontes/declaracoes/sustar.js.map +0 -1
  477. package/fontes/declaracoes/tente.js.map +0 -1
  478. package/fontes/declaracoes/var-multiplo.d.ts +0 -15
  479. package/fontes/declaracoes/var-multiplo.js.map +0 -1
  480. package/fontes/declaracoes/var.d.ts +0 -16
  481. package/fontes/declaracoes/var.js.map +0 -1
  482. package/fontes/depuracao/cyrb53.js.map +0 -1
  483. package/fontes/depuracao/index.js.map +0 -1
  484. package/fontes/depuracao/ponto-parada.js.map +0 -1
  485. package/fontes/espaco-variaveis.js.map +0 -1
  486. package/fontes/estruturas/chamavel.js.map +0 -1
  487. package/fontes/estruturas/classe-padrao.js.map +0 -1
  488. package/fontes/estruturas/delegua-classe.js.map +0 -1
  489. package/fontes/estruturas/delegua-funcao.js +0 -124
  490. package/fontes/estruturas/delegua-funcao.js.map +0 -1
  491. package/fontes/estruturas/funcao-padrao.js.map +0 -1
  492. package/fontes/estruturas/index.js.map +0 -1
  493. package/fontes/estruturas/metodo-primitiva.js.map +0 -1
  494. package/fontes/estruturas/modulo.js.map +0 -1
  495. package/fontes/estruturas/objeto-delegua-classe.js.map +0 -1
  496. package/fontes/estruturas/objeto-padrao.js.map +0 -1
  497. package/fontes/excecoes/erro-em-tempo-de-execucao.js.map +0 -1
  498. package/fontes/excecoes/index.js.map +0 -1
  499. package/fontes/formatadores/formatador-delegua.d.ts +0 -77
  500. package/fontes/formatadores/formatador-delegua.js +0 -654
  501. package/fontes/formatadores/formatador-delegua.js.map +0 -1
  502. package/fontes/formatadores/formatador-portugol-studio.d.ts +0 -68
  503. package/fontes/formatadores/formatador-portugol-studio.js +0 -323
  504. package/fontes/formatadores/formatador-portugol-studio.js.map +0 -1
  505. package/fontes/formatadores/formatador-visualg.d.ts +0 -71
  506. package/fontes/formatadores/formatador-visualg.js +0 -611
  507. package/fontes/formatadores/formatador-visualg.js.map +0 -1
  508. package/fontes/formatadores/index.js.map +0 -1
  509. package/fontes/geracao-identificadores/index.js.map +0 -1
  510. package/fontes/interfaces/analisador-semantico-interface.js.map +0 -1
  511. package/fontes/interfaces/avaliador-sintatico-interface.js.map +0 -1
  512. package/fontes/interfaces/construtos/index.js.map +0 -1
  513. package/fontes/interfaces/dialetos/interpretador-birl-interface.js.map +0 -1
  514. package/fontes/interfaces/erros/diagnostico-analisador-semantico.js.map +0 -1
  515. package/fontes/interfaces/erros/erro-interpretador.js.map +0 -1
  516. package/fontes/interfaces/erros/index.js.map +0 -1
  517. package/fontes/interfaces/escopo-execucao.js.map +0 -1
  518. package/fontes/interfaces/funcao-hipotetica-interface.js.map +0 -1
  519. package/fontes/interfaces/index.js.map +0 -1
  520. package/fontes/interfaces/interpretador-com-depuracao-interface.js.map +0 -1
  521. package/fontes/interfaces/interpretador-interface-birl.js.map +0 -1
  522. package/fontes/interfaces/interpretador-interface-potigol.js.map +0 -1
  523. package/fontes/interfaces/interpretador-interface.js.map +0 -1
  524. package/fontes/interfaces/lexador-interface.js.map +0 -1
  525. package/fontes/interfaces/parametro-interface.d.ts +0 -15
  526. package/fontes/interfaces/parametro-interface.js.map +0 -1
  527. package/fontes/interfaces/pilha-escopos-execucao-interface.d.ts +0 -26
  528. package/fontes/interfaces/pilha-escopos-execucao-interface.js.map +0 -1
  529. package/fontes/interfaces/pilha-interface.js.map +0 -1
  530. package/fontes/interfaces/resolvedor-interface.d.ts +0 -41
  531. package/fontes/interfaces/resolvedor-interface.js.map +0 -1
  532. package/fontes/interfaces/retornos/index.js.map +0 -1
  533. package/fontes/interfaces/retornos/retorno-analisador-semantico.js.map +0 -1
  534. package/fontes/interfaces/retornos/retorno-avaliador-sintatico.js.map +0 -1
  535. package/fontes/interfaces/retornos/retorno-execucao-interface.js.map +0 -1
  536. package/fontes/interfaces/retornos/retorno-interpretador.js.map +0 -1
  537. package/fontes/interfaces/retornos/retorno-lexador.js.map +0 -1
  538. package/fontes/interfaces/simbolo-interface.js.map +0 -1
  539. package/fontes/interfaces/tipos-dados-interface.d.ts +0 -1
  540. package/fontes/interfaces/tipos-dados-interface.js +0 -3
  541. package/fontes/interfaces/tipos-dados-interface.js.map +0 -1
  542. package/fontes/interfaces/tradutor-interface.js.map +0 -1
  543. package/fontes/interfaces/variavel-hipotetica-interface.d.ts +0 -7
  544. package/fontes/interfaces/variavel-hipotetica-interface.js.map +0 -1
  545. package/fontes/interfaces/variavel-interface.js.map +0 -1
  546. package/fontes/interfaces/visitante-comum-interface.d.ts +0 -62
  547. package/fontes/interfaces/visitante-comum-interface.js.map +0 -1
  548. package/fontes/interpretador/argumento-interface.js.map +0 -1
  549. package/fontes/interpretador/dialetos/birl/comum.js.map +0 -1
  550. package/fontes/interpretador/dialetos/birl/interpretador-birl-com-depuracao.js.map +0 -1
  551. package/fontes/interpretador/dialetos/birl/interpretador-birl.d.ts +0 -157
  552. package/fontes/interpretador/dialetos/birl/interpretador-birl.js +0 -711
  553. package/fontes/interpretador/dialetos/birl/interpretador-birl.js.map +0 -1
  554. package/fontes/interpretador/dialetos/egua-classico/index.js.map +0 -1
  555. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +0 -117
  556. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +0 -809
  557. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +0 -1
  558. package/fontes/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.js.map +0 -1
  559. package/fontes/interpretador/dialetos/egua-classico/resolvedor/index.js.map +0 -1
  560. package/fontes/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.js.map +0 -1
  561. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +0 -104
  562. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +0 -436
  563. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +0 -1
  564. package/fontes/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.js.map +0 -1
  565. package/fontes/interpretador/dialetos/index.js.map +0 -1
  566. package/fontes/interpretador/dialetos/mapler/comum.js +0 -137
  567. package/fontes/interpretador/dialetos/mapler/comum.js.map +0 -1
  568. package/fontes/interpretador/dialetos/mapler/interpretador-mapler-com-depuracao.js.map +0 -1
  569. package/fontes/interpretador/dialetos/mapler/interpretador-mapler.js.map +0 -1
  570. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +0 -131
  571. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +0 -499
  572. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +0 -1
  573. package/fontes/interpretador/dialetos/portugol-studio/comum.js.map +0 -1
  574. package/fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.js.map +0 -1
  575. package/fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.js.map +0 -1
  576. package/fontes/interpretador/dialetos/potigol/comum.js.map +0 -1
  577. package/fontes/interpretador/dialetos/potigol/inferenciador.js.map +0 -1
  578. package/fontes/interpretador/dialetos/potigol/interpretador-potigol-com-depuracao.js.map +0 -1
  579. package/fontes/interpretador/dialetos/potigol/interpretador-potigol.js.map +0 -1
  580. package/fontes/interpretador/dialetos/visualg/comum.js +0 -358
  581. package/fontes/interpretador/dialetos/visualg/comum.js.map +0 -1
  582. package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js +0 -211
  583. package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js.map +0 -1
  584. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.js.map +0 -1
  585. package/fontes/interpretador/index.js.map +0 -1
  586. package/fontes/interpretador/inferenciador.d.ts +0 -1
  587. package/fontes/interpretador/inferenciador.js.map +0 -1
  588. package/fontes/interpretador/interpretador-base.d.ts +0 -237
  589. package/fontes/interpretador/interpretador-base.js +0 -1309
  590. package/fontes/interpretador/interpretador-base.js.map +0 -1
  591. package/fontes/interpretador/interpretador-com-depuracao.js.map +0 -1
  592. package/fontes/interpretador/pilha-escopos-execucao.d.ts +0 -39
  593. package/fontes/interpretador/pilha-escopos-execucao.js +0 -198
  594. package/fontes/interpretador/pilha-escopos-execucao.js.map +0 -1
  595. package/fontes/lexador/dialetos/index.js.map +0 -1
  596. package/fontes/lexador/dialetos/lexador-birl.js.map +0 -1
  597. package/fontes/lexador/dialetos/lexador-egua-classico.js.map +0 -1
  598. package/fontes/lexador/dialetos/lexador-guarani.js.map +0 -1
  599. package/fontes/lexador/dialetos/lexador-mapler.js.map +0 -1
  600. package/fontes/lexador/dialetos/lexador-pitugues.js.map +0 -1
  601. package/fontes/lexador/dialetos/lexador-portugol-ipt.js.map +0 -1
  602. package/fontes/lexador/dialetos/lexador-portugol-studio.js.map +0 -1
  603. package/fontes/lexador/dialetos/lexador-potigol.js.map +0 -1
  604. package/fontes/lexador/dialetos/lexador-visualg.js.map +0 -1
  605. package/fontes/lexador/dialetos/palavras-reservadas/birl.js.map +0 -1
  606. package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.js.map +0 -1
  607. package/fontes/lexador/dialetos/palavras-reservadas/guarani.js.map +0 -1
  608. package/fontes/lexador/dialetos/palavras-reservadas/index.js.map +0 -1
  609. package/fontes/lexador/dialetos/palavras-reservadas/mapler.js.map +0 -1
  610. package/fontes/lexador/dialetos/palavras-reservadas/portugol-ipt.js.map +0 -1
  611. package/fontes/lexador/dialetos/palavras-reservadas/portugol-studio.js.map +0 -1
  612. package/fontes/lexador/dialetos/palavras-reservadas/potigol.js.map +0 -1
  613. package/fontes/lexador/dialetos/palavras-reservadas/rantiaquin.js.map +0 -1
  614. package/fontes/lexador/dialetos/palavras-reservadas/visualg.js.map +0 -1
  615. package/fontes/lexador/dialetos/pragma.js.map +0 -1
  616. package/fontes/lexador/erro-lexador.js.map +0 -1
  617. package/fontes/lexador/index.js.map +0 -1
  618. package/fontes/lexador/lexador-base-linha-unica.js.map +0 -1
  619. package/fontes/lexador/lexador-base.js.map +0 -1
  620. package/fontes/lexador/lexador.js.map +0 -1
  621. package/fontes/lexador/micro-lexador.js.map +0 -1
  622. package/fontes/lexador/palavras-reservadas.d.ts +0 -52
  623. package/fontes/lexador/palavras-reservadas.js +0 -60
  624. package/fontes/lexador/palavras-reservadas.js.map +0 -1
  625. package/fontes/lexador/simbolo.js.map +0 -1
  626. package/fontes/lexador/traducao/lexador-javascript.js.map +0 -1
  627. package/fontes/quebras/index.js.map +0 -1
  628. package/fontes/tipos-de-dados/delegua.d.ts +0 -14
  629. package/fontes/tipos-de-dados/delegua.js +0 -16
  630. package/fontes/tipos-de-dados/delegua.js.map +0 -1
  631. package/fontes/tipos-de-dados/listas-delegua.js +0 -8
  632. package/fontes/tipos-de-dados/listas-delegua.js.map +0 -1
  633. package/fontes/tipos-de-dados/listas-primitivos.js +0 -7
  634. package/fontes/tipos-de-dados/listas-primitivos.js.map +0 -1
  635. package/fontes/tipos-de-dados/primitivos.js.map +0 -1
  636. package/fontes/tipos-de-simbolos/birl.js.map +0 -1
  637. package/fontes/tipos-de-simbolos/comum.js.map +0 -1
  638. package/fontes/tipos-de-simbolos/delegua.d.ts +0 -87
  639. package/fontes/tipos-de-simbolos/delegua.js +0 -89
  640. package/fontes/tipos-de-simbolos/delegua.js.map +0 -1
  641. package/fontes/tipos-de-simbolos/egua-classico.js.map +0 -1
  642. package/fontes/tipos-de-simbolos/guarani.js.map +0 -1
  643. package/fontes/tipos-de-simbolos/mapler.js.map +0 -1
  644. package/fontes/tipos-de-simbolos/microgramaticas/delegua.js.map +0 -1
  645. package/fontes/tipos-de-simbolos/pitugues.js.map +0 -1
  646. package/fontes/tipos-de-simbolos/portugol-ipt.js.map +0 -1
  647. package/fontes/tipos-de-simbolos/portugol-studio.js.map +0 -1
  648. package/fontes/tipos-de-simbolos/potigol.js.map +0 -1
  649. package/fontes/tipos-de-simbolos/rantiaquin.js.map +0 -1
  650. package/fontes/tipos-de-simbolos/visualg.js.map +0 -1
  651. package/fontes/tradutores/dicionarios/dicionario-delegua-javascript.js.map +0 -1
  652. package/fontes/tradutores/dicionarios/index.js.map +0 -1
  653. package/fontes/tradutores/index.js.map +0 -1
  654. package/fontes/tradutores/python/python3-lexer.js +0 -1228
  655. package/fontes/tradutores/python/python3-lexer.js.map +0 -1
  656. package/fontes/tradutores/python/python3-listener.js.map +0 -1
  657. package/fontes/tradutores/python/python3-parser.js.map +0 -1
  658. package/fontes/tradutores/python/python3-visitor.js.map +0 -1
  659. package/fontes/tradutores/tradutor-assembly-x64.js +0 -142
  660. package/fontes/tradutores/tradutor-assembly-x64.js.map +0 -1
  661. package/fontes/tradutores/tradutor-assemblyscript.js.map +0 -1
  662. package/fontes/tradutores/tradutor-javascript.js.map +0 -1
  663. package/fontes/tradutores/tradutor-portugol-ipt.js.map +0 -1
  664. package/fontes/tradutores/tradutor-python.js +0 -446
  665. package/fontes/tradutores/tradutor-python.js.map +0 -1
  666. package/fontes/tradutores/tradutor-reverso-javascript.js.map +0 -1
  667. package/fontes/tradutores/tradutor-reverso-python.js.map +0 -1
  668. package/fontes/tradutores/tradutor-reverso-visualg.js +0 -264
  669. package/fontes/tradutores/tradutor-reverso-visualg.js.map +0 -1
  670. /package/{fontes/analisador-semantico → analisador-semantico}/dialetos/index.d.ts +0 -0
  671. /package/{fontes/analisador-semantico → analisador-semantico}/dialetos/index.js +0 -0
  672. /package/{fontes/analisador-semantico → analisador-semantico}/index.d.ts +0 -0
  673. /package/{fontes/analisador-semantico → analisador-semantico}/index.js +0 -0
  674. /package/{fontes/analisador-semantico → analisador-semantico}/pilha-variaveis.d.ts +0 -0
  675. /package/{fontes/analisador-semantico → analisador-semantico}/pilha-variaveis.js +0 -0
  676. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/avaliador-sintatico-base.d.ts +0 -0
  677. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/avaliador-sintatico-base.js +0 -0
  678. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-birl.d.ts +0 -0
  679. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-egua-classico.d.ts +0 -0
  680. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-egua-classico.js +0 -0
  681. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-guarani.d.ts +0 -0
  682. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-guarani.js +0 -0
  683. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-mapler.d.ts +0 -0
  684. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-mapler.js +0 -0
  685. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-pitugues.d.ts +0 -0
  686. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-pitugues.js +0 -0
  687. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-portugol-ipt.d.ts +0 -0
  688. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-portugol-ipt.js +0 -0
  689. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-portugol-studio.d.ts +0 -0
  690. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/avaliador-sintatico-portugol-studio.js +0 -0
  691. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/index.d.ts +0 -0
  692. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/index.js +0 -0
  693. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/potigol/avaliador-sintatico-potigol.d.ts +0 -0
  694. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/potigol/micro-avaliador-sintatico-potigol.d.ts +0 -0
  695. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/potigol/micro-avaliador-sintatico-potigol.js +0 -0
  696. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/visualg/parametro-visualg.d.ts +0 -0
  697. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/dialetos/visualg/parametro-visualg.js +0 -0
  698. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/erro-avaliador-sintatico.d.ts +0 -0
  699. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/erro-avaliador-sintatico.js +0 -0
  700. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/index.d.ts +0 -0
  701. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/index.js +0 -0
  702. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/micro-avaliador-sintatico-base.d.ts +0 -0
  703. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/micro-avaliador-sintatico-base.js +0 -0
  704. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/micro-avaliador-sintatico.d.ts +0 -0
  705. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/micro-avaliador-sintatico.js +0 -0
  706. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/retornos/index.d.ts +0 -0
  707. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/retornos/index.js +0 -0
  708. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/retornos/retorno-declaracao.d.ts +0 -0
  709. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/retornos/retorno-declaracao.js +0 -0
  710. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/retornos/retorno-primario.d.ts +0 -0
  711. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/retornos/retorno-primario.js +0 -0
  712. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/retornos/retorno-resolver-declaracao.d.ts +0 -0
  713. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/retornos/retorno-resolver-declaracao.js +0 -0
  714. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/traducao/avaliador-sintatico-javascript.d.ts +0 -0
  715. /package/{fontes/avaliador-sintatico → avaliador-sintatico}/traducao/avaliador-sintatico-javascript.js +0 -0
  716. /package/{fontes/bibliotecas → bibliotecas}/biblioteca-global.d.ts +0 -0
  717. /package/{fontes/bibliotecas → bibliotecas}/biblioteca-global.js +0 -0
  718. /package/{fontes/bibliotecas → bibliotecas}/dialetos/egua-classico/biblioteca-global.d.ts +0 -0
  719. /package/{fontes/bibliotecas → bibliotecas}/dialetos/egua-classico/biblioteca-global.js +0 -0
  720. /package/{fontes/bibliotecas → bibliotecas}/dialetos/egua-classico/index.d.ts +0 -0
  721. /package/{fontes/bibliotecas → bibliotecas}/dialetos/egua-classico/index.js +0 -0
  722. /package/{fontes/bibliotecas → bibliotecas}/dialetos/egua-classico/matematica.d.ts +0 -0
  723. /package/{fontes/bibliotecas → bibliotecas}/dialetos/egua-classico/tempo.d.ts +0 -0
  724. /package/{fontes/bibliotecas → bibliotecas}/dialetos/egua-classico/tempo.js +0 -0
  725. /package/{fontes/bibliotecas → bibliotecas}/dialetos/egua-classico/textos.d.ts +0 -0
  726. /package/{fontes/bibliotecas → bibliotecas}/dialetos/egua-classico/textos.js +0 -0
  727. /package/{fontes/bibliotecas → bibliotecas}/dialetos/potigol/biblioteca-global.d.ts +0 -0
  728. /package/{fontes/bibliotecas → bibliotecas}/dialetos/potigol/biblioteca-global.js +0 -0
  729. /package/{fontes/bibliotecas → bibliotecas}/dialetos/potigol/primitivas-numero.d.ts +0 -0
  730. /package/{fontes/bibliotecas → bibliotecas}/dialetos/potigol/primitivas-numero.js +0 -0
  731. /package/{fontes/bibliotecas → bibliotecas}/dialetos/potigol/primitivas-texto.d.ts +0 -0
  732. /package/{fontes/bibliotecas → bibliotecas}/dialetos/potigol/primitivas-texto.js +0 -0
  733. /package/{fontes/bibliotecas → bibliotecas}/dialetos/potigol/primitivas-vetor.d.ts +0 -0
  734. /package/{fontes/bibliotecas → bibliotecas}/dialetos/potigol/primitivas-vetor.js +0 -0
  735. /package/{fontes/bibliotecas → bibliotecas}/dialetos/visualg/caracteres.d.ts +0 -0
  736. /package/{fontes/bibliotecas → bibliotecas}/dialetos/visualg/caracteres.js +0 -0
  737. /package/{fontes/bibliotecas → bibliotecas}/dialetos/visualg/index.d.ts +0 -0
  738. /package/{fontes/bibliotecas → bibliotecas}/dialetos/visualg/index.js +0 -0
  739. /package/{fontes/bibliotecas → bibliotecas}/dialetos/visualg/numerica.d.ts +0 -0
  740. /package/{fontes/bibliotecas → bibliotecas}/dialetos/visualg/numerica.js +0 -0
  741. /package/{fontes/bibliotecas → bibliotecas}/primitivas-dicionario.d.ts +0 -0
  742. /package/{fontes/bibliotecas → bibliotecas}/primitivas-dicionario.js +0 -0
  743. /package/{fontes/bibliotecas → bibliotecas}/primitivas-numero.d.ts +0 -0
  744. /package/{fontes/bibliotecas → bibliotecas}/primitivas-numero.js +0 -0
  745. /package/{fontes/bibliotecas → bibliotecas}/primitivas-texto.d.ts +0 -0
  746. /package/{fontes/bibliotecas → bibliotecas}/primitivas-texto.js +0 -0
  747. /package/{fontes/bibliotecas → bibliotecas}/primitivas-vetor.d.ts +0 -0
  748. /package/{fontes/bibliotecas → bibliotecas}/primitivas-vetor.js +0 -0
  749. /package/{fontes/construtos → construtos}/acesso-elemento-matriz.d.ts +0 -0
  750. /package/{fontes/construtos → construtos}/acesso-elemento-matriz.js +0 -0
  751. /package/{fontes/construtos → construtos}/acesso-indice-variavel.d.ts +0 -0
  752. /package/{fontes/construtos → construtos}/acesso-indice-variavel.js +0 -0
  753. /package/{fontes/construtos → construtos}/acesso-metodo-ou-propriedade.d.ts +0 -0
  754. /package/{fontes/construtos → construtos}/acesso-metodo-ou-propriedade.js +0 -0
  755. /package/{fontes/construtos → construtos}/agrupamento.d.ts +0 -0
  756. /package/{fontes/construtos → construtos}/agrupamento.js +0 -0
  757. /package/{fontes/construtos → construtos}/atribuicao-por-indice.d.ts +0 -0
  758. /package/{fontes/construtos → construtos}/atribuicao-por-indice.js +0 -0
  759. /package/{fontes/construtos → construtos}/atribuicao-por-indices-matriz.d.ts +0 -0
  760. /package/{fontes/construtos → construtos}/atribuicao-por-indices-matriz.js +0 -0
  761. /package/{fontes/construtos → construtos}/atribuir.d.ts +0 -0
  762. /package/{fontes/construtos → construtos}/atribuir.js +0 -0
  763. /package/{fontes/construtos → construtos}/binario.d.ts +0 -0
  764. /package/{fontes/construtos → construtos}/binario.js +0 -0
  765. /package/{fontes/construtos → construtos}/chamada.d.ts +0 -0
  766. /package/{fontes/construtos → construtos}/chamada.js +0 -0
  767. /package/{fontes/construtos → construtos}/constante-ou-variavel.d.ts +0 -0
  768. /package/{fontes/construtos → construtos}/constante-ou-variavel.js +0 -0
  769. /package/{fontes/construtos → construtos}/constante.d.ts +0 -0
  770. /package/{fontes/construtos → construtos}/constante.js +0 -0
  771. /package/{fontes/construtos → construtos}/construto.d.ts +0 -0
  772. /package/{fontes/construtos → construtos}/construto.js +0 -0
  773. /package/{fontes/construtos → construtos}/decorador.d.ts +0 -0
  774. /package/{fontes/construtos → construtos}/decorador.js +0 -0
  775. /package/{fontes/construtos → construtos}/definir-valor.d.ts +0 -0
  776. /package/{fontes/construtos → construtos}/definir-valor.js +0 -0
  777. /package/{fontes/construtos → construtos}/dicionario.d.ts +0 -0
  778. /package/{fontes/construtos → construtos}/dicionario.js +0 -0
  779. /package/{fontes/construtos → construtos}/expressao-regular.d.ts +0 -0
  780. /package/{fontes/construtos → construtos}/expressao-regular.js +0 -0
  781. /package/{fontes/construtos → construtos}/fim-para.d.ts +0 -0
  782. /package/{fontes/construtos → construtos}/fim-para.js +0 -0
  783. /package/{fontes/construtos → construtos}/formatacao-escrita.d.ts +0 -0
  784. /package/{fontes/construtos → construtos}/formatacao-escrita.js +0 -0
  785. /package/{fontes/construtos → construtos}/funcao.d.ts +0 -0
  786. /package/{fontes/construtos → construtos}/funcao.js +0 -0
  787. /package/{fontes/construtos → construtos}/index.d.ts +0 -0
  788. /package/{fontes/construtos → construtos}/index.js +0 -0
  789. /package/{fontes/construtos → construtos}/isto.d.ts +0 -0
  790. /package/{fontes/construtos → construtos}/isto.js +0 -0
  791. /package/{fontes/construtos → construtos}/literal.d.ts +0 -0
  792. /package/{fontes/construtos → construtos}/literal.js +0 -0
  793. /package/{fontes/construtos → construtos}/logico.d.ts +0 -0
  794. /package/{fontes/construtos → construtos}/logico.js +0 -0
  795. /package/{fontes/construtos → construtos}/qual-tipo.d.ts +0 -0
  796. /package/{fontes/construtos → construtos}/qual-tipo.js +0 -0
  797. /package/{fontes/construtos → construtos}/super.d.ts +0 -0
  798. /package/{fontes/construtos → construtos}/super.js +0 -0
  799. /package/{fontes/construtos → construtos}/tipo-de.d.ts +0 -0
  800. /package/{fontes/construtos → construtos}/tipo-de.js +0 -0
  801. /package/{fontes/construtos → construtos}/tuplas/deceto.d.ts +0 -0
  802. /package/{fontes/construtos → construtos}/tuplas/deceto.js +0 -0
  803. /package/{fontes/construtos → construtos}/tuplas/dupla.d.ts +0 -0
  804. /package/{fontes/construtos → construtos}/tuplas/dupla.js +0 -0
  805. /package/{fontes/construtos → construtos}/tuplas/index.d.ts +0 -0
  806. /package/{fontes/construtos → construtos}/tuplas/index.js +0 -0
  807. /package/{fontes/construtos → construtos}/tuplas/noneto.d.ts +0 -0
  808. /package/{fontes/construtos → construtos}/tuplas/noneto.js +0 -0
  809. /package/{fontes/construtos → construtos}/tuplas/octeto.d.ts +0 -0
  810. /package/{fontes/construtos → construtos}/tuplas/octeto.js +0 -0
  811. /package/{fontes/construtos → construtos}/tuplas/quarteto.d.ts +0 -0
  812. /package/{fontes/construtos → construtos}/tuplas/quarteto.js +0 -0
  813. /package/{fontes/construtos → construtos}/tuplas/quinteto.d.ts +0 -0
  814. /package/{fontes/construtos → construtos}/tuplas/quinteto.js +0 -0
  815. /package/{fontes/construtos → construtos}/tuplas/septeto.d.ts +0 -0
  816. /package/{fontes/construtos → construtos}/tuplas/septeto.js +0 -0
  817. /package/{fontes/construtos → construtos}/tuplas/sexteto.d.ts +0 -0
  818. /package/{fontes/construtos → construtos}/tuplas/sexteto.js +0 -0
  819. /package/{fontes/construtos → construtos}/tuplas/trio.d.ts +0 -0
  820. /package/{fontes/construtos → construtos}/tuplas/trio.js +0 -0
  821. /package/{fontes/construtos → construtos}/tuplas/tupla.d.ts +0 -0
  822. /package/{fontes/construtos → construtos}/tuplas/tupla.js +0 -0
  823. /package/{fontes/construtos → construtos}/unario.d.ts +0 -0
  824. /package/{fontes/construtos → construtos}/unario.js +0 -0
  825. /package/{fontes/construtos → construtos}/variavel.d.ts +0 -0
  826. /package/{fontes/construtos → construtos}/variavel.js +0 -0
  827. /package/{fontes/construtos → construtos}/vetor.d.ts +0 -0
  828. /package/{fontes/construtos → construtos}/vetor.js +0 -0
  829. /package/{fontes/declaracoes → declaracoes}/aleatorio.js +0 -0
  830. /package/{fontes/declaracoes → declaracoes}/bloco.d.ts +0 -0
  831. /package/{fontes/declaracoes → declaracoes}/bloco.js +0 -0
  832. /package/{fontes/declaracoes → declaracoes}/cabecalho-programa.js +0 -0
  833. /package/{fontes/declaracoes → declaracoes}/classe.d.ts +0 -0
  834. /package/{fontes/declaracoes → declaracoes}/classe.js +0 -0
  835. /package/{fontes/declaracoes → declaracoes}/const-multiplo.js +0 -0
  836. /package/{fontes/declaracoes → declaracoes}/const.js +0 -0
  837. /package/{fontes/declaracoes → declaracoes}/continua.d.ts +0 -0
  838. /package/{fontes/declaracoes → declaracoes}/continua.js +0 -0
  839. /package/{fontes/declaracoes → declaracoes}/declaracao.d.ts +0 -0
  840. /package/{fontes/declaracoes → declaracoes}/declaracao.js +0 -0
  841. /package/{fontes/declaracoes → declaracoes}/enquanto.d.ts +0 -0
  842. /package/{fontes/declaracoes → declaracoes}/enquanto.js +0 -0
  843. /package/{fontes/declaracoes → declaracoes}/escolha.d.ts +0 -0
  844. /package/{fontes/declaracoes → declaracoes}/escolha.js +0 -0
  845. /package/{fontes/declaracoes → declaracoes}/escreva-mesma-linha.d.ts +0 -0
  846. /package/{fontes/declaracoes → declaracoes}/escreva-mesma-linha.js +0 -0
  847. /package/{fontes/declaracoes → declaracoes}/escreva.d.ts +0 -0
  848. /package/{fontes/declaracoes → declaracoes}/escreva.js +0 -0
  849. /package/{fontes/declaracoes → declaracoes}/expressao.d.ts +0 -0
  850. /package/{fontes/declaracoes → declaracoes}/expressao.js +0 -0
  851. /package/{fontes/declaracoes → declaracoes}/falhar.d.ts +0 -0
  852. /package/{fontes/declaracoes → declaracoes}/falhar.js +0 -0
  853. /package/{fontes/declaracoes → declaracoes}/fazer.d.ts +0 -0
  854. /package/{fontes/declaracoes → declaracoes}/fazer.js +0 -0
  855. /package/{fontes/declaracoes → declaracoes}/funcao.d.ts +0 -0
  856. /package/{fontes/declaracoes → declaracoes}/funcao.js +0 -0
  857. /package/{fontes/declaracoes → declaracoes}/importar.d.ts +0 -0
  858. /package/{fontes/declaracoes → declaracoes}/importar.js +0 -0
  859. /package/{fontes/declaracoes → declaracoes}/inicio-algoritmo.js +0 -0
  860. /package/{fontes/declaracoes → declaracoes}/leia-multiplo.d.ts +0 -0
  861. /package/{fontes/declaracoes → declaracoes}/leia-multiplo.js +0 -0
  862. /package/{fontes/declaracoes → declaracoes}/leia.d.ts +0 -0
  863. /package/{fontes/declaracoes → declaracoes}/leia.js +0 -0
  864. /package/{fontes/declaracoes → declaracoes}/para-cada.d.ts +0 -0
  865. /package/{fontes/declaracoes → declaracoes}/para-cada.js +0 -0
  866. /package/{fontes/declaracoes → declaracoes}/para.d.ts +0 -0
  867. /package/{fontes/declaracoes → declaracoes}/para.js +0 -0
  868. /package/{fontes/declaracoes → declaracoes}/propriedade-classe.d.ts +0 -0
  869. /package/{fontes/declaracoes → declaracoes}/propriedade-classe.js +0 -0
  870. /package/{fontes/declaracoes → declaracoes}/retorna.d.ts +0 -0
  871. /package/{fontes/declaracoes → declaracoes}/retorna.js +0 -0
  872. /package/{fontes/declaracoes → declaracoes}/se.d.ts +0 -0
  873. /package/{fontes/declaracoes → declaracoes}/se.js +0 -0
  874. /package/{fontes/declaracoes → declaracoes}/sustar.d.ts +0 -0
  875. /package/{fontes/declaracoes → declaracoes}/sustar.js +0 -0
  876. /package/{fontes/declaracoes → declaracoes}/tente.d.ts +0 -0
  877. /package/{fontes/declaracoes → declaracoes}/tente.js +0 -0
  878. /package/{fontes/declaracoes → declaracoes}/var-multiplo.js +0 -0
  879. /package/{fontes/declaracoes → declaracoes}/var.js +0 -0
  880. /package/{fontes/depuracao → depuracao}/cyrb53.d.ts +0 -0
  881. /package/{fontes/depuracao → depuracao}/cyrb53.js +0 -0
  882. /package/{fontes/depuracao → depuracao}/index.d.ts +0 -0
  883. /package/{fontes/depuracao → depuracao}/index.js +0 -0
  884. /package/{fontes/depuracao → depuracao}/ponto-parada.d.ts +0 -0
  885. /package/{fontes/depuracao → depuracao}/ponto-parada.js +0 -0
  886. /package/{fontes/espaco-variaveis.d.ts → espaco-variaveis.d.ts} +0 -0
  887. /package/{fontes/espaco-variaveis.js → espaco-variaveis.js} +0 -0
  888. /package/{fontes/estruturas → estruturas}/chamavel.d.ts +0 -0
  889. /package/{fontes/estruturas → estruturas}/chamavel.js +0 -0
  890. /package/{fontes/estruturas → estruturas}/classe-padrao.d.ts +0 -0
  891. /package/{fontes/estruturas → estruturas}/classe-padrao.js +0 -0
  892. /package/{fontes/estruturas → estruturas}/delegua-classe.d.ts +0 -0
  893. /package/{fontes/estruturas → estruturas}/delegua-classe.js +0 -0
  894. /package/{fontes/estruturas → estruturas}/delegua-funcao.d.ts +0 -0
  895. /package/{fontes/estruturas → estruturas}/funcao-padrao.d.ts +0 -0
  896. /package/{fontes/estruturas → estruturas}/funcao-padrao.js +0 -0
  897. /package/{fontes/estruturas → estruturas}/index.d.ts +0 -0
  898. /package/{fontes/estruturas → estruturas}/index.js +0 -0
  899. /package/{fontes/estruturas → estruturas}/metodo-primitiva.d.ts +0 -0
  900. /package/{fontes/estruturas → estruturas}/metodo-primitiva.js +0 -0
  901. /package/{fontes/estruturas → estruturas}/modulo.d.ts +0 -0
  902. /package/{fontes/estruturas → estruturas}/modulo.js +0 -0
  903. /package/{fontes/estruturas → estruturas}/objeto-delegua-classe.d.ts +0 -0
  904. /package/{fontes/estruturas → estruturas}/objeto-delegua-classe.js +0 -0
  905. /package/{fontes/estruturas → estruturas}/objeto-padrao.d.ts +0 -0
  906. /package/{fontes/estruturas → estruturas}/objeto-padrao.js +0 -0
  907. /package/{fontes/excecoes → excecoes}/erro-em-tempo-de-execucao.d.ts +0 -0
  908. /package/{fontes/excecoes → excecoes}/erro-em-tempo-de-execucao.js +0 -0
  909. /package/{fontes/excecoes → excecoes}/index.d.ts +0 -0
  910. /package/{fontes/excecoes → excecoes}/index.js +0 -0
  911. /package/{fontes/formatadores → formatadores}/index.d.ts +0 -0
  912. /package/{fontes/formatadores → formatadores}/index.js +0 -0
  913. /package/{fontes/geracao-identificadores → geracao-identificadores}/index.d.ts +0 -0
  914. /package/{fontes/geracao-identificadores → geracao-identificadores}/index.js +0 -0
  915. /package/{fontes/interfaces → interfaces}/analisador-semantico-interface.d.ts +0 -0
  916. /package/{fontes/interfaces → interfaces}/analisador-semantico-interface.js +0 -0
  917. /package/{fontes/interfaces → interfaces}/avaliador-sintatico-interface.d.ts +0 -0
  918. /package/{fontes/interfaces → interfaces}/avaliador-sintatico-interface.js +0 -0
  919. /package/{fontes/interfaces → interfaces}/construtos/index.d.ts +0 -0
  920. /package/{fontes/interfaces → interfaces}/construtos/index.js +0 -0
  921. /package/{fontes/interfaces → interfaces}/dialetos/interpretador-birl-interface.d.ts +0 -0
  922. /package/{fontes/interfaces → interfaces}/dialetos/interpretador-birl-interface.js +0 -0
  923. /package/{fontes/interfaces → interfaces}/erros/diagnostico-analisador-semantico.d.ts +0 -0
  924. /package/{fontes/interfaces → interfaces}/erros/diagnostico-analisador-semantico.js +0 -0
  925. /package/{fontes/interfaces → interfaces}/erros/erro-interpretador.d.ts +0 -0
  926. /package/{fontes/interfaces → interfaces}/erros/erro-interpretador.js +0 -0
  927. /package/{fontes/interfaces → interfaces}/erros/index.d.ts +0 -0
  928. /package/{fontes/interfaces → interfaces}/erros/index.js +0 -0
  929. /package/{fontes/interfaces → interfaces}/escopo-execucao.d.ts +0 -0
  930. /package/{fontes/interfaces → interfaces}/escopo-execucao.js +0 -0
  931. /package/{fontes/interfaces → interfaces}/funcao-hipotetica-interface.d.ts +0 -0
  932. /package/{fontes/interfaces → interfaces}/funcao-hipotetica-interface.js +0 -0
  933. /package/{fontes/interfaces → interfaces}/index.d.ts +0 -0
  934. /package/{fontes/interfaces → interfaces}/index.js +0 -0
  935. /package/{fontes/interfaces → interfaces}/interpretador-com-depuracao-interface.d.ts +0 -0
  936. /package/{fontes/interfaces → interfaces}/interpretador-com-depuracao-interface.js +0 -0
  937. /package/{fontes/interfaces → interfaces}/interpretador-interface-birl.d.ts +0 -0
  938. /package/{fontes/interfaces → interfaces}/interpretador-interface-birl.js +0 -0
  939. /package/{fontes/interfaces → interfaces}/interpretador-interface-potigol.d.ts +0 -0
  940. /package/{fontes/interfaces → interfaces}/interpretador-interface-potigol.js +0 -0
  941. /package/{fontes/interfaces → interfaces}/interpretador-interface.d.ts +0 -0
  942. /package/{fontes/interfaces → interfaces}/interpretador-interface.js +0 -0
  943. /package/{fontes/interfaces → interfaces}/lexador-interface.d.ts +0 -0
  944. /package/{fontes/interfaces → interfaces}/lexador-interface.js +0 -0
  945. /package/{fontes/interfaces → interfaces}/parametro-interface.js +0 -0
  946. /package/{fontes/interfaces → interfaces}/pilha-escopos-execucao-interface.js +0 -0
  947. /package/{fontes/interfaces → interfaces}/pilha-interface.d.ts +0 -0
  948. /package/{fontes/interfaces → interfaces}/pilha-interface.js +0 -0
  949. /package/{fontes/interfaces → interfaces}/resolvedor-interface.js +0 -0
  950. /package/{fontes/interfaces → interfaces}/retornos/index.d.ts +0 -0
  951. /package/{fontes/interfaces → interfaces}/retornos/index.js +0 -0
  952. /package/{fontes/interfaces → interfaces}/retornos/retorno-analisador-semantico.d.ts +0 -0
  953. /package/{fontes/interfaces → interfaces}/retornos/retorno-analisador-semantico.js +0 -0
  954. /package/{fontes/interfaces → interfaces}/retornos/retorno-avaliador-sintatico.d.ts +0 -0
  955. /package/{fontes/interfaces → interfaces}/retornos/retorno-avaliador-sintatico.js +0 -0
  956. /package/{fontes/interfaces → interfaces}/retornos/retorno-execucao-interface.d.ts +0 -0
  957. /package/{fontes/interfaces → interfaces}/retornos/retorno-execucao-interface.js +0 -0
  958. /package/{fontes/interfaces → interfaces}/retornos/retorno-interpretador.d.ts +0 -0
  959. /package/{fontes/interfaces → interfaces}/retornos/retorno-interpretador.js +0 -0
  960. /package/{fontes/interfaces → interfaces}/retornos/retorno-lexador.d.ts +0 -0
  961. /package/{fontes/interfaces → interfaces}/retornos/retorno-lexador.js +0 -0
  962. /package/{fontes/interfaces → interfaces}/simbolo-interface.d.ts +0 -0
  963. /package/{fontes/interfaces → interfaces}/simbolo-interface.js +0 -0
  964. /package/{fontes/interfaces → interfaces}/tradutor-interface.d.ts +0 -0
  965. /package/{fontes/interfaces → interfaces}/tradutor-interface.js +0 -0
  966. /package/{fontes/interfaces → interfaces}/variavel-hipotetica-interface.js +0 -0
  967. /package/{fontes/interfaces → interfaces}/variavel-interface.d.ts +0 -0
  968. /package/{fontes/interfaces → interfaces}/variavel-interface.js +0 -0
  969. /package/{fontes/interfaces → interfaces}/visitante-comum-interface.js +0 -0
  970. /package/{fontes/interpretador → interpretador}/argumento-interface.d.ts +0 -0
  971. /package/{fontes/interpretador → interpretador}/argumento-interface.js +0 -0
  972. /package/{fontes/interpretador → interpretador}/dialetos/birl/comum.d.ts +0 -0
  973. /package/{fontes/interpretador → interpretador}/dialetos/birl/comum.js +0 -0
  974. /package/{fontes/interpretador → interpretador}/dialetos/birl/interpretador-birl-com-depuracao.d.ts +0 -0
  975. /package/{fontes/interpretador → interpretador}/dialetos/birl/interpretador-birl-com-depuracao.js +0 -0
  976. /package/{fontes/interpretador → interpretador}/dialetos/egua-classico/index.d.ts +0 -0
  977. /package/{fontes/interpretador → interpretador}/dialetos/egua-classico/index.js +0 -0
  978. /package/{fontes/interpretador → interpretador}/dialetos/egua-classico/resolvedor/erro-resolvedor.d.ts +0 -0
  979. /package/{fontes/interpretador → interpretador}/dialetos/egua-classico/resolvedor/erro-resolvedor.js +0 -0
  980. /package/{fontes/interpretador → interpretador}/dialetos/egua-classico/resolvedor/index.d.ts +0 -0
  981. /package/{fontes/interpretador → interpretador}/dialetos/egua-classico/resolvedor/index.js +0 -0
  982. /package/{fontes/interpretador → interpretador}/dialetos/egua-classico/resolvedor/pilha-escopos.d.ts +0 -0
  983. /package/{fontes/interpretador → interpretador}/dialetos/egua-classico/resolvedor/pilha-escopos.js +0 -0
  984. /package/{fontes/interpretador → interpretador}/dialetos/egua-classico/resolvedor/retorno-resolvedor.d.ts +0 -0
  985. /package/{fontes/interpretador → interpretador}/dialetos/egua-classico/resolvedor/retorno-resolvedor.js +0 -0
  986. /package/{fontes/interpretador → interpretador}/dialetos/index.d.ts +0 -0
  987. /package/{fontes/interpretador → interpretador}/dialetos/index.js +0 -0
  988. /package/{fontes/interpretador → interpretador}/dialetos/mapler/comum.d.ts +0 -0
  989. /package/{fontes/interpretador → interpretador}/dialetos/mapler/interpretador-mapler-com-depuracao.d.ts +0 -0
  990. /package/{fontes/interpretador → interpretador}/dialetos/mapler/interpretador-mapler-com-depuracao.js +0 -0
  991. /package/{fontes/interpretador → interpretador}/dialetos/mapler/interpretador-mapler.d.ts +0 -0
  992. /package/{fontes/interpretador → interpretador}/dialetos/mapler/interpretador-mapler.js +0 -0
  993. /package/{fontes/interpretador → interpretador}/dialetos/portugol-studio/comum.d.ts +0 -0
  994. /package/{fontes/interpretador → interpretador}/dialetos/portugol-studio/comum.js +0 -0
  995. /package/{fontes/interpretador → interpretador}/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.d.ts +0 -0
  996. /package/{fontes/interpretador → interpretador}/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.js +0 -0
  997. /package/{fontes/interpretador → interpretador}/dialetos/portugol-studio/interpretador-portugol-studio.d.ts +0 -0
  998. /package/{fontes/interpretador → interpretador}/dialetos/portugol-studio/interpretador-portugol-studio.js +0 -0
  999. /package/{fontes/interpretador → interpretador}/dialetos/potigol/comum.d.ts +0 -0
  1000. /package/{fontes/interpretador → interpretador}/dialetos/potigol/comum.js +0 -0
  1001. /package/{fontes/interpretador → interpretador}/dialetos/potigol/inferenciador.d.ts +0 -0
  1002. /package/{fontes/interpretador → interpretador}/dialetos/potigol/inferenciador.js +0 -0
  1003. /package/{fontes/interpretador → interpretador}/dialetos/potigol/interpretador-potigol-com-depuracao.d.ts +0 -0
  1004. /package/{fontes/interpretador → interpretador}/dialetos/potigol/interpretador-potigol-com-depuracao.js +0 -0
  1005. /package/{fontes/interpretador → interpretador}/dialetos/potigol/interpretador-potigol.d.ts +0 -0
  1006. /package/{fontes/interpretador → interpretador}/dialetos/potigol/interpretador-potigol.js +0 -0
  1007. /package/{fontes/interpretador → interpretador}/dialetos/visualg/comum.d.ts +0 -0
  1008. /package/{fontes/interpretador → interpretador}/dialetos/visualg/interpretador-visualg-com-depuracao.d.ts +0 -0
  1009. /package/{fontes/interpretador → interpretador}/dialetos/visualg/interpretador-visualg.d.ts +0 -0
  1010. /package/{fontes/interpretador → interpretador}/dialetos/visualg/interpretador-visualg.js +0 -0
  1011. /package/{fontes/interpretador → interpretador}/index.d.ts +0 -0
  1012. /package/{fontes/interpretador → interpretador}/index.js +0 -0
  1013. /package/{fontes/interpretador → interpretador}/inferenciador.js +0 -0
  1014. /package/{fontes/interpretador → interpretador}/interpretador-com-depuracao.d.ts +0 -0
  1015. /package/{fontes/interpretador → interpretador}/interpretador-com-depuracao.js +0 -0
  1016. /package/{fontes/lexador → lexador}/dialetos/index.d.ts +0 -0
  1017. /package/{fontes/lexador → lexador}/dialetos/index.js +0 -0
  1018. /package/{fontes/lexador → lexador}/dialetos/lexador-birl.d.ts +0 -0
  1019. /package/{fontes/lexador → lexador}/dialetos/lexador-birl.js +0 -0
  1020. /package/{fontes/lexador → lexador}/dialetos/lexador-egua-classico.d.ts +0 -0
  1021. /package/{fontes/lexador → lexador}/dialetos/lexador-egua-classico.js +0 -0
  1022. /package/{fontes/lexador → lexador}/dialetos/lexador-guarani.d.ts +0 -0
  1023. /package/{fontes/lexador → lexador}/dialetos/lexador-guarani.js +0 -0
  1024. /package/{fontes/lexador → lexador}/dialetos/lexador-mapler.d.ts +0 -0
  1025. /package/{fontes/lexador → lexador}/dialetos/lexador-mapler.js +0 -0
  1026. /package/{fontes/lexador → lexador}/dialetos/lexador-pitugues.d.ts +0 -0
  1027. /package/{fontes/lexador → lexador}/dialetos/lexador-pitugues.js +0 -0
  1028. /package/{fontes/lexador → lexador}/dialetos/lexador-portugol-ipt.d.ts +0 -0
  1029. /package/{fontes/lexador → lexador}/dialetos/lexador-portugol-ipt.js +0 -0
  1030. /package/{fontes/lexador → lexador}/dialetos/lexador-portugol-studio.d.ts +0 -0
  1031. /package/{fontes/lexador → lexador}/dialetos/lexador-portugol-studio.js +0 -0
  1032. /package/{fontes/lexador → lexador}/dialetos/lexador-potigol.d.ts +0 -0
  1033. /package/{fontes/lexador → lexador}/dialetos/lexador-potigol.js +0 -0
  1034. /package/{fontes/lexador → lexador}/dialetos/lexador-visualg.d.ts +0 -0
  1035. /package/{fontes/lexador → lexador}/dialetos/lexador-visualg.js +0 -0
  1036. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/birl.d.ts +0 -0
  1037. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/birl.js +0 -0
  1038. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/egua-classico.d.ts +0 -0
  1039. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/egua-classico.js +0 -0
  1040. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/guarani.d.ts +0 -0
  1041. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/guarani.js +0 -0
  1042. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/index.d.ts +0 -0
  1043. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/index.js +0 -0
  1044. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/mapler.d.ts +0 -0
  1045. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/mapler.js +0 -0
  1046. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/portugol-ipt.d.ts +0 -0
  1047. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/portugol-ipt.js +0 -0
  1048. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/portugol-studio.d.ts +0 -0
  1049. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/portugol-studio.js +0 -0
  1050. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/potigol.d.ts +0 -0
  1051. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/potigol.js +0 -0
  1052. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/rantiaquin.d.ts +0 -0
  1053. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/rantiaquin.js +0 -0
  1054. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/visualg.d.ts +0 -0
  1055. /package/{fontes/lexador → lexador}/dialetos/palavras-reservadas/visualg.js +0 -0
  1056. /package/{fontes/lexador → lexador}/dialetos/pragma.d.ts +0 -0
  1057. /package/{fontes/lexador → lexador}/dialetos/pragma.js +0 -0
  1058. /package/{fontes/lexador → lexador}/erro-lexador.d.ts +0 -0
  1059. /package/{fontes/lexador → lexador}/erro-lexador.js +0 -0
  1060. /package/{fontes/lexador → lexador}/index.d.ts +0 -0
  1061. /package/{fontes/lexador → lexador}/index.js +0 -0
  1062. /package/{fontes/lexador → lexador}/lexador-base-linha-unica.d.ts +0 -0
  1063. /package/{fontes/lexador → lexador}/lexador-base-linha-unica.js +0 -0
  1064. /package/{fontes/lexador → lexador}/lexador-base.d.ts +0 -0
  1065. /package/{fontes/lexador → lexador}/lexador-base.js +0 -0
  1066. /package/{fontes/lexador → lexador}/lexador.d.ts +0 -0
  1067. /package/{fontes/lexador → lexador}/lexador.js +0 -0
  1068. /package/{fontes/lexador → lexador}/micro-lexador.d.ts +0 -0
  1069. /package/{fontes/lexador → lexador}/micro-lexador.js +0 -0
  1070. /package/{fontes/lexador → lexador}/simbolo.d.ts +0 -0
  1071. /package/{fontes/lexador → lexador}/simbolo.js +0 -0
  1072. /package/{fontes/lexador → lexador}/traducao/lexador-javascript.d.ts +0 -0
  1073. /package/{fontes/lexador → lexador}/traducao/lexador-javascript.js +0 -0
  1074. /package/{fontes/quebras → quebras}/index.d.ts +0 -0
  1075. /package/{fontes/quebras → quebras}/index.js +0 -0
  1076. /package/{fontes/tipos-de-dados → tipos-de-dados}/listas-delegua.d.ts +0 -0
  1077. /package/{fontes/tipos-de-dados → tipos-de-dados}/listas-primitivos.d.ts +0 -0
  1078. /package/{fontes/tipos-de-dados → tipos-de-dados}/primitivos.d.ts +0 -0
  1079. /package/{fontes/tipos-de-dados → tipos-de-dados}/primitivos.js +0 -0
  1080. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/birl.d.ts +0 -0
  1081. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/birl.js +0 -0
  1082. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/comum.d.ts +0 -0
  1083. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/comum.js +0 -0
  1084. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/egua-classico.d.ts +0 -0
  1085. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/egua-classico.js +0 -0
  1086. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/guarani.d.ts +0 -0
  1087. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/guarani.js +0 -0
  1088. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/mapler.d.ts +0 -0
  1089. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/mapler.js +0 -0
  1090. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/microgramaticas/delegua.d.ts +0 -0
  1091. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/microgramaticas/delegua.js +0 -0
  1092. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/pitugues.d.ts +0 -0
  1093. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/pitugues.js +0 -0
  1094. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/portugol-ipt.d.ts +0 -0
  1095. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/portugol-ipt.js +0 -0
  1096. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/portugol-studio.d.ts +0 -0
  1097. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/portugol-studio.js +0 -0
  1098. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/potigol.d.ts +0 -0
  1099. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/potigol.js +0 -0
  1100. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/rantiaquin.d.ts +0 -0
  1101. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/rantiaquin.js +0 -0
  1102. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/visualg.d.ts +0 -0
  1103. /package/{fontes/tipos-de-simbolos → tipos-de-simbolos}/visualg.js +0 -0
  1104. /package/{fontes/tradutores → tradutores}/dicionarios/dicionario-delegua-javascript.d.ts +0 -0
  1105. /package/{fontes/tradutores → tradutores}/dicionarios/dicionario-delegua-javascript.js +0 -0
  1106. /package/{fontes/tradutores → tradutores}/dicionarios/index.d.ts +0 -0
  1107. /package/{fontes/tradutores → tradutores}/dicionarios/index.js +0 -0
  1108. /package/{fontes/tradutores → tradutores}/index.d.ts +0 -0
  1109. /package/{fontes/tradutores → tradutores}/index.js +0 -0
  1110. /package/{fontes/tradutores → tradutores}/python/python3-lexer.d.ts +0 -0
  1111. /package/{fontes/tradutores → tradutores}/python/python3-listener.d.ts +0 -0
  1112. /package/{fontes/tradutores → tradutores}/python/python3-listener.js +0 -0
  1113. /package/{fontes/tradutores → tradutores}/python/python3-parser.d.ts +0 -0
  1114. /package/{fontes/tradutores → tradutores}/python/python3-parser.js +0 -0
  1115. /package/{fontes/tradutores → tradutores}/python/python3-visitor.d.ts +0 -0
  1116. /package/{fontes/tradutores → tradutores}/python/python3-visitor.js +0 -0
  1117. /package/{fontes/tradutores → tradutores}/tradutor-assembly-x64.d.ts +0 -0
  1118. /package/{fontes/tradutores → tradutores}/tradutor-assemblyscript.d.ts +0 -0
  1119. /package/{fontes/tradutores → tradutores}/tradutor-assemblyscript.js +0 -0
  1120. /package/{fontes/tradutores → tradutores}/tradutor-javascript.d.ts +0 -0
  1121. /package/{fontes/tradutores → tradutores}/tradutor-javascript.js +0 -0
  1122. /package/{fontes/tradutores → tradutores}/tradutor-portugol-ipt.d.ts +0 -0
  1123. /package/{fontes/tradutores → tradutores}/tradutor-portugol-ipt.js +0 -0
  1124. /package/{fontes/tradutores → tradutores}/tradutor-python.d.ts +0 -0
  1125. /package/{fontes/tradutores → tradutores}/tradutor-reverso-javascript.d.ts +0 -0
  1126. /package/{fontes/tradutores → tradutores}/tradutor-reverso-javascript.js +0 -0
  1127. /package/{fontes/tradutores → tradutores}/tradutor-reverso-python.d.ts +0 -0
  1128. /package/{fontes/tradutores → tradutores}/tradutor-reverso-python.js +0 -0
  1129. /package/{fontes/tradutores → tradutores}/tradutor-reverso-visualg.d.ts +0 -0
@@ -0,0 +1,1068 @@
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.AvaliadorSintatico = void 0;
7
+ const delegua_1 = __importDefault(require("../tipos-de-simbolos/delegua"));
8
+ const delegua_2 = __importDefault(require("../tipos-de-dados/delegua"));
9
+ const browser_process_hrtime_1 = __importDefault(require("browser-process-hrtime"));
10
+ const construtos_1 = require("../construtos");
11
+ const erro_avaliador_sintatico_1 = require("./erro-avaliador-sintatico");
12
+ const declaracoes_1 = require("../declaracoes");
13
+ const lexador_1 = require("../lexador");
14
+ const tuplas_1 = require("../construtos/tuplas");
15
+ /**
16
+ * O avaliador sintático (_Parser_) é responsável por transformar os símbolos do Lexador em estruturas de alto nível.
17
+ * Essas estruturas de alto nível são as partes que executam lógica de programação de fato.
18
+ * Há dois grupos de estruturas de alto nível: Construtos e Declarações.
19
+ */
20
+ class AvaliadorSintatico {
21
+ constructor(performance = false) {
22
+ this.hashArquivo = 0;
23
+ this.atual = 0;
24
+ this.blocos = 0;
25
+ this.erros = [];
26
+ this.performance = performance;
27
+ }
28
+ declaracaoDeVariavel() {
29
+ throw new Error('Método não implementado.');
30
+ }
31
+ erro(simbolo, mensagemDeErro) {
32
+ const excecao = new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(simbolo, mensagemDeErro);
33
+ this.erros.push(excecao);
34
+ return excecao;
35
+ }
36
+ consumir(tipo, mensagemDeErro) {
37
+ if (this.verificarTipoSimboloAtual(tipo))
38
+ return this.avancarEDevolverAnterior();
39
+ throw this.erro(this.simbolos[this.atual], mensagemDeErro);
40
+ }
41
+ verificarTipoSimboloAtual(tipo) {
42
+ if (this.estaNoFinal())
43
+ return false;
44
+ return this.simbolos[this.atual].tipo === tipo;
45
+ }
46
+ verificarTipoProximoSimbolo(tipo) {
47
+ return this.simbolos[this.atual + 1].tipo === tipo;
48
+ }
49
+ verificarDefinicaoTipoAtual() {
50
+ // const tipos = [
51
+ // tipoDeDadosDelegua.INTEIRO,
52
+ // tipoDeDadosDelegua.QUALQUER,
53
+ // tipoDeDadosDelegua.REAL,
54
+ // tipoDeDadosDelegua.TEXTO,
55
+ // tipoDeDadosDelegua.VAZIO,
56
+ // tipoDeDadosDelegua.VETOR
57
+ // ];
58
+ const tipos = [...Object.values(delegua_2.default)];
59
+ const lexema = this.simboloAtual().lexema.toLowerCase();
60
+ const contemTipo = tipos.find((tipo) => tipo === lexema);
61
+ if (contemTipo && this.verificarTipoProximoSimbolo(delegua_1.default.COLCHETE_ESQUERDO)) {
62
+ const tiposVetores = ['inteiro[]', 'numero[]', 'número[]', 'qualquer[]', 'real[]', 'texto[]'];
63
+ this.avancarEDevolverAnterior();
64
+ if (!this.verificarTipoProximoSimbolo(delegua_1.default.COLCHETE_DIREITO)) {
65
+ throw this.erro(this.simbolos[this.atual], "Esperado símbolo de fechamento do vetor ']'.");
66
+ }
67
+ const contemTipoVetor = tiposVetores.find((tipo) => tipo === `${lexema}[]`);
68
+ this.avancarEDevolverAnterior();
69
+ return contemTipoVetor;
70
+ }
71
+ return contemTipo;
72
+ }
73
+ simboloAtual() {
74
+ return this.simbolos[this.atual];
75
+ }
76
+ estaNoFinal() {
77
+ return this.atual === this.simbolos.length;
78
+ }
79
+ avancarEDevolverAnterior() {
80
+ if (!this.estaNoFinal())
81
+ this.atual += 1;
82
+ return this.simbolos[this.atual - 1];
83
+ }
84
+ verificarSeSimboloAtualEIgualA(...argumentos) {
85
+ for (let i = 0; i < argumentos.length; i++) {
86
+ const tipoAtual = argumentos[i];
87
+ if (this.verificarTipoSimboloAtual(tipoAtual)) {
88
+ this.avancarEDevolverAnterior();
89
+ return true;
90
+ }
91
+ }
92
+ return false;
93
+ }
94
+ primario() {
95
+ const simboloAtual = this.simbolos[this.atual];
96
+ let valores = [];
97
+ switch (simboloAtual.tipo) {
98
+ case delegua_1.default.CHAVE_ESQUERDA:
99
+ this.avancarEDevolverAnterior();
100
+ const chaves = [];
101
+ valores = [];
102
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.CHAVE_DIREITA)) {
103
+ return new construtos_1.Dicionario(this.hashArquivo, Number(simboloAtual.linha), [], []);
104
+ }
105
+ while (!this.verificarSeSimboloAtualEIgualA(delegua_1.default.CHAVE_DIREITA)) {
106
+ const chave = this.atribuir();
107
+ this.consumir(delegua_1.default.DOIS_PONTOS, "Esperado ':' entre chave e valor.");
108
+ const valor = this.atribuir();
109
+ chaves.push(chave);
110
+ valores.push(valor);
111
+ if (this.simbolos[this.atual].tipo !== delegua_1.default.CHAVE_DIREITA) {
112
+ this.consumir(delegua_1.default.VIRGULA, 'Esperado vírgula antes da próxima expressão.');
113
+ }
114
+ }
115
+ return new construtos_1.Dicionario(this.hashArquivo, Number(simboloAtual.linha), chaves, valores);
116
+ case delegua_1.default.COLCHETE_ESQUERDO:
117
+ this.avancarEDevolverAnterior();
118
+ valores = [];
119
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.COLCHETE_DIREITO)) {
120
+ return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), []);
121
+ }
122
+ while (!this.verificarSeSimboloAtualEIgualA(delegua_1.default.COLCHETE_DIREITO)) {
123
+ let valor = null;
124
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.PARENTESE_ESQUERDO)) {
125
+ const expressao = this.expressao();
126
+ const argumentos = [expressao];
127
+ while (this.simbolos[this.atual].tipo === delegua_1.default.VIRGULA) {
128
+ this.avancarEDevolverAnterior();
129
+ argumentos.push(this.expressao());
130
+ }
131
+ this.consumir(delegua_1.default.PARENTESE_DIREITO, "Esperado ')' após a expressão.");
132
+ this.consumir(delegua_1.default.COLCHETE_DIREITO, "Esperado ']' após a expressão.");
133
+ return new tuplas_1.SeletorTuplas(...argumentos);
134
+ }
135
+ valor = this.atribuir();
136
+ valores.push(valor);
137
+ if (this.simbolos[this.atual].tipo !== delegua_1.default.COLCHETE_DIREITO) {
138
+ this.consumir(delegua_1.default.VIRGULA, 'Esperado vírgula antes da próxima expressão.');
139
+ }
140
+ }
141
+ return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), valores);
142
+ case delegua_1.default.FALSO:
143
+ this.avancarEDevolverAnterior();
144
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloAtual.linha), false);
145
+ case delegua_1.default.FUNCAO:
146
+ case delegua_1.default.FUNÇÃO:
147
+ const simboloFuncao = this.avancarEDevolverAnterior();
148
+ return this.corpoDaFuncao(simboloFuncao.lexema);
149
+ case delegua_1.default.IDENTIFICADOR:
150
+ const simboloIdentificador = this.avancarEDevolverAnterior();
151
+ // Se o próximo símbolo é um incremento ou um decremento,
152
+ // aqui deve retornar um unário correspondente.
153
+ // Caso contrário, apenas retornar um construto de variável.
154
+ if (this.simbolos[this.atual] &&
155
+ [delegua_1.default.INCREMENTAR, delegua_1.default.DECREMENTAR].includes(this.simbolos[this.atual].tipo)) {
156
+ const simboloIncrementoDecremento = this.avancarEDevolverAnterior();
157
+ return new construtos_1.Unario(this.hashArquivo, simboloIncrementoDecremento, new construtos_1.Variavel(this.hashArquivo, simboloIdentificador), 'DEPOIS');
158
+ }
159
+ return new construtos_1.Variavel(this.hashArquivo, simboloIdentificador);
160
+ case delegua_1.default.IMPORTAR:
161
+ this.avancarEDevolverAnterior();
162
+ return this.declaracaoImportar();
163
+ case delegua_1.default.ISTO:
164
+ this.avancarEDevolverAnterior();
165
+ return new construtos_1.Isto(this.hashArquivo, Number(simboloAtual.linha), simboloAtual);
166
+ case delegua_1.default.NULO:
167
+ this.avancarEDevolverAnterior();
168
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloAtual.linha), null);
169
+ case delegua_1.default.NUMERO:
170
+ case delegua_1.default.TEXTO:
171
+ const simboloNumeroTexto = this.avancarEDevolverAnterior();
172
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloNumeroTexto.linha), simboloNumeroTexto.literal);
173
+ case delegua_1.default.PARENTESE_ESQUERDO:
174
+ this.avancarEDevolverAnterior();
175
+ const expressao = this.expressao();
176
+ this.consumir(delegua_1.default.PARENTESE_DIREITO, "Esperado ')' após a expressão.");
177
+ return new construtos_1.Agrupamento(this.hashArquivo, Number(simboloAtual.linha), expressao);
178
+ case delegua_1.default.SUPER:
179
+ const simboloSuper = this.avancarEDevolverAnterior();
180
+ // Se o próximo símbolo for uma abertura de parênteses, significa que
181
+ // é uma chamada ao construtor da classe ancestral (superclasse).
182
+ // Se o próximo símbolo for um ponto, significa que é uma chamada
183
+ // a um método da superclasse.
184
+ switch (this.simbolos[this.atual].tipo) {
185
+ case delegua_1.default.PARENTESE_ESQUERDO:
186
+ return new construtos_1.Super(this.hashArquivo, simboloSuper, new lexador_1.Simbolo(delegua_1.default.IDENTIFICADOR, 'construtor', null, simboloSuper.linha, this.hashArquivo));
187
+ default:
188
+ this.consumir(delegua_1.default.PONTO, "Esperado '.' após 'super'.");
189
+ const metodoSuperclasse = this.consumir(delegua_1.default.IDENTIFICADOR, 'Esperado nome do método da Superclasse.');
190
+ return new construtos_1.Super(this.hashArquivo, simboloSuper, metodoSuperclasse);
191
+ }
192
+ case delegua_1.default.VERDADEIRO:
193
+ this.avancarEDevolverAnterior();
194
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloAtual.linha), true);
195
+ case delegua_1.default.TIPO:
196
+ this.avancarEDevolverAnterior();
197
+ this.consumir(delegua_1.default.DE, "Esperado 'de' após 'tipo'.");
198
+ const _expressao = this.expressao();
199
+ return new construtos_1.TipoDe(this.hashArquivo, simboloAtual, _expressao instanceof construtos_1.Literal ? _expressao.valor : _expressao);
200
+ case delegua_1.default.EXPRESSAO_REGULAR:
201
+ let valor = '';
202
+ let linhaAtual = this.simbolos[this.atual].linha;
203
+ let eParExpressaoRegular = this.simbolos.filter((l) => l.linha === linhaAtual && l.tipo === delegua_1.default.EXPRESSAO_REGULAR)
204
+ .length %
205
+ 2 ===
206
+ 0;
207
+ if (eParExpressaoRegular) {
208
+ this.avancarEDevolverAnterior();
209
+ while (!this.verificarTipoSimboloAtual(delegua_1.default.EXPRESSAO_REGULAR)) {
210
+ valor += this.simboloAtual().lexema || '';
211
+ this.avancarEDevolverAnterior();
212
+ }
213
+ this.avancarEDevolverAnterior();
214
+ return new construtos_1.ExpressaoRegular(this.hashArquivo, simboloAtual, valor);
215
+ }
216
+ }
217
+ throw this.erro(this.simbolos[this.atual], 'Esperado expressão.');
218
+ }
219
+ finalizarChamada(entidadeChamada) {
220
+ const argumentos = [];
221
+ if (!this.verificarTipoSimboloAtual(delegua_1.default.PARENTESE_DIREITO)) {
222
+ do {
223
+ if (argumentos.length >= 255) {
224
+ throw this.erro(this.simbolos[this.atual], 'Não pode haver mais de 255 argumentos.');
225
+ }
226
+ argumentos.push(this.expressao());
227
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VIRGULA));
228
+ }
229
+ const parenteseDireito = this.consumir(delegua_1.default.PARENTESE_DIREITO, "Esperado ')' após os argumentos.");
230
+ return new construtos_1.Chamada(this.hashArquivo, entidadeChamada, parenteseDireito, argumentos);
231
+ }
232
+ chamar() {
233
+ let expressao = this.primario();
234
+ while (true) {
235
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.PARENTESE_ESQUERDO)) {
236
+ expressao = this.finalizarChamada(expressao);
237
+ }
238
+ else if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO)) {
239
+ const nome = this.consumir(delegua_1.default.IDENTIFICADOR, "Esperado nome do método após '.'.");
240
+ expressao = new construtos_1.AcessoMetodoOuPropriedade(this.hashArquivo, expressao, nome);
241
+ }
242
+ else if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.COLCHETE_ESQUERDO)) {
243
+ const indice = this.expressao();
244
+ const simboloFechamento = this.consumir(delegua_1.default.COLCHETE_DIREITO, "Esperado ']' após escrita do indice.");
245
+ expressao = new construtos_1.AcessoIndiceVariavel(this.hashArquivo, expressao, indice, simboloFechamento);
246
+ }
247
+ else {
248
+ break;
249
+ }
250
+ }
251
+ return expressao;
252
+ }
253
+ unario() {
254
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.NEGACAO, delegua_1.default.SUBTRACAO, delegua_1.default.BIT_NOT, delegua_1.default.INCREMENTAR, delegua_1.default.DECREMENTAR)) {
255
+ const operador = this.simbolos[this.atual - 1];
256
+ const direito = this.unario();
257
+ return new construtos_1.Unario(this.hashArquivo, operador, direito, 'ANTES');
258
+ }
259
+ return this.chamar();
260
+ }
261
+ exponenciacao() {
262
+ let expressao = this.unario();
263
+ while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.EXPONENCIACAO)) {
264
+ const operador = this.simbolos[this.atual - 1];
265
+ const direito = this.unario();
266
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
267
+ }
268
+ return expressao;
269
+ }
270
+ multiplicar() {
271
+ let expressao = this.exponenciacao();
272
+ while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.DIVISAO, delegua_1.default.DIVISAO_IGUAL, delegua_1.default.DIVISAO_INTEIRA, delegua_1.default.DIVISAO_INTEIRA_IGUAL, delegua_1.default.MODULO, delegua_1.default.MODULO_IGUAL, delegua_1.default.MULTIPLICACAO, delegua_1.default.MULTIPLICACAO_IGUAL)) {
273
+ const operador = this.simbolos[this.atual - 1];
274
+ const direito = this.exponenciacao();
275
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
276
+ }
277
+ return expressao;
278
+ }
279
+ /**
280
+ * Se símbolo de operação é `+`, `-`, `+=` ou `-=`, monta objeto `Binario` para
281
+ * ser avaliado pelo Interpretador.
282
+ * @returns Um Construto, normalmente um `Binario`, ou `Unario` se houver alguma operação unária para ser avaliada.
283
+ */
284
+ adicaoOuSubtracao() {
285
+ let expressao = this.multiplicar();
286
+ while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.SUBTRACAO, delegua_1.default.ADICAO, delegua_1.default.MAIS_IGUAL, delegua_1.default.MENOS_IGUAL)) {
287
+ const operador = this.simbolos[this.atual - 1];
288
+ const direito = this.multiplicar();
289
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
290
+ }
291
+ return expressao;
292
+ }
293
+ bitShift() {
294
+ let expressao = this.adicaoOuSubtracao();
295
+ while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.MENOR_MENOR, delegua_1.default.MAIOR_MAIOR)) {
296
+ const operador = this.simbolos[this.atual - 1];
297
+ const direito = this.adicaoOuSubtracao();
298
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
299
+ }
300
+ return expressao;
301
+ }
302
+ bitE() {
303
+ let expressao = this.bitShift();
304
+ while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.BIT_AND)) {
305
+ const operador = this.simbolos[this.atual - 1];
306
+ const direito = this.bitShift();
307
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
308
+ }
309
+ return expressao;
310
+ }
311
+ bitOu() {
312
+ let expressao = this.bitE();
313
+ while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.BIT_OR, delegua_1.default.BIT_XOR)) {
314
+ const operador = this.simbolos[this.atual - 1];
315
+ const direito = this.bitE();
316
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
317
+ }
318
+ return expressao;
319
+ }
320
+ comparar() {
321
+ let expressao = this.bitOu();
322
+ while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.MAIOR, delegua_1.default.MAIOR_IGUAL, delegua_1.default.MENOR, delegua_1.default.MENOR_IGUAL)) {
323
+ const operador = this.simbolos[this.atual - 1];
324
+ const direito = this.bitOu();
325
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
326
+ }
327
+ return expressao;
328
+ }
329
+ comparacaoIgualdade() {
330
+ let expressao = this.comparar();
331
+ while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.DIFERENTE, delegua_1.default.IGUAL_IGUAL)) {
332
+ const operador = this.simbolos[this.atual - 1];
333
+ const direito = this.comparar();
334
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
335
+ }
336
+ return expressao;
337
+ }
338
+ em() {
339
+ let expressao = this.comparacaoIgualdade();
340
+ while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.EM)) {
341
+ const operador = this.simbolos[this.atual - 1];
342
+ const direito = this.comparacaoIgualdade();
343
+ expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
344
+ }
345
+ return expressao;
346
+ }
347
+ e() {
348
+ let expressao = this.em();
349
+ while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.E)) {
350
+ const operador = this.simbolos[this.atual - 1];
351
+ const direito = this.em();
352
+ expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
353
+ }
354
+ return expressao;
355
+ }
356
+ ou() {
357
+ let expressao = this.e();
358
+ while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.OU)) {
359
+ const operador = this.simbolos[this.atual - 1];
360
+ const direito = this.e();
361
+ expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
362
+ }
363
+ return expressao;
364
+ }
365
+ /**
366
+ * Método que resolve atribuições.
367
+ * @returns Um construto do tipo `Atribuir`, `Conjunto` ou `AtribuicaoPorIndice`.
368
+ */
369
+ atribuir() {
370
+ const expressao = this.ou();
371
+ if (expressao instanceof construtos_1.Binario &&
372
+ [
373
+ delegua_1.default.MAIS_IGUAL,
374
+ delegua_1.default.MENOS_IGUAL,
375
+ delegua_1.default.MULTIPLICACAO_IGUAL,
376
+ delegua_1.default.DIVISAO_IGUAL,
377
+ delegua_1.default.DIVISAO_INTEIRA_IGUAL,
378
+ delegua_1.default.MODULO_IGUAL,
379
+ ].includes(expressao.operador.tipo)) {
380
+ return new construtos_1.Atribuir(this.hashArquivo, expressao.esquerda.simbolo, expressao);
381
+ }
382
+ else if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.IGUAL)) {
383
+ const igual = this.simbolos[this.atual - 1];
384
+ const valor = this.expressao();
385
+ if (expressao instanceof construtos_1.Variavel) {
386
+ const simbolo = expressao.simbolo;
387
+ return new construtos_1.Atribuir(this.hashArquivo, simbolo, valor);
388
+ }
389
+ else if (expressao instanceof construtos_1.AcessoMetodoOuPropriedade) {
390
+ const get = expressao;
391
+ return new construtos_1.DefinirValor(this.hashArquivo, igual.linha, get.objeto, get.simbolo, valor);
392
+ }
393
+ else if (expressao instanceof construtos_1.AcessoIndiceVariavel) {
394
+ return new construtos_1.AtribuicaoPorIndice(this.hashArquivo, expressao.linha, expressao.entidadeChamada, expressao.indice, valor);
395
+ }
396
+ this.erro(igual, 'Tarefa de atribuição inválida');
397
+ }
398
+ return expressao;
399
+ }
400
+ expressao() {
401
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.LEIA))
402
+ return this.declaracaoLeia();
403
+ return this.atribuir();
404
+ }
405
+ declaracaoEscreva() {
406
+ const simboloAtual = this.simbolos[this.atual];
407
+ this.consumir(delegua_1.default.PARENTESE_ESQUERDO, "Esperado '(' antes dos valores em escreva.");
408
+ const argumentos = [];
409
+ do {
410
+ argumentos.push(this.expressao());
411
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VIRGULA));
412
+ this.consumir(delegua_1.default.PARENTESE_DIREITO, "Esperado ')' após os valores em escreva.");
413
+ // Ponto-e-vírgula é opcional aqui.
414
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
415
+ return new declaracoes_1.Escreva(Number(simboloAtual.linha), simboloAtual.hashArquivo, argumentos);
416
+ }
417
+ declaracaoExpressao() {
418
+ const expressao = this.expressao();
419
+ // Ponto-e-vírgula é opcional aqui.
420
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
421
+ return new declaracoes_1.Expressao(expressao);
422
+ }
423
+ /**
424
+ * Declaração para comando `leia`, para ler dados de entrada do usuário.
425
+ * @returns Um objeto da classe `Leia`.
426
+ */
427
+ declaracaoLeia() {
428
+ const simboloLeia = this.simbolos[this.atual];
429
+ this.consumir(delegua_1.default.PARENTESE_ESQUERDO, "Esperado '(' antes dos argumentos em instrução `leia`.");
430
+ const argumentos = [];
431
+ if (this.simbolos[this.atual].tipo !== delegua_1.default.PARENTESE_DIREITO) {
432
+ do {
433
+ argumentos.push(this.expressao());
434
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VIRGULA));
435
+ }
436
+ this.consumir(delegua_1.default.PARENTESE_DIREITO, "Esperado ')' após os argumentos em instrução `leia`.");
437
+ return new declaracoes_1.Leia(simboloLeia, argumentos);
438
+ }
439
+ blocoEscopo() {
440
+ let declaracoes = [];
441
+ while (!this.verificarTipoSimboloAtual(delegua_1.default.CHAVE_DIREITA) && !this.estaNoFinal()) {
442
+ const retornoDeclaracao = this.resolverDeclaracaoForaDeBloco();
443
+ if (Array.isArray(retornoDeclaracao)) {
444
+ declaracoes = declaracoes.concat(retornoDeclaracao);
445
+ }
446
+ else {
447
+ declaracoes.push(retornoDeclaracao);
448
+ }
449
+ }
450
+ this.consumir(delegua_1.default.CHAVE_DIREITA, "Esperado '}' após o bloco.");
451
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
452
+ return declaracoes;
453
+ }
454
+ declaracaoSe() {
455
+ const condicao = this.expressao();
456
+ const caminhoEntao = this.resolverDeclaracao();
457
+ let caminhoSenao = null;
458
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.SENAO, delegua_1.default.SENÃO)) {
459
+ caminhoSenao = this.resolverDeclaracao();
460
+ }
461
+ return new declaracoes_1.Se(condicao, caminhoEntao, [], caminhoSenao);
462
+ }
463
+ declaracaoEnquanto() {
464
+ try {
465
+ this.blocos += 1;
466
+ const condicao = this.expressao();
467
+ const corpo = this.resolverDeclaracao();
468
+ return new declaracoes_1.Enquanto(condicao, corpo);
469
+ }
470
+ finally {
471
+ this.blocos -= 1;
472
+ }
473
+ }
474
+ declaracaoParaCada(simboloPara) {
475
+ const nomeVariavelIteracao = this.consumir(delegua_1.default.IDENTIFICADOR, "Esperado identificador de variável de iteração para instrução 'para cada'.");
476
+ if (!this.verificarSeSimboloAtualEIgualA(delegua_1.default.DE, delegua_1.default.EM)) {
477
+ throw this.erro(this.simbolos[this.atual], "Esperado palavras reservadas 'em' ou 'de' após variável de iteração em instrução 'para cada'.");
478
+ }
479
+ const vetor = this.expressao();
480
+ const corpo = this.resolverDeclaracao();
481
+ return new declaracoes_1.ParaCada(this.hashArquivo, Number(simboloPara.linha), nomeVariavelIteracao.lexema, vetor, corpo);
482
+ }
483
+ declaracaoParaTradicional(simboloPara) {
484
+ const comParenteses = this.verificarSeSimboloAtualEIgualA(delegua_1.default.PARENTESE_ESQUERDO);
485
+ let inicializador;
486
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA)) {
487
+ inicializador = null;
488
+ }
489
+ else if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VARIAVEL)) {
490
+ inicializador = this.declaracaoDeVariaveis();
491
+ }
492
+ else if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.CONSTANTE)) {
493
+ inicializador = this.declaracaoDeConstantes();
494
+ }
495
+ else {
496
+ inicializador = this.declaracaoExpressao();
497
+ }
498
+ let condicao = null;
499
+ if (!this.verificarTipoSimboloAtual(delegua_1.default.PONTO_E_VIRGULA)) {
500
+ condicao = this.expressao();
501
+ }
502
+ // Ponto-e-vírgula é opcional aqui.
503
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
504
+ let incrementar = null;
505
+ if (!this.verificarTipoSimboloAtual(delegua_1.default.PARENTESE_DIREITO)) {
506
+ incrementar = this.expressao();
507
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.INCREMENTAR, delegua_1.default.DECREMENTAR);
508
+ }
509
+ if (comParenteses) {
510
+ this.consumir(delegua_1.default.PARENTESE_DIREITO, "Esperado ')' após cláusulas de inicialização, condição e incremento.");
511
+ }
512
+ const corpo = this.resolverDeclaracao();
513
+ return new declaracoes_1.Para(this.hashArquivo, Number(simboloPara.linha), inicializador, condicao, incrementar, corpo);
514
+ }
515
+ declaracaoPara() {
516
+ try {
517
+ const simboloPara = this.simbolos[this.atual - 1];
518
+ this.blocos += 1;
519
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.CADA)) {
520
+ return this.declaracaoParaCada(simboloPara);
521
+ }
522
+ return this.declaracaoParaTradicional(simboloPara);
523
+ }
524
+ finally {
525
+ this.blocos -= 1;
526
+ }
527
+ }
528
+ declaracaoSustar() {
529
+ if (this.blocos < 1) {
530
+ this.erro(this.simbolos[this.atual - 1], "'sustar' ou 'pausa' deve estar dentro de um laço de repetição.");
531
+ }
532
+ // Ponto-e-vírgula é opcional aqui.
533
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
534
+ return new declaracoes_1.Sustar(this.simbolos[this.atual - 1]);
535
+ }
536
+ declaracaoContinua() {
537
+ if (this.blocos < 1) {
538
+ this.erro(this.simbolos[this.atual - 1], "'continua' precisa estar em um laço de repetição.");
539
+ }
540
+ // Ponto-e-vírgula é opcional aqui.
541
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
542
+ return new declaracoes_1.Continua(this.simbolos[this.atual - 1]);
543
+ }
544
+ declaracaoRetorna() {
545
+ const simboloChave = this.simbolos[this.atual - 1];
546
+ let valor = null;
547
+ if ([
548
+ delegua_1.default.COLCHETE_ESQUERDO,
549
+ delegua_1.default.FALSO,
550
+ delegua_1.default.IDENTIFICADOR,
551
+ delegua_1.default.ISTO,
552
+ delegua_1.default.NEGACAO,
553
+ delegua_1.default.NUMERO,
554
+ delegua_1.default.NULO,
555
+ delegua_1.default.PARENTESE_ESQUERDO,
556
+ delegua_1.default.SUPER,
557
+ delegua_1.default.TEXTO,
558
+ delegua_1.default.VERDADEIRO,
559
+ ].includes(this.simbolos[this.atual].tipo)) {
560
+ valor = this.expressao();
561
+ }
562
+ // Ponto-e-vírgula é opcional aqui.
563
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
564
+ return new declaracoes_1.Retorna(simboloChave, valor);
565
+ }
566
+ declaracaoEscolha() {
567
+ try {
568
+ this.blocos += 1;
569
+ const condicao = this.expressao();
570
+ this.consumir(delegua_1.default.CHAVE_ESQUERDA, "Esperado '{' antes do escopo do 'escolha'.");
571
+ const caminhos = [];
572
+ let caminhoPadrao = null;
573
+ while (!this.verificarSeSimboloAtualEIgualA(delegua_1.default.CHAVE_DIREITA) && !this.estaNoFinal()) {
574
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.CASO)) {
575
+ const caminhoCondicoes = [this.expressao()];
576
+ this.consumir(delegua_1.default.DOIS_PONTOS, "Esperado ':' após o 'caso'.");
577
+ while (this.verificarTipoSimboloAtual(delegua_1.default.CASO)) {
578
+ this.consumir(delegua_1.default.CASO, null);
579
+ caminhoCondicoes.push(this.expressao());
580
+ this.consumir(delegua_1.default.DOIS_PONTOS, "Esperado ':' após declaração do 'caso'.");
581
+ }
582
+ let declaracoes = [];
583
+ do {
584
+ const retornoDeclaracao = this.resolverDeclaracao();
585
+ if (Array.isArray(retornoDeclaracao)) {
586
+ declaracoes = declaracoes.concat(retornoDeclaracao);
587
+ }
588
+ else {
589
+ declaracoes.push(retornoDeclaracao);
590
+ }
591
+ } while (!this.verificarTipoSimboloAtual(delegua_1.default.CASO) &&
592
+ !this.verificarTipoSimboloAtual(delegua_1.default.PADRAO) &&
593
+ !this.verificarTipoSimboloAtual(delegua_1.default.CHAVE_DIREITA));
594
+ caminhos.push({
595
+ condicoes: caminhoCondicoes,
596
+ declaracoes,
597
+ });
598
+ }
599
+ else if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.PADRAO)) {
600
+ if (caminhoPadrao !== null) {
601
+ const excecao = new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(this.simbolos[this.atual], "Você só pode ter um 'padrao' em cada declaração de 'escolha'.");
602
+ this.erros.push(excecao);
603
+ throw excecao;
604
+ }
605
+ this.consumir(delegua_1.default.DOIS_PONTOS, "Esperado ':' após declaração do 'padrao'.");
606
+ const declaracoes = [];
607
+ do {
608
+ declaracoes.push(this.resolverDeclaracao());
609
+ } while (!this.verificarTipoSimboloAtual(delegua_1.default.CASO) &&
610
+ !this.verificarTipoSimboloAtual(delegua_1.default.PADRAO) &&
611
+ !this.verificarTipoSimboloAtual(delegua_1.default.CHAVE_DIREITA));
612
+ caminhoPadrao = {
613
+ declaracoes,
614
+ };
615
+ }
616
+ }
617
+ return new declaracoes_1.Escolha(condicao, caminhos, caminhoPadrao);
618
+ }
619
+ finally {
620
+ this.blocos -= 1;
621
+ }
622
+ }
623
+ declaracaoFalhar() {
624
+ const simboloFalha = this.simbolos[this.atual - 1];
625
+ return new declaracoes_1.Falhar(simboloFalha, this.declaracaoExpressao().expressao);
626
+ }
627
+ declaracaoImportar() {
628
+ this.consumir(delegua_1.default.PARENTESE_ESQUERDO, "Esperado '(' após declaração.");
629
+ const caminho = this.expressao();
630
+ const simboloFechamento = this.consumir(delegua_1.default.PARENTESE_DIREITO, "Esperado ')' após declaração.");
631
+ return new declaracoes_1.Importar(caminho, simboloFechamento);
632
+ }
633
+ declaracaoTente() {
634
+ const simboloTente = this.simbolos[this.atual - 1];
635
+ this.consumir(delegua_1.default.CHAVE_ESQUERDA, "Esperado '{' após a declaração 'tente'.");
636
+ const blocoTente = this.blocoEscopo();
637
+ let blocoPegue = null;
638
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.PEGUE)) {
639
+ if (this.verificarTipoSimboloAtual(delegua_1.default.PARENTESE_ESQUERDO)) {
640
+ // Caso 1: com parâmetro de erro.
641
+ // `pegue` recebe um `FuncaoConstruto`.
642
+ blocoPegue = this.corpoDaFuncao('bloco `pegue`');
643
+ }
644
+ else {
645
+ // Caso 2: sem parâmetro de erro.
646
+ // `pegue` recebe um bloco.
647
+ this.consumir(delegua_1.default.CHAVE_ESQUERDA, "Esperado '{' após a declaração 'pegue'.");
648
+ blocoPegue = this.blocoEscopo();
649
+ }
650
+ }
651
+ let blocoSenao = null;
652
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.SENAO, delegua_1.default.SENÃO)) {
653
+ this.consumir(delegua_1.default.CHAVE_ESQUERDA, "Esperado '{' após a declaração 'senão'.");
654
+ blocoSenao = this.blocoEscopo();
655
+ }
656
+ let blocoFinalmente = null;
657
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.FINALMENTE)) {
658
+ this.consumir(delegua_1.default.CHAVE_ESQUERDA, "Esperado '{' após a declaração 'finalmente'.");
659
+ blocoFinalmente = this.blocoEscopo();
660
+ }
661
+ return new declaracoes_1.Tente(simboloTente.hashArquivo, Number(simboloTente.linha), blocoTente, blocoPegue, blocoSenao, blocoFinalmente);
662
+ }
663
+ declaracaoFazer() {
664
+ const simboloFazer = this.simbolos[this.atual - 1];
665
+ try {
666
+ this.blocos += 1;
667
+ const caminhoFazer = this.resolverDeclaracao();
668
+ this.consumir(delegua_1.default.ENQUANTO, "Esperado declaração do 'enquanto' após o escopo do 'fazer'.");
669
+ const condicaoEnquanto = this.expressao();
670
+ return new declaracoes_1.Fazer(simboloFazer.hashArquivo, Number(simboloFazer.linha), caminhoFazer, condicaoEnquanto);
671
+ }
672
+ finally {
673
+ this.blocos -= 1;
674
+ }
675
+ }
676
+ resolverDecorador() {
677
+ this.pilhaDecoradores = [];
678
+ while (this.verificarTipoSimboloAtual(delegua_1.default.ARROBA)) {
679
+ let nomeDecorador = '';
680
+ let linha;
681
+ let parametros = [];
682
+ let parenteseEsquerdo = false;
683
+ linha = this.simbolos[this.atual].linha;
684
+ let simbolosLinhaAtual = this.simbolos.filter((l) => l.linha === linha);
685
+ for (let simbolo of simbolosLinhaAtual) {
686
+ parenteseEsquerdo = this.verificarSeSimboloAtualEIgualA(delegua_1.default.PARENTESE_ESQUERDO);
687
+ if (parenteseEsquerdo) {
688
+ if (!this.verificarTipoSimboloAtual(delegua_1.default.PARENTESE_DIREITO)) {
689
+ parametros = this.logicaComumParametros();
690
+ }
691
+ this.consumir(delegua_1.default.PARENTESE_DIREITO, "Esperado ')' após parâmetros.");
692
+ break;
693
+ }
694
+ this.avancarEDevolverAnterior();
695
+ nomeDecorador += simbolo.lexema || '.';
696
+ }
697
+ this.pilhaDecoradores.push(new construtos_1.Decorador(this.hashArquivo, linha, nomeDecorador, parametros));
698
+ }
699
+ }
700
+ /**
701
+ * Todas as resoluções triviais da linguagem, ou seja, todas as
702
+ * resoluções que podem ocorrer dentro ou fora de um bloco.
703
+ * @returns Normalmente uma `Declaracao`, mas há casos em que
704
+ * outros objetos podem ser retornados.
705
+ * @see resolverDeclaracaoForaDeBloco para as declarações que não podem
706
+ * ocorrer em blocos de escopo elementares.
707
+ */
708
+ resolverDeclaracao() {
709
+ switch (this.simbolos[this.atual].tipo) {
710
+ case delegua_1.default.CHAVE_ESQUERDA:
711
+ const simboloInicioBloco = this.avancarEDevolverAnterior();
712
+ return new declaracoes_1.Bloco(simboloInicioBloco.hashArquivo, Number(simboloInicioBloco.linha), this.blocoEscopo());
713
+ case delegua_1.default.CONSTANTE:
714
+ this.avancarEDevolverAnterior();
715
+ return this.declaracaoDeConstantes();
716
+ case delegua_1.default.CONTINUA:
717
+ this.avancarEDevolverAnterior();
718
+ return this.declaracaoContinua();
719
+ case delegua_1.default.ENQUANTO:
720
+ this.avancarEDevolverAnterior();
721
+ return this.declaracaoEnquanto();
722
+ case delegua_1.default.ESCOLHA:
723
+ this.avancarEDevolverAnterior();
724
+ return this.declaracaoEscolha();
725
+ case delegua_1.default.ESCREVA:
726
+ this.avancarEDevolverAnterior();
727
+ return this.declaracaoEscreva();
728
+ case delegua_1.default.FALHAR:
729
+ this.avancarEDevolverAnterior();
730
+ return this.declaracaoFalhar();
731
+ case delegua_1.default.FAZER:
732
+ this.avancarEDevolverAnterior();
733
+ return this.declaracaoFazer();
734
+ case delegua_1.default.PARA:
735
+ this.avancarEDevolverAnterior();
736
+ return this.declaracaoPara();
737
+ case delegua_1.default.PAUSA:
738
+ case delegua_1.default.SUSTAR:
739
+ this.avancarEDevolverAnterior();
740
+ return this.declaracaoSustar();
741
+ case delegua_1.default.SE:
742
+ this.avancarEDevolverAnterior();
743
+ return this.declaracaoSe();
744
+ case delegua_1.default.RETORNA:
745
+ this.avancarEDevolverAnterior();
746
+ return this.declaracaoRetorna();
747
+ case delegua_1.default.TENDO:
748
+ this.avancarEDevolverAnterior();
749
+ return this.declaracaoTendoComo();
750
+ case delegua_1.default.TENTE:
751
+ this.avancarEDevolverAnterior();
752
+ return this.declaracaoTente();
753
+ case delegua_1.default.VARIAVEL:
754
+ this.avancarEDevolverAnterior();
755
+ return this.declaracaoDeVariaveis();
756
+ }
757
+ const simboloAtual = this.simbolos[this.atual];
758
+ if (simboloAtual.tipo === delegua_1.default.IDENTIFICADOR) {
759
+ // Pela gramática, a seguinte situação não pode ocorrer:
760
+ // 1. O símbolo anterior ser um identificador; e
761
+ // 2. O símbolo anterior estar na mesma linha do identificador atual.
762
+ const simboloAnterior = this.simbolos[this.atual - 1];
763
+ if (!!simboloAnterior &&
764
+ simboloAnterior.tipo === delegua_1.default.IDENTIFICADOR &&
765
+ simboloAnterior.linha === simboloAtual.linha) {
766
+ this.erro(this.simbolos[this.atual], 'Não é permitido ter dois identificadores seguidos na mesma linha.');
767
+ }
768
+ }
769
+ return this.declaracaoExpressao();
770
+ }
771
+ declaracaoTendoComo() {
772
+ const simboloTendo = this.simbolos[this.atual - 1];
773
+ const expressaoInicializacao = this.expressao();
774
+ this.consumir(delegua_1.default.COMO, "Esperado palavra reservada 'como' após expressão de inicialização de variável, em declaração 'tendo'.");
775
+ const simboloNomeVariavel = this.consumir(delegua_1.default.IDENTIFICADOR, "Esperado nome do identificador em declaração 'tendo'.");
776
+ this.consumir(delegua_1.default.CHAVE_ESQUERDA, "Esperado chave esquerda para abertura de bloco em declaração 'tendo'.");
777
+ const blocoCorpo = this.blocoEscopo();
778
+ return new declaracoes_1.TendoComo(simboloTendo.linha, simboloTendo.hashArquivo, simboloNomeVariavel, expressaoInicializacao, new declaracoes_1.Bloco(simboloTendo.linha, simboloTendo.hashArquivo, blocoCorpo));
779
+ }
780
+ declaracaoDesestruturacaoVariavel() {
781
+ const identificadores = [];
782
+ do {
783
+ identificadores.push(this.consumir(delegua_1.default.IDENTIFICADOR, 'Esperado nome da variável.'));
784
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VIRGULA));
785
+ this.consumir(delegua_1.default.CHAVE_DIREITA, 'Esperado chave direita para concluir relação de variáveis a serem desestruturadas.');
786
+ this.consumir(delegua_1.default.IGUAL, 'Esperado igual após relação de propriedades da desestruturação.');
787
+ const inicializador = this.expressao();
788
+ // TODO: Para cada variável dos identificadores, emitir um `AcessoMetodoOuPropriedade` usando
789
+ // como prefixo o nome do inicializador, e o sufixo o nome de cada propriedade.
790
+ const retornos = [];
791
+ for (let identificador of identificadores) {
792
+ retornos.push(new declaracoes_1.Var(identificador, new construtos_1.AcessoMetodoOuPropriedade(this.hashArquivo, inicializador, identificador)));
793
+ }
794
+ return retornos;
795
+ }
796
+ /**
797
+ * Caso símbolo atual seja `var`, devolve uma declaração de variável.
798
+ * @returns Um Construto do tipo Var.
799
+ */
800
+ declaracaoDeVariaveis() {
801
+ const identificadores = [];
802
+ let retorno = [];
803
+ let tipo = null;
804
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.CHAVE_ESQUERDA)) {
805
+ return this.declaracaoDesestruturacaoVariavel();
806
+ }
807
+ do {
808
+ identificadores.push(this.consumir(delegua_1.default.IDENTIFICADOR, 'Esperado nome da variável.'));
809
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VIRGULA));
810
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.DOIS_PONTOS)) {
811
+ tipo = this.verificarDefinicaoTipoAtual();
812
+ this.avancarEDevolverAnterior();
813
+ }
814
+ if (!this.verificarSeSimboloAtualEIgualA(delegua_1.default.IGUAL)) {
815
+ // Inicialização de variáveis sem valor.
816
+ for (let [indice, identificador] of identificadores.entries()) {
817
+ retorno.push(new declaracoes_1.Var(identificador, null, tipo));
818
+ }
819
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
820
+ return retorno;
821
+ }
822
+ const inicializadores = [];
823
+ do {
824
+ inicializadores.push(this.expressao());
825
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VIRGULA));
826
+ if (identificadores.length !== inicializadores.length) {
827
+ throw this.erro(this.simboloAtual(), 'Quantidade de identificadores à esquerda do igual é diferente da quantidade de valores à direita.');
828
+ }
829
+ for (let [indice, identificador] of identificadores.entries()) {
830
+ tipo = inicializadores[indice] instanceof tuplas_1.Tupla ? delegua_2.default.TUPLA : tipo;
831
+ retorno.push(new declaracoes_1.Var(identificador, inicializadores[indice], tipo));
832
+ }
833
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
834
+ return retorno;
835
+ }
836
+ declaracaoDesestruturacaoConstante() {
837
+ const identificadores = [];
838
+ do {
839
+ identificadores.push(this.consumir(delegua_1.default.IDENTIFICADOR, 'Esperado nome da variável.'));
840
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VIRGULA));
841
+ this.consumir(delegua_1.default.CHAVE_DIREITA, 'Esperado chave direita para concluir relação de variáveis a serem desestruturadas.');
842
+ this.consumir(delegua_1.default.IGUAL, 'Esperado igual após relação de propriedades da desestruturação.');
843
+ const inicializador = this.expressao();
844
+ // TODO: Para cada variável dos identificadores, emitir um `AcessoMetodoOuPropriedade` usando
845
+ // como prefixo o nome do inicializador, e o sufixo o nome de cada propriedade.
846
+ const retornos = [];
847
+ for (let identificador of identificadores) {
848
+ retornos.push(new declaracoes_1.Const(identificador, new construtos_1.AcessoMetodoOuPropriedade(this.hashArquivo, inicializador, identificador)));
849
+ }
850
+ return retornos;
851
+ }
852
+ /**
853
+ * Caso símbolo atual seja `const, constante ou fixo`, devolve uma declaração de const.
854
+ * @returns Um Construto do tipo Const.
855
+ */
856
+ declaracaoDeConstantes() {
857
+ const identificadores = [];
858
+ let tipo = null;
859
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.CHAVE_ESQUERDA)) {
860
+ return this.declaracaoDesestruturacaoConstante();
861
+ }
862
+ do {
863
+ identificadores.push(this.consumir(delegua_1.default.IDENTIFICADOR, 'Esperado nome da constante.'));
864
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VIRGULA));
865
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.DOIS_PONTOS)) {
866
+ tipo = this.verificarDefinicaoTipoAtual();
867
+ this.avancarEDevolverAnterior();
868
+ }
869
+ this.consumir(delegua_1.default.IGUAL, "Esperado '=' após identificador em instrução 'constante'.");
870
+ const inicializadores = [];
871
+ do {
872
+ inicializadores.push(this.expressao());
873
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VIRGULA));
874
+ if (identificadores.length !== inicializadores.length) {
875
+ throw this.erro(this.simboloAtual(), 'Quantidade de identificadores à esquerda do igual é diferente da quantidade de valores à direita.');
876
+ }
877
+ let retorno = [];
878
+ for (let [indice, identificador] of identificadores.entries()) {
879
+ retorno.push(new declaracoes_1.Const(identificador, inicializadores[indice], tipo));
880
+ }
881
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
882
+ return retorno;
883
+ }
884
+ funcao(tipo) {
885
+ let simbolo;
886
+ switch (this.simbolos[this.atual].tipo) {
887
+ case delegua_1.default.CONSTRUTOR:
888
+ simbolo = this.avancarEDevolverAnterior();
889
+ this.pilhaDecoradores = [];
890
+ break;
891
+ default:
892
+ simbolo = this.consumir(delegua_1.default.IDENTIFICADOR, `Esperado nome de ${tipo}.`);
893
+ break;
894
+ }
895
+ return new declaracoes_1.FuncaoDeclaracao(simbolo, this.corpoDaFuncao(tipo), null, this.pilhaDecoradores);
896
+ }
897
+ logicaComumParametros() {
898
+ const parametros = [];
899
+ do {
900
+ const parametro = {};
901
+ if (this.simbolos[this.atual].tipo === delegua_1.default.MULTIPLICACAO) {
902
+ this.consumir(delegua_1.default.MULTIPLICACAO, null);
903
+ parametro.abrangencia = 'multiplo';
904
+ }
905
+ else {
906
+ parametro.abrangencia = 'padrao';
907
+ }
908
+ parametro.nome = this.consumir(delegua_1.default.IDENTIFICADOR, 'Esperado nome do parâmetro.');
909
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.IGUAL)) {
910
+ parametro.valorPadrao = this.primario();
911
+ }
912
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.DOIS_PONTOS)) {
913
+ let tipoDadoParametro = this.verificarDefinicaoTipoAtual();
914
+ parametro.tipoDado = {
915
+ nome: this.simbolos[this.atual - 2].lexema,
916
+ tipo: tipoDadoParametro,
917
+ tipoInvalido: !tipoDadoParametro ? this.simboloAtual().lexema : null,
918
+ };
919
+ this.avancarEDevolverAnterior();
920
+ }
921
+ parametros.push(parametro);
922
+ if (parametro.abrangencia === 'multiplo')
923
+ break;
924
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VIRGULA));
925
+ return parametros;
926
+ }
927
+ corpoDaFuncao(tipo) {
928
+ // O parêntese esquerdo é considerado o símbolo inicial para
929
+ // fins de pragma.
930
+ const parenteseEsquerdo = this.consumir(delegua_1.default.PARENTESE_ESQUERDO, `Esperado '(' após o nome ${tipo}.`);
931
+ let parametros = [];
932
+ if (!this.verificarTipoSimboloAtual(delegua_1.default.PARENTESE_DIREITO)) {
933
+ parametros = this.logicaComumParametros();
934
+ }
935
+ this.consumir(delegua_1.default.PARENTESE_DIREITO, "Esperado ')' após parâmetros.");
936
+ let tipoRetorno = null;
937
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.DOIS_PONTOS)) {
938
+ tipoRetorno = this.verificarDefinicaoTipoAtual();
939
+ this.avancarEDevolverAnterior();
940
+ }
941
+ this.consumir(delegua_1.default.CHAVE_ESQUERDA, `Esperado '{' antes do escopo do ${tipo}.`);
942
+ const corpo = this.blocoEscopo();
943
+ return new construtos_1.FuncaoConstruto(this.hashArquivo, Number(parenteseEsquerdo.linha), parametros, corpo, tipoRetorno);
944
+ }
945
+ declaracaoDeClasse() {
946
+ const simbolo = this.consumir(delegua_1.default.IDENTIFICADOR, 'Esperado nome da classe.');
947
+ const pilhaDecoradoresClasse = this.pilhaDecoradores;
948
+ let superClasse = null;
949
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.HERDA)) {
950
+ this.consumir(delegua_1.default.IDENTIFICADOR, 'Esperado nome da Superclasse.');
951
+ superClasse = new construtos_1.Variavel(this.hashArquivo, this.simbolos[this.atual - 1]);
952
+ }
953
+ this.consumir(delegua_1.default.CHAVE_ESQUERDA, "Esperado '{' antes do escopo da classe.");
954
+ this.pilhaDecoradores = [];
955
+ const metodos = [];
956
+ const propriedades = [];
957
+ while (!this.verificarTipoSimboloAtual(delegua_1.default.CHAVE_DIREITA) && !this.estaNoFinal()) {
958
+ // Se o símbolo atual é arroba, é um decorador.
959
+ // Caso contrário, verificamos o próximo símbolo.
960
+ if (this.simbolos[this.atual].tipo === delegua_1.default.ARROBA) {
961
+ this.resolverDecorador();
962
+ continue;
963
+ }
964
+ // Se o próximo símbolo ao atual for um parênteses, é um método.
965
+ // Caso contrário, é uma propriedade.
966
+ const proximoSimbolo = this.simbolos[this.atual + 1];
967
+ switch (proximoSimbolo.tipo) {
968
+ case delegua_1.default.PARENTESE_ESQUERDO:
969
+ metodos.push(this.funcao('método'));
970
+ this.pilhaDecoradores = [];
971
+ break;
972
+ case delegua_1.default.DOIS_PONTOS:
973
+ const nomePropriedade = this.consumir(delegua_1.default.IDENTIFICADOR, 'Esperado identificador para nome de propriedade.');
974
+ this.consumir(delegua_1.default.DOIS_PONTOS, 'Esperado dois-pontos após nome de propriedade.');
975
+ const tipoPropriedade = this.avancarEDevolverAnterior();
976
+ this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
977
+ propriedades.push(new declaracoes_1.PropriedadeClasse(nomePropriedade, tipoPropriedade.lexema, this.pilhaDecoradores));
978
+ this.pilhaDecoradores = [];
979
+ break;
980
+ default:
981
+ throw this.erro(this.simbolos[this.atual], 'Esperado definição de método ou propriedade.');
982
+ }
983
+ }
984
+ this.consumir(delegua_1.default.CHAVE_DIREITA, "Esperado '}' após o escopo da classe.");
985
+ return new declaracoes_1.Classe(simbolo, superClasse, metodos, propriedades, pilhaDecoradoresClasse);
986
+ }
987
+ /**
988
+ * Declarações fora de bloco precisam ser verificadas primeiro porque
989
+ * não é possível declarar uma classe/função dentro de um bloco `enquanto`,
990
+ * `fazer ... enquanto`, `para`, `escolha`, etc.
991
+ * @returns Uma função ou classe se o símbolo atual resolver aqui.
992
+ * O retorno de `resolverDeclaracao()` em caso contrário.
993
+ * @see resolverDeclaracao
994
+ */
995
+ resolverDeclaracaoForaDeBloco() {
996
+ try {
997
+ if ((this.verificarTipoSimboloAtual(delegua_1.default.FUNCAO) ||
998
+ this.verificarTipoSimboloAtual(delegua_1.default.FUNÇÃO)) &&
999
+ this.verificarTipoProximoSimbolo(delegua_1.default.IDENTIFICADOR)) {
1000
+ this.avancarEDevolverAnterior();
1001
+ return this.funcao('funcao');
1002
+ }
1003
+ if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.CLASSE)) {
1004
+ return this.declaracaoDeClasse();
1005
+ }
1006
+ return this.resolverDeclaracao();
1007
+ }
1008
+ catch (erro) {
1009
+ this.sincronizar();
1010
+ this.erros.push(erro);
1011
+ return null;
1012
+ }
1013
+ }
1014
+ /**
1015
+ * Usado quando há erros na avaliação sintática.
1016
+ * Garante que o código não entre em loop infinito.
1017
+ * @returns Sempre retorna `void`.
1018
+ */
1019
+ sincronizar() {
1020
+ this.avancarEDevolverAnterior();
1021
+ while (!this.estaNoFinal()) {
1022
+ const tipoSimboloAtual = this.simbolos[this.atual - 1].tipo;
1023
+ switch (tipoSimboloAtual) {
1024
+ case delegua_1.default.CLASSE:
1025
+ case delegua_1.default.FUNCAO:
1026
+ case delegua_1.default.FUNÇÃO:
1027
+ case delegua_1.default.VARIAVEL:
1028
+ case delegua_1.default.PARA:
1029
+ case delegua_1.default.SE:
1030
+ case delegua_1.default.ENQUANTO:
1031
+ case delegua_1.default.ESCREVA:
1032
+ case delegua_1.default.RETORNA:
1033
+ return;
1034
+ }
1035
+ this.avancarEDevolverAnterior();
1036
+ }
1037
+ }
1038
+ analisar(retornoLexador, hashArquivo) {
1039
+ const inicioAnalise = (0, browser_process_hrtime_1.default)();
1040
+ this.erros = [];
1041
+ this.atual = 0;
1042
+ this.blocos = 0;
1043
+ this.hashArquivo = hashArquivo || 0;
1044
+ this.simbolos = (retornoLexador === null || retornoLexador === void 0 ? void 0 : retornoLexador.simbolos) || [];
1045
+ this.pilhaDecoradores = [];
1046
+ let declaracoes = [];
1047
+ while (!this.estaNoFinal()) {
1048
+ this.resolverDecorador();
1049
+ const retornoDeclaracao = this.resolverDeclaracaoForaDeBloco();
1050
+ if (Array.isArray(retornoDeclaracao)) {
1051
+ declaracoes = declaracoes.concat(retornoDeclaracao);
1052
+ }
1053
+ else {
1054
+ declaracoes.push(retornoDeclaracao);
1055
+ }
1056
+ }
1057
+ if (this.performance) {
1058
+ const deltaAnalise = (0, browser_process_hrtime_1.default)(inicioAnalise);
1059
+ console.log(`[Avaliador Sintático] Tempo para análise: ${deltaAnalise[0] * 1e9 + deltaAnalise[1]}ns`);
1060
+ }
1061
+ return {
1062
+ declaracoes: declaracoes,
1063
+ erros: this.erros,
1064
+ };
1065
+ }
1066
+ }
1067
+ exports.AvaliadorSintatico = AvaliadorSintatico;
1068
+ //# sourceMappingURL=avaliador-sintatico.js.map