@designliquido/delegua 0.14.6 → 0.15.0

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