@designliquido/delegua 0.15.1 → 0.15.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/README.md +85 -85
  2. package/bin/delegua +2 -2
  3. package/bin/package.json +88 -88
  4. package/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +67 -67
  5. package/fontes/avaliador-sintatico/avaliador-sintatico-base.js +215 -215
  6. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +92 -92
  7. package/fontes/avaliador-sintatico/avaliador-sintatico.js +857 -857
  8. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.d.ts +27 -27
  9. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js +319 -294
  10. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js.map +1 -1
  11. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +69 -69
  12. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +640 -640
  13. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.d.ts +84 -84
  14. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +714 -714
  15. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts +20 -20
  16. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +149 -149
  17. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.d.ts +49 -49
  18. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.js +419 -419
  19. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.d.ts +73 -73
  20. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js +534 -534
  21. package/fontes/avaliador-sintatico/dialetos/index.d.ts +5 -5
  22. package/fontes/avaliador-sintatico/dialetos/index.js +21 -21
  23. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
  24. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
  25. package/fontes/avaliador-sintatico/index.d.ts +2 -2
  26. package/fontes/avaliador-sintatico/index.js +18 -18
  27. package/fontes/avaliador-sintatico/retornos/index.d.ts +3 -3
  28. package/fontes/avaliador-sintatico/retornos/index.js +19 -19
  29. package/fontes/avaliador-sintatico/retornos/retorno-declaracao.d.ts +3 -3
  30. package/fontes/avaliador-sintatico/retornos/retorno-declaracao.js +2 -2
  31. package/fontes/avaliador-sintatico/retornos/retorno-primario.d.ts +3 -3
  32. package/fontes/avaliador-sintatico/retornos/retorno-primario.js +2 -2
  33. package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.d.ts +2 -2
  34. package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.js +2 -2
  35. package/fontes/bibliotecas/biblioteca-global.d.ts +3 -3
  36. package/fontes/bibliotecas/biblioteca-global.js +315 -315
  37. package/fontes/bibliotecas/dialetos/egua-classico/biblioteca-global.d.ts +1 -1
  38. package/fontes/bibliotecas/dialetos/egua-classico/biblioteca-global.js +230 -230
  39. package/fontes/bibliotecas/dialetos/egua-classico/index.d.ts +2 -2
  40. package/fontes/bibliotecas/dialetos/egua-classico/index.js +32 -32
  41. package/fontes/bibliotecas/dialetos/egua-classico/matematica.d.ts +1 -1
  42. package/fontes/bibliotecas/dialetos/egua-classico/matematica.js +478 -478
  43. package/fontes/bibliotecas/dialetos/egua-classico/tempo.d.ts +1 -1
  44. package/fontes/bibliotecas/dialetos/egua-classico/tempo.js +39 -39
  45. package/fontes/bibliotecas/dialetos/egua-classico/textos.d.ts +8 -8
  46. package/fontes/bibliotecas/dialetos/egua-classico/textos.js +201 -201
  47. package/fontes/bibliotecas/dialetos/visualg/caracteres.d.ts +3 -0
  48. package/fontes/bibliotecas/dialetos/visualg/caracteres.js +35 -0
  49. package/fontes/bibliotecas/dialetos/visualg/caracteres.js.map +1 -0
  50. package/fontes/bibliotecas/dialetos/visualg/index.d.ts +2 -0
  51. package/fontes/bibliotecas/dialetos/visualg/index.js +18 -0
  52. package/fontes/bibliotecas/dialetos/visualg/index.js.map +1 -1
  53. package/fontes/bibliotecas/dialetos/visualg/numerica.d.ts +3 -0
  54. package/fontes/bibliotecas/dialetos/visualg/numerica.js +65 -0
  55. package/fontes/bibliotecas/dialetos/visualg/numerica.js.map +1 -0
  56. package/fontes/bibliotecas/primitivas-texto.d.ts +11 -11
  57. package/fontes/bibliotecas/primitivas-texto.js +12 -12
  58. package/fontes/bibliotecas/primitivas-vetor.d.ts +15 -15
  59. package/fontes/bibliotecas/primitivas-vetor.js +33 -33
  60. package/fontes/construtos/acesso-indice-variavel.d.ts +15 -15
  61. package/fontes/construtos/acesso-indice-variavel.js +20 -20
  62. package/fontes/construtos/acesso-metodo.d.ts +14 -14
  63. package/fontes/construtos/acesso-metodo.js +19 -19
  64. package/fontes/construtos/agrupamento.d.ts +14 -14
  65. package/fontes/construtos/agrupamento.js +19 -19
  66. package/fontes/construtos/atribuicao-sobrescrita.d.ts +11 -11
  67. package/fontes/construtos/atribuicao-sobrescrita.js +16 -16
  68. package/fontes/construtos/atribuir.d.ts +10 -10
  69. package/fontes/construtos/atribuir.js +15 -15
  70. package/fontes/construtos/binario.d.ts +22 -22
  71. package/fontes/construtos/binario.js +27 -27
  72. package/fontes/construtos/chamada.d.ts +13 -13
  73. package/fontes/construtos/chamada.js +36 -36
  74. package/fontes/construtos/construto.d.ts +7 -7
  75. package/fontes/construtos/construto.js +2 -2
  76. package/fontes/construtos/definir-valor.d.ts +11 -11
  77. package/fontes/construtos/definir-valor.js +16 -16
  78. package/fontes/construtos/dicionario.d.ts +10 -10
  79. package/fontes/construtos/dicionario.js +15 -15
  80. package/fontes/construtos/formatacao-escrita.d.ts +16 -16
  81. package/fontes/construtos/formatacao-escrita.js +21 -21
  82. package/fontes/construtos/funcao.d.ts +10 -10
  83. package/fontes/construtos/funcao.js +15 -15
  84. package/fontes/construtos/index.d.ts +19 -19
  85. package/fontes/construtos/index.js +35 -35
  86. package/fontes/construtos/isto.d.ts +9 -9
  87. package/fontes/construtos/isto.js +14 -14
  88. package/fontes/construtos/literal.d.ts +10 -10
  89. package/fontes/construtos/literal.js +14 -14
  90. package/fontes/construtos/logico.d.ts +11 -11
  91. package/fontes/construtos/logico.js +16 -16
  92. package/fontes/construtos/super.d.ts +10 -10
  93. package/fontes/construtos/super.js +15 -15
  94. package/fontes/construtos/unario.d.ts +11 -11
  95. package/fontes/construtos/unario.js +16 -16
  96. package/fontes/construtos/variavel.d.ts +9 -9
  97. package/fontes/construtos/variavel.js +14 -14
  98. package/fontes/construtos/vetor.d.ts +9 -9
  99. package/fontes/construtos/vetor.js +14 -14
  100. package/fontes/declaracoes/bloco.d.ts +7 -7
  101. package/fontes/declaracoes/bloco.js +14 -14
  102. package/fontes/declaracoes/classe.d.ts +9 -9
  103. package/fontes/declaracoes/classe.js +16 -16
  104. package/fontes/declaracoes/continua.d.ts +6 -6
  105. package/fontes/declaracoes/continua.js +13 -13
  106. package/fontes/declaracoes/declaracao.d.ts +8 -8
  107. package/fontes/declaracoes/declaracao.js +17 -17
  108. package/fontes/declaracoes/enquanto.d.ts +9 -9
  109. package/fontes/declaracoes/enquanto.js +15 -15
  110. package/fontes/declaracoes/escolha.d.ts +14 -14
  111. package/fontes/declaracoes/escolha.js +19 -19
  112. package/fontes/declaracoes/escreva-mesma-linha.d.ts +8 -8
  113. package/fontes/declaracoes/escreva-mesma-linha.js +14 -14
  114. package/fontes/declaracoes/escreva.d.ts +8 -8
  115. package/fontes/declaracoes/escreva.js +14 -14
  116. package/fontes/declaracoes/expressao.d.ts +8 -8
  117. package/fontes/declaracoes/expressao.js +14 -14
  118. package/fontes/declaracoes/fazer.d.ts +8 -8
  119. package/fontes/declaracoes/fazer.js +15 -15
  120. package/fontes/declaracoes/funcao.d.ts +9 -9
  121. package/fontes/declaracoes/funcao.js +15 -15
  122. package/fontes/declaracoes/importar.d.ts +9 -9
  123. package/fontes/declaracoes/importar.js +15 -15
  124. package/fontes/declaracoes/index.d.ts +19 -19
  125. package/fontes/declaracoes/index.js +35 -35
  126. package/fontes/declaracoes/leia.d.ts +12 -12
  127. package/fontes/declaracoes/leia.js +18 -18
  128. package/fontes/declaracoes/para.d.ts +10 -10
  129. package/fontes/declaracoes/para.js +17 -17
  130. package/fontes/declaracoes/retorna.d.ts +8 -8
  131. package/fontes/declaracoes/retorna.js +15 -15
  132. package/fontes/declaracoes/se.d.ts +11 -11
  133. package/fontes/declaracoes/se.js +17 -17
  134. package/fontes/declaracoes/sustar.d.ts +6 -6
  135. package/fontes/declaracoes/sustar.js +13 -13
  136. package/fontes/declaracoes/tente.d.ts +14 -14
  137. package/fontes/declaracoes/tente.js +20 -20
  138. package/fontes/declaracoes/var.d.ts +9 -9
  139. package/fontes/declaracoes/var.js +15 -15
  140. package/fontes/depuracao/cyrb53.d.ts +9 -9
  141. package/fontes/depuracao/cyrb53.js +22 -22
  142. package/fontes/depuracao/index.d.ts +2 -2
  143. package/fontes/depuracao/index.js +23 -23
  144. package/fontes/depuracao/ponto-parada.d.ts +4 -4
  145. package/fontes/depuracao/ponto-parada.js +2 -2
  146. package/fontes/espaco-variaveis.d.ts +19 -19
  147. package/fontes/espaco-variaveis.js +19 -19
  148. package/fontes/estruturas/chamavel.d.ts +5 -5
  149. package/fontes/estruturas/chamavel.js +12 -12
  150. package/fontes/estruturas/classe-padrao.d.ts +17 -17
  151. package/fontes/estruturas/classe-padrao.js +28 -28
  152. package/fontes/estruturas/delegua-classe.d.ts +16 -16
  153. package/fontes/estruturas/delegua-classe.js +38 -38
  154. package/fontes/estruturas/delegua-funcao.d.ts +18 -18
  155. package/fontes/estruturas/delegua-funcao.js +60 -60
  156. package/fontes/estruturas/funcao-padrao.d.ts +12 -12
  157. package/fontes/estruturas/funcao-padrao.js +22 -22
  158. package/fontes/estruturas/index.d.ts +9 -9
  159. package/fontes/estruturas/index.js +25 -25
  160. package/fontes/estruturas/metodo-primitiva.d.ts +17 -17
  161. package/fontes/estruturas/metodo-primitiva.js +26 -26
  162. package/fontes/estruturas/modulo.d.ts +9 -9
  163. package/fontes/estruturas/modulo.js +13 -13
  164. package/fontes/estruturas/objeto-delegua-classe.d.ts +10 -10
  165. package/fontes/estruturas/objeto-delegua-classe.js +26 -26
  166. package/fontes/estruturas/objeto-padrao.d.ts +9 -9
  167. package/fontes/estruturas/objeto-padrao.js +21 -21
  168. package/fontes/excecoes/erro-em-tempo-de-execucao.d.ts +7 -7
  169. package/fontes/excecoes/erro-em-tempo-de-execucao.js +13 -13
  170. package/fontes/excecoes/index.d.ts +1 -1
  171. package/fontes/excecoes/index.js +17 -17
  172. package/fontes/formatadores/delegua.d.ts +18 -18
  173. package/fontes/formatadores/delegua.js +82 -82
  174. package/fontes/formatadores/index.d.ts +1 -1
  175. package/fontes/formatadores/index.js +17 -17
  176. package/fontes/interfaces/avaliador-sintatico-interface.d.ts +57 -57
  177. package/fontes/interfaces/avaliador-sintatico-interface.js +2 -2
  178. package/fontes/interfaces/construtos/index.d.ts +4 -4
  179. package/fontes/interfaces/construtos/index.js +2 -2
  180. package/fontes/interfaces/escopo-execucao.d.ts +11 -11
  181. package/fontes/interfaces/escopo-execucao.js +2 -2
  182. package/fontes/interfaces/index.d.ts +11 -11
  183. package/fontes/interfaces/index.js +27 -27
  184. package/fontes/interfaces/interpretador-com-depuracao-interface.d.ts +17 -17
  185. package/fontes/interfaces/interpretador-com-depuracao-interface.js +2 -2
  186. package/fontes/interfaces/interpretador-interface.d.ts +55 -55
  187. package/fontes/interfaces/interpretador-interface.js +2 -2
  188. package/fontes/interfaces/lexador-interface.d.ts +23 -23
  189. package/fontes/interfaces/lexador-interface.js +2 -2
  190. package/fontes/interfaces/parametro-interface.d.ts +6 -6
  191. package/fontes/interfaces/parametro-interface.js +2 -2
  192. package/fontes/interfaces/pilha-escopos-execucao-interface.d.ts +25 -25
  193. package/fontes/interfaces/pilha-escopos-execucao-interface.js +2 -2
  194. package/fontes/interfaces/pilha-interface.d.ts +7 -7
  195. package/fontes/interfaces/pilha-interface.js +2 -2
  196. package/fontes/interfaces/resolvedor-interface.d.ts +41 -41
  197. package/fontes/interfaces/resolvedor-interface.js +2 -2
  198. package/fontes/interfaces/retornos/index.d.ts +4 -4
  199. package/fontes/interfaces/retornos/index.js +20 -20
  200. package/fontes/interfaces/retornos/retorno-avaliador-sintatico.d.ts +6 -6
  201. package/fontes/interfaces/retornos/retorno-avaliador-sintatico.js +2 -2
  202. package/fontes/interfaces/retornos/retorno-execucao-interface.d.ts +5 -5
  203. package/fontes/interfaces/retornos/retorno-execucao-interface.js +2 -2
  204. package/fontes/interfaces/retornos/retorno-interpretador.d.ts +5 -5
  205. package/fontes/interfaces/retornos/retorno-interpretador.js +2 -2
  206. package/fontes/interfaces/retornos/retorno-lexador.d.ts +10 -10
  207. package/fontes/interfaces/retornos/retorno-lexador.js +2 -2
  208. package/fontes/interfaces/simbolo-interface.d.ts +7 -7
  209. package/fontes/interfaces/simbolo-interface.js +2 -2
  210. package/fontes/interfaces/tradutor-interface.d.ts +4 -4
  211. package/fontes/interfaces/tradutor-interface.js +2 -2
  212. package/fontes/interfaces/variavel-interface.d.ts +4 -4
  213. package/fontes/interfaces/variavel-interface.js +2 -2
  214. package/fontes/interpretador/dialetos/egua-classico/index.d.ts +1 -1
  215. package/fontes/interpretador/dialetos/egua-classico/index.js +17 -17
  216. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +99 -99
  217. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +743 -743
  218. package/fontes/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.d.ts +5 -5
  219. package/fontes/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.js +11 -11
  220. package/fontes/interpretador/dialetos/egua-classico/resolvedor/index.d.ts +3 -3
  221. package/fontes/interpretador/dialetos/egua-classico/resolvedor/index.js +19 -19
  222. package/fontes/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.d.ts +9 -9
  223. package/fontes/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.js +25 -25
  224. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +87 -87
  225. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +387 -387
  226. package/fontes/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.d.ts +6 -6
  227. package/fontes/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.js +2 -2
  228. package/fontes/interpretador/dialetos/index.d.ts +4 -4
  229. package/fontes/interpretador/dialetos/index.js +20 -20
  230. package/fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.d.ts +12 -12
  231. package/fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.js +26 -26
  232. package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.d.ts +40 -40
  233. package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js +96 -96
  234. package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js.map +1 -1
  235. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.d.ts +53 -46
  236. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.js +194 -102
  237. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.js.map +1 -1
  238. package/fontes/interpretador/erro-interpretador.d.ts +8 -8
  239. package/fontes/interpretador/erro-interpretador.js +2 -2
  240. package/fontes/interpretador/index.d.ts +4 -4
  241. package/fontes/interpretador/index.js +20 -20
  242. package/fontes/interpretador/inferenciador.d.ts +1 -1
  243. package/fontes/interpretador/inferenciador.js +31 -31
  244. package/fontes/interpretador/interpretador-base.d.ts +186 -188
  245. package/fontes/interpretador/interpretador-base.js +1001 -1000
  246. package/fontes/interpretador/interpretador-base.js.map +1 -1
  247. package/fontes/interpretador/interpretador-com-depuracao.d.ts +199 -199
  248. package/fontes/interpretador/interpretador-com-depuracao.js +516 -516
  249. package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -1
  250. package/fontes/interpretador/pilha-escopos-execucao.d.ts +38 -38
  251. package/fontes/interpretador/pilha-escopos-execucao.js +158 -158
  252. package/fontes/lexador/dialetos/index.d.ts +6 -6
  253. package/fontes/lexador/dialetos/index.js +22 -22
  254. package/fontes/lexador/dialetos/lexador-birl.d.ts +12 -12
  255. package/fontes/lexador/dialetos/lexador-birl.js +211 -211
  256. package/fontes/lexador/dialetos/lexador-egua-classico.d.ts +36 -36
  257. package/fontes/lexador/dialetos/lexador-egua-classico.js +286 -286
  258. package/fontes/lexador/dialetos/lexador-eguap.d.ts +51 -51
  259. package/fontes/lexador/dialetos/lexador-eguap.js +398 -398
  260. package/fontes/lexador/dialetos/lexador-guarani.d.ts +9 -9
  261. package/fontes/lexador/dialetos/lexador-guarani.js +113 -113
  262. package/fontes/lexador/dialetos/lexador-portugol-ipt.d.ts +33 -33
  263. package/fontes/lexador/dialetos/lexador-portugol-ipt.js +195 -195
  264. package/fontes/lexador/dialetos/lexador-portugol-studio.d.ts +21 -21
  265. package/fontes/lexador/dialetos/lexador-portugol-studio.js +280 -280
  266. package/fontes/lexador/dialetos/lexador-visualg.d.ts +18 -18
  267. package/fontes/lexador/dialetos/lexador-visualg.js +218 -218
  268. package/fontes/lexador/dialetos/palavras-reservadas/birl.d.ts +46 -46
  269. package/fontes/lexador/dialetos/palavras-reservadas/birl.js +63 -63
  270. package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.d.ts +36 -36
  271. package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.js +41 -41
  272. package/fontes/lexador/dialetos/palavras-reservadas/guarani.d.ts +4 -4
  273. package/fontes/lexador/dialetos/palavras-reservadas/guarani.js +9 -9
  274. package/fontes/lexador/dialetos/palavras-reservadas/index.d.ts +3 -3
  275. package/fontes/lexador/dialetos/palavras-reservadas/index.js +19 -19
  276. package/fontes/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts +6 -6
  277. package/fontes/lexador/dialetos/palavras-reservadas/portugol-ipt.js +11 -11
  278. package/fontes/lexador/dialetos/palavras-reservadas/portugol-studio.d.ts +23 -23
  279. package/fontes/lexador/dialetos/palavras-reservadas/portugol-studio.js +28 -28
  280. package/fontes/lexador/dialetos/palavras-reservadas/rantiaquin.d.ts +2 -2
  281. package/fontes/lexador/dialetos/palavras-reservadas/rantiaquin.js +3 -3
  282. package/fontes/lexador/dialetos/palavras-reservadas/visualg.d.ts +60 -60
  283. package/fontes/lexador/dialetos/palavras-reservadas/visualg.js +65 -65
  284. package/fontes/lexador/dialetos/pragma.d.ts +8 -8
  285. package/fontes/lexador/dialetos/pragma.js +2 -2
  286. package/fontes/lexador/erro-lexador.d.ts +5 -5
  287. package/fontes/lexador/erro-lexador.js +2 -2
  288. package/fontes/lexador/index.d.ts +2 -2
  289. package/fontes/lexador/index.js +18 -18
  290. package/fontes/lexador/lexador-base-linha-unica.d.ts +28 -28
  291. package/fontes/lexador/lexador-base-linha-unica.js +82 -82
  292. package/fontes/lexador/lexador-base.d.ts +41 -41
  293. package/fontes/lexador/lexador-base.js +112 -112
  294. package/fontes/lexador/lexador.d.ts +43 -43
  295. package/fontes/lexador/lexador.js +412 -412
  296. package/fontes/lexador/palavras-reservadas.d.ts +36 -36
  297. package/fontes/lexador/palavras-reservadas.js +41 -41
  298. package/fontes/lexador/simbolo.d.ts +10 -10
  299. package/fontes/lexador/simbolo.js +16 -16
  300. package/fontes/quebras/index.d.ts +10 -10
  301. package/fontes/quebras/index.js +19 -19
  302. package/fontes/tipos-de-simbolos/birl.d.ts +71 -71
  303. package/fontes/tipos-de-simbolos/birl.js +78 -78
  304. package/fontes/tipos-de-simbolos/comum.d.ts +22 -22
  305. package/fontes/tipos-de-simbolos/comum.js +23 -23
  306. package/fontes/tipos-de-simbolos/delegua.d.ts +80 -80
  307. package/fontes/tipos-de-simbolos/delegua.js +81 -81
  308. package/fontes/tipos-de-simbolos/egua-classico.d.ts +77 -77
  309. package/fontes/tipos-de-simbolos/egua-classico.js +78 -78
  310. package/fontes/tipos-de-simbolos/eguap.d.ts +73 -73
  311. package/fontes/tipos-de-simbolos/eguap.js +74 -74
  312. package/fontes/tipos-de-simbolos/guarani.d.ts +14 -14
  313. package/fontes/tipos-de-simbolos/guarani.js +15 -15
  314. package/fontes/tipos-de-simbolos/portugol-ipt.d.ts +28 -28
  315. package/fontes/tipos-de-simbolos/portugol-ipt.js +29 -29
  316. package/fontes/tipos-de-simbolos/portugol-studio.d.ts +53 -53
  317. package/fontes/tipos-de-simbolos/portugol-studio.js +54 -54
  318. package/fontes/tipos-de-simbolos/rantiaquin.d.ts +2 -2
  319. package/fontes/tipos-de-simbolos/rantiaquin.js +3 -3
  320. package/fontes/tipos-de-simbolos/visualg.d.ts +68 -68
  321. package/fontes/tipos-de-simbolos/visualg.js +69 -69
  322. package/fontes/tradutores/dicionarios/dicionario-delegua-javascript.d.ts +2 -2
  323. package/fontes/tradutores/dicionarios/dicionario-delegua-javascript.js +10 -10
  324. package/fontes/tradutores/dicionarios/index.d.ts +1 -1
  325. package/fontes/tradutores/dicionarios/index.js +17 -17
  326. package/fontes/tradutores/index.d.ts +2 -2
  327. package/fontes/tradutores/index.js +18 -18
  328. package/fontes/tradutores/python/python3-lexer.d.ts +152 -152
  329. package/fontes/tradutores/python/python3-lexer.js +1226 -1226
  330. package/fontes/tradutores/python/python3-listener.d.ts +953 -953
  331. package/fontes/tradutores/python/python3-listener.js +2 -2
  332. package/fontes/tradutores/python/python3-parser.d.ts +1330 -1330
  333. package/fontes/tradutores/python/python3-parser.js +11156 -11156
  334. package/fontes/tradutores/python/python3-visitor.d.ts +612 -612
  335. package/fontes/tradutores/python/python3-visitor.js +2 -2
  336. package/fontes/tradutores/tradutor-javascript.d.ts +83 -83
  337. package/fontes/tradutores/tradutor-javascript.js +470 -470
  338. package/fontes/tradutores/tradutor-python.d.ts +1 -1
  339. package/fontes/tradutores/tradutor-python.js +34 -34
  340. package/fontes/tradutores/tradutor-reverso-javascript.d.ts +47 -47
  341. package/fontes/tradutores/tradutor-reverso-javascript.js +342 -342
  342. package/index.d.ts +5 -5
  343. package/index.js +23 -23
  344. package/package.json +88 -88
