@designliquido/delegua 0.15.2 → 0.15.4

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 (347) 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 +537 -534
  21. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js.map +1 -1
  22. package/fontes/avaliador-sintatico/dialetos/index.d.ts +5 -5
  23. package/fontes/avaliador-sintatico/dialetos/index.js +21 -21
  24. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
  25. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
  26. package/fontes/avaliador-sintatico/index.d.ts +2 -2
  27. package/fontes/avaliador-sintatico/index.js +18 -18
  28. package/fontes/avaliador-sintatico/retornos/index.d.ts +3 -3
  29. package/fontes/avaliador-sintatico/retornos/index.js +19 -19
  30. package/fontes/avaliador-sintatico/retornos/retorno-declaracao.d.ts +3 -3
  31. package/fontes/avaliador-sintatico/retornos/retorno-declaracao.js +2 -2
  32. package/fontes/avaliador-sintatico/retornos/retorno-primario.d.ts +3 -3
  33. package/fontes/avaliador-sintatico/retornos/retorno-primario.js +2 -2
  34. package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.d.ts +2 -2
  35. package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.js +2 -2
  36. package/fontes/bibliotecas/biblioteca-global.d.ts +3 -3
  37. package/fontes/bibliotecas/biblioteca-global.js +315 -315
  38. package/fontes/bibliotecas/dialetos/egua-classico/biblioteca-global.d.ts +1 -1
  39. package/fontes/bibliotecas/dialetos/egua-classico/biblioteca-global.js +230 -230
  40. package/fontes/bibliotecas/dialetos/egua-classico/index.d.ts +2 -2
  41. package/fontes/bibliotecas/dialetos/egua-classico/index.js +32 -32
  42. package/fontes/bibliotecas/dialetos/egua-classico/matematica.d.ts +1 -1
  43. package/fontes/bibliotecas/dialetos/egua-classico/matematica.js +478 -478
  44. package/fontes/bibliotecas/dialetos/egua-classico/tempo.d.ts +1 -1
  45. package/fontes/bibliotecas/dialetos/egua-classico/tempo.js +39 -39
  46. package/fontes/bibliotecas/dialetos/egua-classico/textos.d.ts +8 -8
  47. package/fontes/bibliotecas/dialetos/egua-classico/textos.js +201 -201
  48. package/fontes/bibliotecas/dialetos/visualg/caracteres.d.ts +3 -0
  49. package/fontes/bibliotecas/dialetos/visualg/caracteres.js +35 -0
  50. package/fontes/bibliotecas/dialetos/visualg/caracteres.js.map +1 -0
  51. package/fontes/bibliotecas/dialetos/visualg/index.d.ts +2 -0
  52. package/fontes/bibliotecas/dialetos/visualg/index.js +18 -0
  53. package/fontes/bibliotecas/dialetos/visualg/index.js.map +1 -1
  54. package/fontes/bibliotecas/dialetos/visualg/numerica.d.ts +3 -0
  55. package/fontes/bibliotecas/dialetos/visualg/numerica.js +65 -0
  56. package/fontes/bibliotecas/dialetos/visualg/numerica.js.map +1 -0
  57. package/fontes/bibliotecas/primitivas-texto.d.ts +11 -11
  58. package/fontes/bibliotecas/primitivas-texto.js +12 -12
  59. package/fontes/bibliotecas/primitivas-vetor.d.ts +15 -15
  60. package/fontes/bibliotecas/primitivas-vetor.js +33 -33
  61. package/fontes/construtos/acesso-indice-variavel.d.ts +15 -15
  62. package/fontes/construtos/acesso-indice-variavel.js +20 -20
  63. package/fontes/construtos/acesso-metodo.d.ts +14 -14
  64. package/fontes/construtos/acesso-metodo.js +19 -19
  65. package/fontes/construtos/agrupamento.d.ts +14 -14
  66. package/fontes/construtos/agrupamento.js +19 -19
  67. package/fontes/construtos/atribuicao-sobrescrita.d.ts +11 -11
  68. package/fontes/construtos/atribuicao-sobrescrita.js +16 -16
  69. package/fontes/construtos/atribuir.d.ts +10 -10
  70. package/fontes/construtos/atribuir.js +15 -15
  71. package/fontes/construtos/binario.d.ts +22 -22
  72. package/fontes/construtos/binario.js +27 -27
  73. package/fontes/construtos/chamada.d.ts +13 -13
  74. package/fontes/construtos/chamada.js +36 -36
  75. package/fontes/construtos/construto.d.ts +7 -7
  76. package/fontes/construtos/construto.js +2 -2
  77. package/fontes/construtos/definir-valor.d.ts +11 -11
  78. package/fontes/construtos/definir-valor.js +16 -16
  79. package/fontes/construtos/dicionario.d.ts +10 -10
  80. package/fontes/construtos/dicionario.js +15 -15
  81. package/fontes/construtos/formatacao-escrita.d.ts +16 -16
  82. package/fontes/construtos/formatacao-escrita.js +21 -21
  83. package/fontes/construtos/funcao.d.ts +10 -10
  84. package/fontes/construtos/funcao.js +15 -15
  85. package/fontes/construtos/index.d.ts +19 -19
  86. package/fontes/construtos/index.js +35 -35
  87. package/fontes/construtos/isto.d.ts +9 -9
  88. package/fontes/construtos/isto.js +14 -14
  89. package/fontes/construtos/literal.d.ts +10 -10
  90. package/fontes/construtos/literal.js +14 -14
  91. package/fontes/construtos/logico.d.ts +11 -11
  92. package/fontes/construtos/logico.js +16 -16
  93. package/fontes/construtos/super.d.ts +10 -10
  94. package/fontes/construtos/super.js +15 -15
  95. package/fontes/construtos/unario.d.ts +11 -11
  96. package/fontes/construtos/unario.js +16 -16
  97. package/fontes/construtos/variavel.d.ts +9 -9
  98. package/fontes/construtos/variavel.js +14 -14
  99. package/fontes/construtos/vetor.d.ts +9 -9
  100. package/fontes/construtos/vetor.js +14 -14
  101. package/fontes/declaracoes/bloco.d.ts +7 -7
  102. package/fontes/declaracoes/bloco.js +14 -14
  103. package/fontes/declaracoes/classe.d.ts +9 -9
  104. package/fontes/declaracoes/classe.js +16 -16
  105. package/fontes/declaracoes/continua.d.ts +6 -6
  106. package/fontes/declaracoes/continua.js +13 -13
  107. package/fontes/declaracoes/declaracao.d.ts +8 -8
  108. package/fontes/declaracoes/declaracao.js +17 -17
  109. package/fontes/declaracoes/enquanto.d.ts +9 -9
  110. package/fontes/declaracoes/enquanto.js +15 -15
  111. package/fontes/declaracoes/escolha.d.ts +14 -14
  112. package/fontes/declaracoes/escolha.js +19 -19
  113. package/fontes/declaracoes/escreva-mesma-linha.d.ts +8 -8
  114. package/fontes/declaracoes/escreva-mesma-linha.js +14 -14
  115. package/fontes/declaracoes/escreva.d.ts +8 -8
  116. package/fontes/declaracoes/escreva.js +14 -14
  117. package/fontes/declaracoes/expressao.d.ts +8 -8
  118. package/fontes/declaracoes/expressao.js +14 -14
  119. package/fontes/declaracoes/fazer.d.ts +8 -8
  120. package/fontes/declaracoes/fazer.js +15 -15
  121. package/fontes/declaracoes/funcao.d.ts +9 -9
  122. package/fontes/declaracoes/funcao.js +15 -15
  123. package/fontes/declaracoes/importar.d.ts +9 -9
  124. package/fontes/declaracoes/importar.js +15 -15
  125. package/fontes/declaracoes/index.d.ts +19 -19
  126. package/fontes/declaracoes/index.js +35 -35
  127. package/fontes/declaracoes/leia.d.ts +12 -12
  128. package/fontes/declaracoes/leia.js +18 -18
  129. package/fontes/declaracoes/para.d.ts +10 -10
  130. package/fontes/declaracoes/para.js +17 -17
  131. package/fontes/declaracoes/retorna.d.ts +8 -8
  132. package/fontes/declaracoes/retorna.js +15 -15
  133. package/fontes/declaracoes/se.d.ts +11 -11
  134. package/fontes/declaracoes/se.js +17 -17
  135. package/fontes/declaracoes/sustar.d.ts +6 -6
  136. package/fontes/declaracoes/sustar.js +13 -13
  137. package/fontes/declaracoes/tente.d.ts +14 -14
  138. package/fontes/declaracoes/tente.js +20 -20
  139. package/fontes/declaracoes/var.d.ts +9 -9
  140. package/fontes/declaracoes/var.js +15 -15
  141. package/fontes/depuracao/cyrb53.d.ts +9 -9
  142. package/fontes/depuracao/cyrb53.js +22 -22
  143. package/fontes/depuracao/index.d.ts +2 -2
  144. package/fontes/depuracao/index.js +23 -23
  145. package/fontes/depuracao/ponto-parada.d.ts +4 -4
  146. package/fontes/depuracao/ponto-parada.js +2 -2
  147. package/fontes/espaco-variaveis.d.ts +19 -19
  148. package/fontes/espaco-variaveis.js +19 -19
  149. package/fontes/estruturas/chamavel.d.ts +5 -5
  150. package/fontes/estruturas/chamavel.js +12 -12
  151. package/fontes/estruturas/classe-padrao.d.ts +17 -17
  152. package/fontes/estruturas/classe-padrao.js +28 -28
  153. package/fontes/estruturas/delegua-classe.d.ts +16 -16
  154. package/fontes/estruturas/delegua-classe.js +38 -38
  155. package/fontes/estruturas/delegua-funcao.d.ts +18 -18
  156. package/fontes/estruturas/delegua-funcao.js +60 -60
  157. package/fontes/estruturas/funcao-padrao.d.ts +12 -12
  158. package/fontes/estruturas/funcao-padrao.js +22 -22
  159. package/fontes/estruturas/index.d.ts +9 -9
  160. package/fontes/estruturas/index.js +25 -25
  161. package/fontes/estruturas/metodo-primitiva.d.ts +17 -17
  162. package/fontes/estruturas/metodo-primitiva.js +26 -26
  163. package/fontes/estruturas/modulo.d.ts +9 -9
  164. package/fontes/estruturas/modulo.js +13 -13
  165. package/fontes/estruturas/objeto-delegua-classe.d.ts +10 -10
  166. package/fontes/estruturas/objeto-delegua-classe.js +26 -26
  167. package/fontes/estruturas/objeto-padrao.d.ts +9 -9
  168. package/fontes/estruturas/objeto-padrao.js +21 -21
  169. package/fontes/excecoes/erro-em-tempo-de-execucao.d.ts +7 -7
  170. package/fontes/excecoes/erro-em-tempo-de-execucao.js +13 -13
  171. package/fontes/excecoes/index.d.ts +1 -1
  172. package/fontes/excecoes/index.js +17 -17
  173. package/fontes/formatadores/delegua.d.ts +18 -18
  174. package/fontes/formatadores/delegua.js +82 -82
  175. package/fontes/formatadores/index.d.ts +1 -1
  176. package/fontes/formatadores/index.js +17 -17
  177. package/fontes/interfaces/avaliador-sintatico-interface.d.ts +57 -57
  178. package/fontes/interfaces/avaliador-sintatico-interface.js +2 -2
  179. package/fontes/interfaces/construtos/index.d.ts +4 -4
  180. package/fontes/interfaces/construtos/index.js +2 -2
  181. package/fontes/interfaces/escopo-execucao.d.ts +11 -11
  182. package/fontes/interfaces/escopo-execucao.js +2 -2
  183. package/fontes/interfaces/index.d.ts +11 -11
  184. package/fontes/interfaces/index.js +27 -27
  185. package/fontes/interfaces/interpretador-com-depuracao-interface.d.ts +17 -17
  186. package/fontes/interfaces/interpretador-com-depuracao-interface.js +2 -2
  187. package/fontes/interfaces/interpretador-interface.d.ts +55 -55
  188. package/fontes/interfaces/interpretador-interface.js +2 -2
  189. package/fontes/interfaces/lexador-interface.d.ts +23 -23
  190. package/fontes/interfaces/lexador-interface.js +2 -2
  191. package/fontes/interfaces/parametro-interface.d.ts +6 -6
  192. package/fontes/interfaces/parametro-interface.js +2 -2
  193. package/fontes/interfaces/pilha-escopos-execucao-interface.d.ts +25 -25
  194. package/fontes/interfaces/pilha-escopos-execucao-interface.js +2 -2
  195. package/fontes/interfaces/pilha-interface.d.ts +7 -7
  196. package/fontes/interfaces/pilha-interface.js +2 -2
  197. package/fontes/interfaces/resolvedor-interface.d.ts +41 -41
  198. package/fontes/interfaces/resolvedor-interface.js +2 -2
  199. package/fontes/interfaces/retornos/index.d.ts +4 -4
  200. package/fontes/interfaces/retornos/index.js +20 -20
  201. package/fontes/interfaces/retornos/retorno-avaliador-sintatico.d.ts +6 -6
  202. package/fontes/interfaces/retornos/retorno-avaliador-sintatico.js +2 -2
  203. package/fontes/interfaces/retornos/retorno-execucao-interface.d.ts +5 -5
  204. package/fontes/interfaces/retornos/retorno-execucao-interface.js +2 -2
  205. package/fontes/interfaces/retornos/retorno-interpretador.d.ts +5 -5
  206. package/fontes/interfaces/retornos/retorno-interpretador.js +2 -2
  207. package/fontes/interfaces/retornos/retorno-lexador.d.ts +10 -10
  208. package/fontes/interfaces/retornos/retorno-lexador.js +2 -2
  209. package/fontes/interfaces/simbolo-interface.d.ts +7 -7
  210. package/fontes/interfaces/simbolo-interface.js +2 -2
  211. package/fontes/interfaces/tradutor-interface.d.ts +4 -4
  212. package/fontes/interfaces/tradutor-interface.js +2 -2
  213. package/fontes/interfaces/variavel-interface.d.ts +4 -4
  214. package/fontes/interfaces/variavel-interface.js +2 -2
  215. package/fontes/interpretador/dialetos/egua-classico/index.d.ts +1 -1
  216. package/fontes/interpretador/dialetos/egua-classico/index.js +17 -17
  217. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +99 -99
  218. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +743 -743
  219. package/fontes/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.d.ts +5 -5
  220. package/fontes/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.js +11 -11
  221. package/fontes/interpretador/dialetos/egua-classico/resolvedor/index.d.ts +3 -3
  222. package/fontes/interpretador/dialetos/egua-classico/resolvedor/index.js +19 -19
  223. package/fontes/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.d.ts +9 -9
  224. package/fontes/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.js +25 -25
  225. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +87 -87
  226. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +387 -387
  227. package/fontes/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.d.ts +6 -6
  228. package/fontes/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.js +2 -2
  229. package/fontes/interpretador/dialetos/index.d.ts +4 -4
  230. package/fontes/interpretador/dialetos/index.js +20 -20
  231. package/fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.d.ts +12 -12
  232. package/fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.js +26 -26
  233. package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.d.ts +43 -40
  234. package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js +102 -96
  235. package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js.map +1 -1
  236. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.d.ts +53 -46
  237. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.js +194 -102
  238. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.js.map +1 -1
  239. package/fontes/interpretador/erro-interpretador.d.ts +8 -8
  240. package/fontes/interpretador/erro-interpretador.js +2 -2
  241. package/fontes/interpretador/index.d.ts +4 -4
  242. package/fontes/interpretador/index.js +20 -20
  243. package/fontes/interpretador/inferenciador.d.ts +1 -1
  244. package/fontes/interpretador/inferenciador.js +31 -31
  245. package/fontes/interpretador/interpretador-base.d.ts +186 -186
  246. package/fontes/interpretador/interpretador-base.js +1001 -1001
  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/pilha-escopos-execucao.d.ts +38 -38
  250. package/fontes/interpretador/pilha-escopos-execucao.js +158 -158
  251. package/fontes/lexador/dialetos/index.d.ts +6 -6
  252. package/fontes/lexador/dialetos/index.js +22 -22
  253. package/fontes/lexador/dialetos/lexador-birl.d.ts +12 -12
  254. package/fontes/lexador/dialetos/lexador-birl.js +211 -211
  255. package/fontes/lexador/dialetos/lexador-egua-classico.d.ts +36 -36
  256. package/fontes/lexador/dialetos/lexador-egua-classico.js +286 -286
  257. package/fontes/lexador/dialetos/lexador-eguap.d.ts +51 -51
  258. package/fontes/lexador/dialetos/lexador-eguap.js +398 -398
  259. package/fontes/lexador/dialetos/lexador-guarani.d.ts +9 -9
  260. package/fontes/lexador/dialetos/lexador-guarani.js +113 -113
  261. package/fontes/lexador/dialetos/lexador-portugol-ipt.d.ts +33 -33
  262. package/fontes/lexador/dialetos/lexador-portugol-ipt.js +195 -195
  263. package/fontes/lexador/dialetos/lexador-portugol-studio.d.ts +21 -21
  264. package/fontes/lexador/dialetos/lexador-portugol-studio.js +280 -280
  265. package/fontes/lexador/dialetos/lexador-visualg.d.ts +18 -18
  266. package/fontes/lexador/dialetos/lexador-visualg.js +218 -218
  267. package/fontes/lexador/dialetos/palavras-reservadas/birl.d.ts +46 -46
  268. package/fontes/lexador/dialetos/palavras-reservadas/birl.js +63 -63
  269. package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.d.ts +36 -36
  270. package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.js +41 -41
  271. package/fontes/lexador/dialetos/palavras-reservadas/guarani.d.ts +4 -4
  272. package/fontes/lexador/dialetos/palavras-reservadas/guarani.js +9 -9
  273. package/fontes/lexador/dialetos/palavras-reservadas/index.d.ts +3 -3
  274. package/fontes/lexador/dialetos/palavras-reservadas/index.js +19 -19
  275. package/fontes/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts +6 -6
  276. package/fontes/lexador/dialetos/palavras-reservadas/portugol-ipt.js +11 -11
  277. package/fontes/lexador/dialetos/palavras-reservadas/portugol-studio.d.ts +23 -23
  278. package/fontes/lexador/dialetos/palavras-reservadas/portugol-studio.js +28 -28
  279. package/fontes/lexador/dialetos/palavras-reservadas/rantiaquin.d.ts +2 -2
  280. package/fontes/lexador/dialetos/palavras-reservadas/rantiaquin.js +3 -3
  281. package/fontes/lexador/dialetos/palavras-reservadas/visualg.d.ts +60 -60
  282. package/fontes/lexador/dialetos/palavras-reservadas/visualg.js +65 -65
  283. package/fontes/lexador/dialetos/pragma.d.ts +8 -8
  284. package/fontes/lexador/dialetos/pragma.js +2 -2
  285. package/fontes/lexador/erro-lexador.d.ts +5 -5
  286. package/fontes/lexador/erro-lexador.js +2 -2
  287. package/fontes/lexador/index.d.ts +2 -2
  288. package/fontes/lexador/index.js +18 -18
  289. package/fontes/lexador/lexador-base-linha-unica.d.ts +28 -28
  290. package/fontes/lexador/lexador-base-linha-unica.js +82 -82
  291. package/fontes/lexador/lexador-base.d.ts +41 -41
  292. package/fontes/lexador/lexador-base.js +112 -112
  293. package/fontes/lexador/lexador.d.ts +43 -43
  294. package/fontes/lexador/lexador.js +412 -412
  295. package/fontes/lexador/palavras-reservadas.d.ts +36 -36
  296. package/fontes/lexador/palavras-reservadas.js +41 -41
  297. package/fontes/lexador/simbolo.d.ts +10 -10
  298. package/fontes/lexador/simbolo.js +16 -16
  299. package/fontes/quebras/index.d.ts +10 -10
  300. package/fontes/quebras/index.js +19 -19
  301. package/fontes/tipos-de-simbolos/birl.d.ts +71 -71
  302. package/fontes/tipos-de-simbolos/birl.js +78 -78
  303. package/fontes/tipos-de-simbolos/comum.d.ts +22 -22
  304. package/fontes/tipos-de-simbolos/comum.js +23 -23
  305. package/fontes/tipos-de-simbolos/delegua.d.ts +80 -80
  306. package/fontes/tipos-de-simbolos/delegua.js +81 -81
  307. package/fontes/tipos-de-simbolos/egua-classico.d.ts +77 -77
  308. package/fontes/tipos-de-simbolos/egua-classico.js +78 -78
  309. package/fontes/tipos-de-simbolos/eguap.d.ts +73 -73
  310. package/fontes/tipos-de-simbolos/eguap.js +74 -74
  311. package/fontes/tipos-de-simbolos/guarani.d.ts +14 -14
  312. package/fontes/tipos-de-simbolos/guarani.js +15 -15
  313. package/fontes/tipos-de-simbolos/portugol-ipt.d.ts +28 -28
  314. package/fontes/tipos-de-simbolos/portugol-ipt.js +29 -29
  315. package/fontes/tipos-de-simbolos/portugol-studio.d.ts +53 -53
  316. package/fontes/tipos-de-simbolos/portugol-studio.js +54 -54
  317. package/fontes/tipos-de-simbolos/rantiaquin.d.ts +2 -2
  318. package/fontes/tipos-de-simbolos/rantiaquin.js +3 -3
  319. package/fontes/tipos-de-simbolos/visualg.d.ts +68 -68
  320. package/fontes/tipos-de-simbolos/visualg.js +69 -69
  321. package/fontes/tradutores/dicionarios/dicionario-delegua-javascript.d.ts +2 -2
  322. package/fontes/tradutores/dicionarios/dicionario-delegua-javascript.js +10 -10
  323. package/fontes/tradutores/dicionarios/index.d.ts +1 -1
  324. package/fontes/tradutores/dicionarios/index.js +17 -17
  325. package/fontes/tradutores/index.d.ts +2 -2
  326. package/fontes/tradutores/index.js +18 -18
  327. package/fontes/tradutores/python/python3-lexer.d.ts +152 -152
  328. package/fontes/tradutores/python/python3-lexer.js +1226 -1226
  329. package/fontes/tradutores/python/python3-listener.d.ts +953 -953
  330. package/fontes/tradutores/python/python3-listener.js +2 -2
  331. package/fontes/tradutores/python/python3-parser.d.ts +1330 -1330
  332. package/fontes/tradutores/python/python3-parser.js +11156 -11156
  333. package/fontes/tradutores/python/python3-visitor.d.ts +612 -612
  334. package/fontes/tradutores/python/python3-visitor.js +2 -2
  335. package/fontes/tradutores/tradutor-javascript.d.ts +83 -83
  336. package/fontes/tradutores/tradutor-javascript.js +470 -470
  337. package/fontes/tradutores/tradutor-python.d.ts +1 -1
  338. package/fontes/tradutores/tradutor-python.js +34 -34
  339. package/fontes/tradutores/tradutor-reverso-javascript.d.ts +47 -47
  340. package/fontes/tradutores/tradutor-reverso-javascript.js +339 -342
  341. package/fontes/tradutores/tradutor-reverso-javascript.js.map +1 -1
  342. package/fontes/tradutores/tradutor-visualg.d.ts +38 -0
  343. package/fontes/tradutores/tradutor-visualg.js +485 -0
  344. package/fontes/tradutores/tradutor-visualg.js.map +1 -0
  345. package/index.d.ts +5 -5
  346. package/index.js +23 -23
  347. 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
+ }