@@ -1,216 +1,216 @@
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.AvaliadorSintaticoBase = void 0;
7
- const construtos_1 = require("../construtos");
8
- const declaracoes_1 = require("../declaracoes");
9
- const erro_avaliador_sintatico_1 = require("./erro-avaliador-sintatico");
10
- const comum_1 = __importDefault(require("../tipos-de-simbolos/comum"));
11
- /**
12
- * O Avaliador Sintático Base é uma tentativa de mapear métodos em comum
13
- * entre todos os outros Avaliadores Sintáticos. Depende de um dicionário
14
- * de tipos de símbolos comuns entre todos os dialetos.
15
- */
16
- class AvaliadorSintaticoBase {
17
- consumir(tipo, mensagemDeErro) {
18
- if (this.verificarTipoSimboloAtual(tipo))
19
- return this.avancarEDevolverAnterior();
20
- throw this.erro(this.simbolos[this.atual], mensagemDeErro);
21
- }
22
- erro(simbolo, mensagemDeErro) {
23
- const excecao = new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(simbolo, mensagemDeErro);
24
- this.erros.push(excecao);
25
- return excecao;
26
- }
27
- simboloAnterior() {
28
- return this.simbolos[this.atual - 1];
29
- }
30
- verificarTipoSimboloAtual(tipo) {
31
- if (this.estaNoFinal())
32
- return false;
33
- return this.simbolos[this.atual].tipo === tipo;
34
- }
35
- verificarTipoProximoSimbolo(tipo) {
36
- return this.simbolos[this.atual + 1].tipo === tipo;
37
- }
38
- estaNoFinal() {
39
- return this.atual === this.simbolos.length;
40
- }
41
- avancarEDevolverAnterior() {
42
- if (!this.estaNoFinal())
43
- this.atual += 1;
44
- return this.simbolos[this.atual - 1];
45
- }
46
- verificarSeSimboloAtualEIgualA(...argumentos) {
47
- for (let i = 0; i < argumentos.length; i++) {
48
- const tipoAtual = argumentos[i];
49
- if (this.verificarTipoSimboloAtual(tipoAtual)) {
50
- this.avancarEDevolverAnterior();
51
- return true;
52
- }
53
- }
54
- return false;
55
- }
56
- declaracaoLeia() {
57
- throw new Error('Método não implementado.');
58
- }
59
- finalizarChamada(entidadeChamada) {
60
- const argumentos = [];
61
- if (!this.verificarTipoSimboloAtual(comum_1.default.PARENTESE_DIREITO)) {
62
- do {
63
- if (argumentos.length >= 255) {
64
- throw this.erro(this.simbolos[this.atual], 'Não pode haver mais de 255 argumentos.');
65
- }
66
- argumentos.push(this.expressao());
67
- } while (this.verificarSeSimboloAtualEIgualA(comum_1.default.VIRGULA));
68
- }
69
- const parenteseDireito = this.consumir(comum_1.default.PARENTESE_DIREITO, "Esperado ')' após os argumentos.");
70
- return new construtos_1.Chamada(this.hashArquivo, entidadeChamada, parenteseDireito, argumentos);
71
- }
72
- unario() {
73
- if (this.verificarSeSimboloAtualEIgualA(comum_1.default.NEGACAO, comum_1.default.SUBTRACAO)) {
74
- const operador = this.simbolos[this.atual - 1];
75
- const direito = this.unario();
76
- return new construtos_1.Unario(this.hashArquivo, operador, direito, 'ANTES');
77
- }
78
- return this.chamar();
79
- }
80
- exponenciacao() {
81
- let expressao = this.unario();
82
- while (this.verificarSeSimboloAtualEIgualA(comum_1.default.EXPONENCIACAO)) {
83
- const operador = this.simbolos[this.atual - 1];
84
- const direito = this.unario();
85
- expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
86
- }
87
- return expressao;
88
- }
89
- multiplicar() {
90
- let expressao = this.exponenciacao();
91
- while (this.verificarSeSimboloAtualEIgualA(comum_1.default.DIVISAO, comum_1.default.DIVISAO_INTEIRA, comum_1.default.MULTIPLICACAO, comum_1.default.MODULO)) {
92
- const operador = this.simbolos[this.atual - 1];
93
- const direito = this.unario();
94
- expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
95
- }
96
- return expressao;
97
- }
98
- adicaoOuSubtracao() {
99
- let expressao = this.multiplicar();
100
- while (this.verificarSeSimboloAtualEIgualA(comum_1.default.SUBTRACAO, comum_1.default.ADICAO)) {
101
- const operador = this.simbolos[this.atual - 1];
102
- const direito = this.multiplicar();
103
- expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
104
- }
105
- return expressao;
106
- }
107
- bitFill() {
108
- throw new Error('Método não implementado.');
109
- }
110
- bitE() {
111
- throw new Error('Método não implementado.');
112
- }
113
- bitOu() {
114
- throw new Error('Método não implementado.');
115
- }
116
- comparar() {
117
- let expressao = this.adicaoOuSubtracao();
118
- while (this.verificarSeSimboloAtualEIgualA(comum_1.default.MAIOR, comum_1.default.MAIOR_IGUAL, comum_1.default.MENOR, comum_1.default.MENOR_IGUAL)) {
119
- const operador = this.simbolos[this.atual - 1];
120
- const direito = this.adicaoOuSubtracao();
121
- expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
122
- }
123
- return expressao;
124
- }
125
- comparacaoIgualdade() {
126
- let expressao = this.comparar();
127
- while (this.verificarSeSimboloAtualEIgualA(comum_1.default.DIFERENTE, comum_1.default.IGUAL)) {
128
- const operador = this.simbolos[this.atual - 1];
129
- const direito = this.comparar();
130
- expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
131
- }
132
- return expressao;
133
- }
134
- em() {
135
- throw new Error('Método não implementado.');
136
- }
137
- e() {
138
- let expressao = this.comparacaoIgualdade();
139
- while (this.verificarSeSimboloAtualEIgualA(comum_1.default.E)) {
140
- const operador = this.simbolos[this.atual - 1];
141
- const direito = this.comparacaoIgualdade();
142
- expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
143
- }
144
- return expressao;
145
- }
146
- ou() {
147
- let expressao = this.e();
148
- while (this.verificarSeSimboloAtualEIgualA(comum_1.default.OU)) {
149
- const operador = this.simbolos[this.atual - 1];
150
- const direito = this.e();
151
- expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
152
- }
153
- return expressao;
154
- }
155
- expressao() {
156
- return this.atribuir();
157
- }
158
- declaracaoExpressao() {
159
- throw new Error('Método não implementado.');
160
- }
161
- declaracaoSustar() {
162
- throw new Error('Método não implementado.');
163
- }
164
- declaracaoContinua() {
165
- throw new Error('Método não implementado.');
166
- }
167
- declaracaoRetorna() {
168
- throw new Error('Método não implementado.');
169
- }
170
- declaracaoImportar() {
171
- throw new Error('Método não implementado.');
172
- }
173
- declaracaoTente() {
174
- throw new Error('Método não implementado.');
175
- }
176
- resolverDeclaracao() {
177
- throw new Error('Método não implementado.');
178
- }
179
- declaracaoDeVariavel() {
180
- throw new Error('Método não implementado.');
181
- }
182
- funcao(tipo) {
183
- const simboloFuncao = this.avancarEDevolverAnterior();
184
- const nomeFuncao = this.consumir(comum_1.default.IDENTIFICADOR, `Esperado nome ${tipo}.`);
185
- return new declaracoes_1.FuncaoDeclaracao(nomeFuncao, this.corpoDaFuncao(tipo));
186
- }
187
- declaracaoDeClasse() {
188
- throw new Error('Método não implementado.');
189
- }
190
- logicaComumParametros() {
191
- const parametros = [];
192
- do {
193
- if (parametros.length >= 255) {
194
- this.erro(this.simbolos[this.atual], 'Não pode haver mais de 255 parâmetros');
195
- }
196
- const parametro = {};
197
- if (this.simbolos[this.atual].tipo === comum_1.default.MULTIPLICACAO) {
198
- this.consumir(comum_1.default.MULTIPLICACAO, null);
199
- parametro.abrangencia = 'multiplo';
200
- }
201
- else {
202
- parametro.abrangencia = 'padrao';
203
- }
204
- parametro.nome = this.consumir(comum_1.default.IDENTIFICADOR, 'Esperado nome do parâmetro.');
205
- if (this.verificarSeSimboloAtualEIgualA(comum_1.default.IGUAL)) {
206
- parametro.valorPadrao = this.primario();
207
- }
208
- parametros.push(parametro);
209
- if (parametro.abrangencia === 'multiplo')
210
- break;
211
- } while (this.verificarSeSimboloAtualEIgualA(comum_1.default.VIRGULA));
212
- return parametros;
213
- }
214
- }
215
- exports.AvaliadorSintaticoBase = AvaliadorSintaticoBase;
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.AvaliadorSintaticoBase = void 0;
7
+ const construtos_1 = require("../construtos");
8
+ const declaracoes_1 = require("../declaracoes");
9
+ const erro_avaliador_sintatico_1 = require("./erro-avaliador-sintatico");
10
+ const comum_1 = __importDefault(require("../tipos-de-simbolos/comum"));
11
+ /**
12
+ * O Avaliador Sintático Base é uma tentativa de mapear métodos em comum
13
+ * entre todos os outros Avaliadores Sintáticos. Depende de um dicionário
14
+ * de tipos de símbolos comuns entre todos os dialetos.
15
+ */
16
+ class AvaliadorSintaticoBase {
17
+ consumir(tipo, mensagemDeErro) {
18
+ if (this.verificarTipoSimboloAtual(tipo))
19
+ return this.avancarEDevolverAnterior();
20
+ throw this.erro(this.simbolos[this.atual], mensagemDeErro);
21
+ }
22
+ erro(simbolo, mensagemDeErro) {
23
+ const excecao = new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(simbolo, mensagemDeErro);
24
+ this.erros.push(excecao);
25
+ return excecao;
26
+ }
27
+ simboloAnterior() {
28
+ return this.simbolos[this.atual - 1];
29
+ }
30
+ verificarTipoSimboloAtual(tipo) {
31
+ if (this.estaNoFinal())
32
+ return false;
33
+ return this.simbolos[this.atual].tipo === tipo;
34
+ }
35
+ verificarTipoProximoSimbolo(tipo) {
36
+ return this.simbolos[this.atual + 1].tipo === tipo;
37
+ }
38
+ estaNoFinal() {
39
+ return this.atual === this.simbolos.length;
40
+ }
41
+ avancarEDevolverAnterior() {
42
+ if (!this.estaNoFinal())
43
+ this.atual += 1;
44
+ return this.simbolos[this.atual - 1];
45
+ }
46
+ verificarSeSimboloAtualEIgualA(...argumentos) {
47
+ for (let i = 0; i < argumentos.length; i++) {
48
+ const tipoAtual = argumentos[i];
49
+ if (this.verificarTipoSimboloAtual(tipoAtual)) {
50
+ this.avancarEDevolverAnterior();
51
+ return true;
52
+ }
53
+ }
54
+ return false;
55
+ }
56
+ declaracaoLeia() {
57
+ throw new Error('Método não implementado.');
58
+ }
59
+ finalizarChamada(entidadeChamada) {
60
+ const argumentos = [];
61
+ if (!this.verificarTipoSimboloAtual(comum_1.default.PARENTESE_DIREITO)) {
62
+ do {
63
+ if (argumentos.length >= 255) {
64
+ throw this.erro(this.simbolos[this.atual], 'Não pode haver mais de 255 argumentos.');
65
+ }
66
+ argumentos.push(this.expressao());
67
+ } while (this.verificarSeSimboloAtualEIgualA(comum_1.default.VIRGULA));
68
+ }
69
+ const parenteseDireito = this.consumir(comum_1.default.PARENTESE_DIREITO, "Esperado ')' após os argumentos.");
70
+ return new construtos_1.Chamada(this.hashArquivo, entidadeChamada, parenteseDireito, argumentos);
71
+ }
72
+ unario() {
73
+ if (this.verificarSeSimboloAtualEIgualA(comum_1.default.NEGACAO, comum_1.default.SUBTRACAO)) {
74
+ const operador = this.simbolos[this.atual - 1];
75
+ const direito = this.unario();
76
+ return new construtos_1.Unario(this.hashArquivo, operador, direito, 'ANTES');
77
+ }
78
+ return this.chamar();
79
+ }
80
+ exponenciacao() {
81
+ let expressao = this.unario();
82
+ while (this.verificarSeSimboloAtualEIgualA(comum_1.default.EXPONENCIACAO)) {
83
+ const operador = this.simbolos[this.atual - 1];
84
+ const direito = this.unario();
85
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
86
+ }
87
+ return expressao;
88
+ }
89
+ multiplicar() {
90
+ let expressao = this.exponenciacao();
91
+ while (this.verificarSeSimboloAtualEIgualA(comum_1.default.DIVISAO, comum_1.default.DIVISAO_INTEIRA, comum_1.default.MULTIPLICACAO, comum_1.default.MODULO)) {
92
+ const operador = this.simbolos[this.atual - 1];
93
+ const direito = this.unario();
94
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
95
+ }
96
+ return expressao;
97
+ }
98
+ adicaoOuSubtracao() {
99
+ let expressao = this.multiplicar();
100
+ while (this.verificarSeSimboloAtualEIgualA(comum_1.default.SUBTRACAO, comum_1.default.ADICAO)) {
101
+ const operador = this.simbolos[this.atual - 1];
102
+ const direito = this.multiplicar();
103
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
104
+ }
105
+ return expressao;
106
+ }
107
+ bitFill() {
108
+ throw new Error('Método não implementado.');
109
+ }
110
+ bitE() {
111
+ throw new Error('Método não implementado.');
112
+ }
113
+ bitOu() {
114
+ throw new Error('Método não implementado.');
115
+ }
116
+ comparar() {
117
+ let expressao = this.adicaoOuSubtracao();
118
+ while (this.verificarSeSimboloAtualEIgualA(comum_1.default.MAIOR, comum_1.default.MAIOR_IGUAL, comum_1.default.MENOR, comum_1.default.MENOR_IGUAL)) {
119
+ const operador = this.simbolos[this.atual - 1];
120
+ const direito = this.adicaoOuSubtracao();
121
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
122
+ }
123
+ return expressao;
124
+ }
125
+ comparacaoIgualdade() {
126
+ let expressao = this.comparar();
127
+ while (this.verificarSeSimboloAtualEIgualA(comum_1.default.DIFERENTE, comum_1.default.IGUAL)) {
128
+ const operador = this.simbolos[this.atual - 1];
129
+ const direito = this.comparar();
130
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
131
+ }
132
+ return expressao;
133
+ }
134
+ em() {
135
+ throw new Error('Método não implementado.');
136
+ }
137
+ e() {
138
+ let expressao = this.comparacaoIgualdade();
139
+ while (this.verificarSeSimboloAtualEIgualA(comum_1.default.E)) {
140
+ const operador = this.simbolos[this.atual - 1];
141
+ const direito = this.comparacaoIgualdade();
142
+ expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
143
+ }
144
+ return expressao;
145
+ }
146
+ ou() {
147
+ let expressao = this.e();
148
+ while (this.verificarSeSimboloAtualEIgualA(comum_1.default.OU)) {
149
+ const operador = this.simbolos[this.atual - 1];
150
+ const direito = this.e();
151
+ expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
152
+ }
153
+ return expressao;
154
+ }
155
+ expressao() {
156
+ return this.atribuir();
157
+ }
158
+ declaracaoExpressao() {
159
+ throw new Error('Método não implementado.');
160
+ }
161
+ declaracaoSustar() {
162
+ throw new Error('Método não implementado.');
163
+ }
164
+ declaracaoContinua() {
165
+ throw new Error('Método não implementado.');
166
+ }
167
+ declaracaoRetorna() {
168
+ throw new Error('Método não implementado.');
169
+ }
170
+ declaracaoImportar() {
171
+ throw new Error('Método não implementado.');
172
+ }
173
+ declaracaoTente() {
174
+ throw new Error('Método não implementado.');
175
+ }
176
+ resolverDeclaracao() {
177
+ throw new Error('Método não implementado.');
178
+ }
179
+ declaracaoDeVariavel() {
180
+ throw new Error('Método não implementado.');
181
+ }
182
+ funcao(tipo) {
183
+ const simboloFuncao = this.avancarEDevolverAnterior();
184
+ const nomeFuncao = this.consumir(comum_1.default.IDENTIFICADOR, `Esperado nome ${tipo}.`);
185
+ return new declaracoes_1.FuncaoDeclaracao(nomeFuncao, this.corpoDaFuncao(tipo));
186
+ }
187
+ declaracaoDeClasse() {
188
+ throw new Error('Método não implementado.');
189
+ }
190
+ logicaComumParametros() {
191
+ const parametros = [];
192
+ do {
193
+ if (parametros.length >= 255) {
194
+ this.erro(this.simbolos[this.atual], 'Não pode haver mais de 255 parâmetros');
195
+ }
196
+ const parametro = {};
197
+ if (this.simbolos[this.atual].tipo === comum_1.default.MULTIPLICACAO) {
198
+ this.consumir(comum_1.default.MULTIPLICACAO, null);
199
+ parametro.abrangencia = 'multiplo';
200
+ }
201
+ else {
202
+ parametro.abrangencia = 'padrao';
203
+ }
204
+ parametro.nome = this.consumir(comum_1.default.IDENTIFICADOR, 'Esperado nome do parâmetro.');
205
+ if (this.verificarSeSimboloAtualEIgualA(comum_1.default.IGUAL)) {
206
+ parametro.valorPadrao = this.primario();
207
+ }
208
+ parametros.push(parametro);
209
+ if (parametro.abrangencia === 'multiplo')
210
+ break;
211
+ } while (this.verificarSeSimboloAtualEIgualA(comum_1.default.VIRGULA));
212
+ return parametros;
213
+ }
214
+ }
215
+ exports.AvaliadorSintaticoBase = AvaliadorSintaticoBase;
216
216
  //# sourceMappingURL=avaliador-sintatico-base.js.map
@@ -1,92 +1,92 @@
1
- import { AvaliadorSintaticoInterface, ParametroInterface, SimboloInterface } from '../interfaces';
2
- import { FuncaoConstruto, Construto } from '../construtos';
3
- import { ErroAvaliadorSintatico } from './erro-avaliador-sintatico';
4
- import { Classe, Continua, Enquanto, Escolha, Escreva, Expressao, Fazer, FuncaoDeclaracao as FuncaoDeclaracao, Importar, Para, Sustar, Retorna, Se, Tente, Var, Leia } from '../declaracoes';
5
- import { RetornoAvaliadorSintatico } from '../interfaces/retornos/retorno-avaliador-sintatico';
6
- import { RetornoLexador } from '../interfaces/retornos/retorno-lexador';
7
- import { RetornoDeclaracao, RetornoResolverDeclaracao } from './retornos';
8
- /**
9
- * O avaliador sintático (Parser) é responsável por transformar os símbolos do Lexador em estruturas de alto nível.
10
- * Essas estruturas de alto nível são as partes que executam lógica de programação de fato.
11
- * Há dois grupos de estruturas de alto nível: Construtos e Declarações.
12
- */
13
- export declare class AvaliadorSintatico implements AvaliadorSintaticoInterface {
14
- simbolos: SimboloInterface[];
15
- erros: ErroAvaliadorSintatico[];
16
- hashArquivo: number;
17
- atual: number;
18
- blocos: number;
19
- performance: boolean;
20
- constructor(performance?: boolean);
21
- erro(simbolo: SimboloInterface, mensagemDeErro: string): ErroAvaliadorSintatico;
22
- consumir(tipo: string, mensagemDeErro: string): SimboloInterface;
23
- verificarTipoSimboloAtual(tipo: string): boolean;
24
- verificarTipoProximoSimbolo(tipo: string): boolean;
25
- simboloAtual(): SimboloInterface;
26
- simboloAnterior(): SimboloInterface;
27
- estaNoFinal(): boolean;
28
- avancarEDevolverAnterior(): SimboloInterface;
29
- verificarSeSimboloAtualEIgualA(...argumentos: string[]): boolean;
30
- primario(): Construto;
31
- finalizarChamada(entidadeChamada: Construto): Construto;
32
- chamar(): Construto;
33
- unario(): Construto;
34
- exponenciacao(): Construto;
35
- multiplicar(): Construto;
36
- /**
37
- * Se símbolo de operação é `+`, `-`, `+=` ou `-=`, monta objeto `Binario` para
38
- * ser avaliado pelo Interpretador.
39
- * @returns Um Construto, normalmente um `Binario`, ou `Unario` se houver alguma operação unária para ser avaliada.
40
- */
41
- adicaoOuSubtracao(): Construto;
42
- bitFill(): Construto;
43
- bitE(): Construto;
44
- bitOu(): Construto;
45
- comparar(): Construto;
46
- comparacaoIgualdade(): Construto;
47
- em(): Construto;
48
- e(): Construto;
49
- ou(): Construto;
50
- /**
51
- * Método que resolve atribuições.
52
- * @returns Um construto do tipo `Atribuir`, `Conjunto` ou `AtribuicaoSobrescrita`.
53
- */
54
- atribuir(): Construto;
55
- expressao(): Construto;
56
- declaracaoEscreva(): Escreva;
57
- declaracaoExpressao(): Expressao;
58
- /**
59
- * Declaração para comando `leia`, para ler dados de entrada do usuário.
60
- * @returns Um objeto da classe `Leia`.
61
- */
62
- declaracaoLeia(): Leia;
63
- blocoEscopo(): Array<RetornoDeclaracao>;
64
- declaracaoSe(): Se;
65
- declaracaoEnquanto(): Enquanto;
66
- declaracaoPara(): Para;
67
- declaracaoSustar(): Sustar;
68
- declaracaoContinua(): Continua;
69
- declaracaoRetorna(): Retorna;
70
- declaracaoEscolha(): Escolha;
71
- declaracaoImportar(): Importar;
72
- declaracaoTente(): Tente;
73
- declaracaoFazer(): Fazer;
74
- resolverDeclaracao(): RetornoResolverDeclaracao;
75
- /**
76
- * Caso símbolo atual seja `var`, devolve uma declaração de variável.
77
- * @returns Um Construto do tipo Var.
78
- */
79
- declaracaoDeVariavel(): Var;
80
- funcao(tipo: string): FuncaoDeclaracao;
81
- logicaComumParametros(): ParametroInterface[];
82
- corpoDaFuncao(tipo: string): FuncaoConstruto;
83
- declaracaoDeClasse(): Classe;
84
- declaracao(): RetornoDeclaracao;
85
- /**
86
- * Usado quando há erros na avaliação sintática.
87
- * Garante que o código não entre em loop infinito.
88
- * @returns Sempre retorna `void`.
89
- */
90
- sincronizar(): void;
91
- analisar(retornoLexador: RetornoLexador, hashArquivo?: number): RetornoAvaliadorSintatico;
92
- }
1
+ import { AvaliadorSintaticoInterface, ParametroInterface, SimboloInterface } from '../interfaces';
2
+ import { FuncaoConstruto, Construto } from '../construtos';
3
+ import { ErroAvaliadorSintatico } from './erro-avaliador-sintatico';
4
+ import { Classe, Continua, Enquanto, Escolha, Escreva, Expressao, Fazer, FuncaoDeclaracao as FuncaoDeclaracao, Importar, Para, Sustar, Retorna, Se, Tente, Var, Leia } from '../declaracoes';
5
+ import { RetornoAvaliadorSintatico } from '../interfaces/retornos/retorno-avaliador-sintatico';
6
+ import { RetornoLexador } from '../interfaces/retornos/retorno-lexador';
7
+ import { RetornoDeclaracao, RetornoResolverDeclaracao } from './retornos';
8
+ /**
9
+ * O avaliador sintático (Parser) é responsável por transformar os símbolos do Lexador em estruturas de alto nível.
10
+ * Essas estruturas de alto nível são as partes que executam lógica de programação de fato.
11
+ * Há dois grupos de estruturas de alto nível: Construtos e Declarações.
12
+ */
13
+ export declare class AvaliadorSintatico implements AvaliadorSintaticoInterface {
14
+ simbolos: SimboloInterface[];
15
+ erros: ErroAvaliadorSintatico[];
16
+ hashArquivo: number;
17
+ atual: number;
18
+ blocos: number;
19
+ performance: boolean;
20
+ constructor(performance?: boolean);
21
+ erro(simbolo: SimboloInterface, mensagemDeErro: string): ErroAvaliadorSintatico;
22
+ consumir(tipo: string, mensagemDeErro: string): SimboloInterface;
23
+ verificarTipoSimboloAtual(tipo: string): boolean;
24
+ verificarTipoProximoSimbolo(tipo: string): boolean;
25
+ simboloAtual(): SimboloInterface;
26
+ simboloAnterior(): SimboloInterface;
27
+ estaNoFinal(): boolean;
28
+ avancarEDevolverAnterior(): SimboloInterface;
29
+ verificarSeSimboloAtualEIgualA(...argumentos: string[]): boolean;
30
+ primario(): Construto;
31
+ finalizarChamada(entidadeChamada: Construto): Construto;
32
+ chamar(): Construto;
33
+ unario(): Construto;
34
+ exponenciacao(): Construto;
35
+ multiplicar(): Construto;
36
+ /**
37
+ * Se símbolo de operação é `+`, `-`, `+=` ou `-=`, monta objeto `Binario` para
38
+ * ser avaliado pelo Interpretador.
39
+ * @returns Um Construto, normalmente um `Binario`, ou `Unario` se houver alguma operação unária para ser avaliada.
40
+ */
41
+ adicaoOuSubtracao(): Construto;
42
+ bitFill(): Construto;
43
+ bitE(): Construto;
44
+ bitOu(): Construto;
45
+ comparar(): Construto;
46
+ comparacaoIgualdade(): Construto;
47
+ em(): Construto;
48
+ e(): Construto;
49
+ ou(): Construto;
50
+ /**
51
+ * Método que resolve atribuições.
52
+ * @returns Um construto do tipo `Atribuir`, `Conjunto` ou `AtribuicaoSobrescrita`.
53
+ */
54
+ atribuir(): Construto;
55
+ expressao(): Construto;
56
+ declaracaoEscreva(): Escreva;
57
+ declaracaoExpressao(): Expressao;
58
+ /**
59
+ * Declaração para comando `leia`, para ler dados de entrada do usuário.
60
+ * @returns Um objeto da classe `Leia`.
61
+ */
62
+ declaracaoLeia(): Leia;
63
+ blocoEscopo(): Array<RetornoDeclaracao>;
64
+ declaracaoSe(): Se;
65
+ declaracaoEnquanto(): Enquanto;
66
+ declaracaoPara(): Para;
67
+ declaracaoSustar(): Sustar;
68
+ declaracaoContinua(): Continua;
69
+ declaracaoRetorna(): Retorna;
70
+ declaracaoEscolha(): Escolha;
71
+ declaracaoImportar(): Importar;
72
+ declaracaoTente(): Tente;
73
+ declaracaoFazer(): Fazer;
74
+ resolverDeclaracao(): RetornoResolverDeclaracao;
75
+ /**
76
+ * Caso símbolo atual seja `var`, devolve uma declaração de variável.
77
+ * @returns Um Construto do tipo Var.
78
+ */
79
+ declaracaoDeVariavel(): Var;
80
+ funcao(tipo: string): FuncaoDeclaracao;
81
+ logicaComumParametros(): ParametroInterface[];
82
+ corpoDaFuncao(tipo: string): FuncaoConstruto;
83
+ declaracaoDeClasse(): Classe;
84
+ declaracao(): RetornoDeclaracao;
85
+ /**
86
+ * Usado quando há erros na avaliação sintática.
87
+ * Garante que o código não entre em loop infinito.
88
+ * @returns Sempre retorna `void`.
89
+ */
90
+ sincronizar(): void;
91
+ analisar(retornoLexador: RetornoLexador, hashArquivo?: number): RetornoAvaliadorSintatico;
92
+ }