@designliquido/delegua 0.14.7 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) 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 +27 -22
  11. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js +294 -145
  12. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js.map +1 -1
  13. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +69 -69
  14. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +640 -640
  15. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
  16. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.d.ts +84 -84
  17. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +714 -714
  18. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -1
  19. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts +20 -20
  20. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +149 -149
  21. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.d.ts +49 -33
  22. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.js +419 -218
  23. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.js.map +1 -1
  24. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.d.ts +73 -73
  25. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js +534 -534
  26. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js.map +1 -1
  27. package/fontes/avaliador-sintatico/dialetos/index.d.ts +5 -5
  28. package/fontes/avaliador-sintatico/dialetos/index.js +21 -21
  29. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
  30. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
  31. package/fontes/avaliador-sintatico/index.d.ts +2 -2
  32. package/fontes/avaliador-sintatico/index.js +18 -18
  33. package/fontes/avaliador-sintatico/retornos/index.d.ts +3 -3
  34. package/fontes/avaliador-sintatico/retornos/index.js +19 -19
  35. package/fontes/avaliador-sintatico/retornos/retorno-declaracao.d.ts +3 -3
  36. package/fontes/avaliador-sintatico/retornos/retorno-declaracao.js +2 -2
  37. package/fontes/avaliador-sintatico/retornos/retorno-primario.d.ts +3 -3
  38. package/fontes/avaliador-sintatico/retornos/retorno-primario.js +2 -2
  39. package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.d.ts +2 -2
  40. package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.js +2 -2
  41. package/fontes/bibliotecas/biblioteca-global.d.ts +3 -3
  42. package/fontes/bibliotecas/biblioteca-global.js +315 -315
  43. package/fontes/bibliotecas/dialetos/egua-classico/biblioteca-global.d.ts +1 -1
  44. package/fontes/bibliotecas/dialetos/egua-classico/biblioteca-global.js +230 -230
  45. package/fontes/bibliotecas/dialetos/egua-classico/index.d.ts +2 -2
  46. package/fontes/bibliotecas/dialetos/egua-classico/index.js +32 -32
  47. package/fontes/bibliotecas/dialetos/egua-classico/matematica.d.ts +1 -1
  48. package/fontes/bibliotecas/dialetos/egua-classico/matematica.js +478 -478
  49. package/fontes/bibliotecas/dialetos/egua-classico/tempo.d.ts +1 -1
  50. package/fontes/bibliotecas/dialetos/egua-classico/tempo.js +39 -39
  51. package/fontes/bibliotecas/dialetos/egua-classico/textos.d.ts +8 -8
  52. package/fontes/bibliotecas/dialetos/egua-classico/textos.js +201 -201
  53. package/fontes/bibliotecas/primitivas-texto.d.ts +11 -11
  54. package/fontes/bibliotecas/primitivas-texto.js +12 -12
  55. package/fontes/bibliotecas/primitivas-vetor.d.ts +15 -15
  56. package/fontes/bibliotecas/primitivas-vetor.js +33 -33
  57. package/fontes/construtos/acesso-indice-variavel.d.ts +15 -15
  58. package/fontes/construtos/acesso-indice-variavel.js +20 -20
  59. package/fontes/construtos/acesso-metodo.d.ts +14 -14
  60. package/fontes/construtos/acesso-metodo.js +19 -19
  61. package/fontes/construtos/agrupamento.d.ts +14 -14
  62. package/fontes/construtos/agrupamento.js +19 -19
  63. package/fontes/construtos/atribuicao-sobrescrita.d.ts +11 -11
  64. package/fontes/construtos/atribuicao-sobrescrita.js +16 -16
  65. package/fontes/construtos/atribuir.d.ts +10 -10
  66. package/fontes/construtos/atribuir.js +15 -15
  67. package/fontes/construtos/binario.d.ts +22 -22
  68. package/fontes/construtos/binario.js +27 -27
  69. package/fontes/construtos/chamada.d.ts +13 -13
  70. package/fontes/construtos/chamada.js +36 -36
  71. package/fontes/construtos/construto.d.ts +7 -7
  72. package/fontes/construtos/construto.js +2 -2
  73. package/fontes/construtos/definir-valor.d.ts +11 -11
  74. package/fontes/construtos/definir-valor.js +16 -16
  75. package/fontes/construtos/dicionario.d.ts +10 -10
  76. package/fontes/construtos/dicionario.js +15 -15
  77. package/fontes/construtos/formatacao-escrita.d.ts +16 -16
  78. package/fontes/construtos/formatacao-escrita.js +21 -21
  79. package/fontes/construtos/funcao.d.ts +10 -10
  80. package/fontes/construtos/funcao.js +15 -15
  81. package/fontes/construtos/index.d.ts +19 -19
  82. package/fontes/construtos/index.js +35 -35
  83. package/fontes/construtos/isto.d.ts +9 -9
  84. package/fontes/construtos/isto.js +14 -14
  85. package/fontes/construtos/literal.d.ts +10 -10
  86. package/fontes/construtos/literal.js +14 -14
  87. package/fontes/construtos/logico.d.ts +11 -11
  88. package/fontes/construtos/logico.js +16 -16
  89. package/fontes/construtos/super.d.ts +10 -10
  90. package/fontes/construtos/super.js +15 -15
  91. package/fontes/construtos/unario.d.ts +11 -10
  92. package/fontes/construtos/unario.js +16 -15
  93. package/fontes/construtos/unario.js.map +1 -1
  94. package/fontes/construtos/variavel.d.ts +9 -9
  95. package/fontes/construtos/variavel.js +14 -14
  96. package/fontes/construtos/vetor.d.ts +9 -9
  97. package/fontes/construtos/vetor.js +14 -14
  98. package/fontes/declaracoes/bloco.d.ts +7 -7
  99. package/fontes/declaracoes/bloco.js +14 -14
  100. package/fontes/declaracoes/classe.d.ts +9 -9
  101. package/fontes/declaracoes/classe.js +16 -16
  102. package/fontes/declaracoes/continua.d.ts +6 -6
  103. package/fontes/declaracoes/continua.js +13 -13
  104. package/fontes/declaracoes/declaracao.d.ts +8 -8
  105. package/fontes/declaracoes/declaracao.js +17 -17
  106. package/fontes/declaracoes/enquanto.d.ts +9 -9
  107. package/fontes/declaracoes/enquanto.js +15 -15
  108. package/fontes/declaracoes/escolha.d.ts +14 -14
  109. package/fontes/declaracoes/escolha.js +19 -19
  110. package/fontes/declaracoes/escreva-mesma-linha.d.ts +8 -8
  111. package/fontes/declaracoes/escreva-mesma-linha.js +14 -14
  112. package/fontes/declaracoes/escreva.d.ts +8 -8
  113. package/fontes/declaracoes/escreva.js +14 -14
  114. package/fontes/declaracoes/expressao.d.ts +8 -8
  115. package/fontes/declaracoes/expressao.js +14 -14
  116. package/fontes/declaracoes/fazer.d.ts +8 -8
  117. package/fontes/declaracoes/fazer.js +15 -15
  118. package/fontes/declaracoes/funcao.d.ts +9 -9
  119. package/fontes/declaracoes/funcao.js +15 -15
  120. package/fontes/declaracoes/importar.d.ts +9 -9
  121. package/fontes/declaracoes/importar.js +15 -15
  122. package/fontes/declaracoes/index.d.ts +19 -19
  123. package/fontes/declaracoes/index.js +35 -35
  124. package/fontes/declaracoes/leia.d.ts +12 -12
  125. package/fontes/declaracoes/leia.js +18 -18
  126. package/fontes/declaracoes/para.d.ts +10 -10
  127. package/fontes/declaracoes/para.js +17 -17
  128. package/fontes/declaracoes/retorna.d.ts +8 -8
  129. package/fontes/declaracoes/retorna.js +15 -15
  130. package/fontes/declaracoes/se.d.ts +11 -11
  131. package/fontes/declaracoes/se.js +17 -17
  132. package/fontes/declaracoes/sustar.d.ts +6 -6
  133. package/fontes/declaracoes/sustar.js +13 -13
  134. package/fontes/declaracoes/tente.d.ts +14 -14
  135. package/fontes/declaracoes/tente.js +20 -20
  136. package/fontes/declaracoes/var.d.ts +9 -9
  137. package/fontes/declaracoes/var.js +15 -15
  138. package/fontes/depuracao/cyrb53.d.ts +9 -9
  139. package/fontes/depuracao/cyrb53.js +22 -22
  140. package/fontes/depuracao/index.d.ts +2 -2
  141. package/fontes/depuracao/index.js +23 -23
  142. package/fontes/depuracao/ponto-parada.d.ts +4 -4
  143. package/fontes/depuracao/ponto-parada.js +2 -2
  144. package/fontes/espaco-variaveis.d.ts +19 -19
  145. package/fontes/espaco-variaveis.js +19 -19
  146. package/fontes/estruturas/chamavel.d.ts +5 -5
  147. package/fontes/estruturas/chamavel.js +12 -12
  148. package/fontes/estruturas/classe-padrao.d.ts +17 -17
  149. package/fontes/estruturas/classe-padrao.js +28 -28
  150. package/fontes/estruturas/delegua-classe.d.ts +16 -16
  151. package/fontes/estruturas/delegua-classe.js +38 -38
  152. package/fontes/estruturas/delegua-funcao.d.ts +18 -18
  153. package/fontes/estruturas/delegua-funcao.js +60 -60
  154. package/fontes/estruturas/funcao-padrao.d.ts +12 -12
  155. package/fontes/estruturas/funcao-padrao.js +22 -22
  156. package/fontes/estruturas/index.d.ts +9 -9
  157. package/fontes/estruturas/index.js +25 -25
  158. package/fontes/estruturas/metodo-primitiva.d.ts +17 -17
  159. package/fontes/estruturas/metodo-primitiva.js +26 -26
  160. package/fontes/estruturas/modulo.d.ts +9 -9
  161. package/fontes/estruturas/modulo.js +13 -13
  162. package/fontes/estruturas/objeto-delegua-classe.d.ts +10 -10
  163. package/fontes/estruturas/objeto-delegua-classe.js +26 -26
  164. package/fontes/estruturas/objeto-padrao.d.ts +9 -9
  165. package/fontes/estruturas/objeto-padrao.js +21 -21
  166. package/fontes/excecoes/erro-em-tempo-de-execucao.d.ts +7 -7
  167. package/fontes/excecoes/erro-em-tempo-de-execucao.js +13 -13
  168. package/fontes/excecoes/index.d.ts +1 -1
  169. package/fontes/excecoes/index.js +17 -17
  170. package/fontes/formatadores/delegua.d.ts +18 -18
  171. package/fontes/formatadores/delegua.js +82 -82
  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-com-depuracao.js.map +1 -1
  234. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.d.ts +46 -46
  235. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.js +102 -102
  236. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.js.map +1 -1
  237. package/fontes/interpretador/erro-interpretador.d.ts +8 -8
  238. package/fontes/interpretador/erro-interpretador.js +2 -2
  239. package/fontes/interpretador/index.d.ts +4 -4
  240. package/fontes/interpretador/index.js +20 -20
  241. package/fontes/interpretador/inferenciador.d.ts +1 -1
  242. package/fontes/interpretador/inferenciador.js +31 -31
  243. package/fontes/interpretador/interpretador-base.d.ts +188 -187
  244. package/fontes/interpretador/interpretador-base.js +1000 -972
  245. package/fontes/interpretador/interpretador-base.js.map +1 -1
  246. package/fontes/interpretador/interpretador-com-depuracao.d.ts +199 -199
  247. package/fontes/interpretador/interpretador-com-depuracao.js +516 -516
  248. package/fontes/interpretador/pilha-escopos-execucao.d.ts +38 -38
  249. package/fontes/interpretador/pilha-escopos-execucao.js +158 -158
  250. package/fontes/lexador/dialetos/index.d.ts +6 -6
  251. package/fontes/lexador/dialetos/index.js +22 -22
  252. package/fontes/lexador/dialetos/lexador-birl.d.ts +12 -12
  253. package/fontes/lexador/dialetos/lexador-birl.js +211 -165
  254. package/fontes/lexador/dialetos/lexador-birl.js.map +1 -1
  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 -15
  264. package/fontes/lexador/dialetos/lexador-portugol-studio.js +280 -244
  265. package/fontes/lexador/dialetos/lexador-portugol-studio.js.map +1 -1
  266. package/fontes/lexador/dialetos/lexador-visualg.d.ts +18 -18
  267. package/fontes/lexador/dialetos/lexador-visualg.js +218 -218
  268. package/fontes/lexador/dialetos/palavras-reservadas/birl.d.ts +46 -41
  269. package/fontes/lexador/dialetos/palavras-reservadas/birl.js +63 -58
  270. package/fontes/lexador/dialetos/palavras-reservadas/birl.js.map +1 -1
  271. package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.d.ts +36 -36
  272. package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.js +41 -41
  273. package/fontes/lexador/dialetos/palavras-reservadas/guarani.d.ts +4 -4
  274. package/fontes/lexador/dialetos/palavras-reservadas/guarani.js +9 -9
  275. package/fontes/lexador/dialetos/palavras-reservadas/index.d.ts +3 -3
  276. package/fontes/lexador/dialetos/palavras-reservadas/index.js +19 -19
  277. package/fontes/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts +6 -6
  278. package/fontes/lexador/dialetos/palavras-reservadas/portugol-ipt.js +11 -11
  279. package/fontes/lexador/dialetos/palavras-reservadas/portugol-studio.d.ts +23 -11
  280. package/fontes/lexador/dialetos/palavras-reservadas/portugol-studio.js +28 -16
  281. package/fontes/lexador/dialetos/palavras-reservadas/portugol-studio.js.map +1 -1
  282. package/fontes/lexador/dialetos/palavras-reservadas/rantiaquin.d.ts +2 -2
  283. package/fontes/lexador/dialetos/palavras-reservadas/rantiaquin.js +3 -3
  284. package/fontes/lexador/dialetos/palavras-reservadas/visualg.d.ts +60 -60
  285. package/fontes/lexador/dialetos/palavras-reservadas/visualg.js +65 -65
  286. package/fontes/lexador/dialetos/pragma.d.ts +8 -8
  287. package/fontes/lexador/dialetos/pragma.js +2 -2
  288. package/fontes/lexador/erro-lexador.d.ts +5 -5
  289. package/fontes/lexador/erro-lexador.js +2 -2
  290. package/fontes/lexador/index.d.ts +2 -2
  291. package/fontes/lexador/index.js +18 -18
  292. package/fontes/lexador/lexador-base-linha-unica.d.ts +28 -28
  293. package/fontes/lexador/lexador-base-linha-unica.js +82 -82
  294. package/fontes/lexador/lexador-base.d.ts +41 -41
  295. package/fontes/lexador/lexador-base.js +112 -112
  296. package/fontes/lexador/lexador.d.ts +43 -43
  297. package/fontes/lexador/lexador.js +412 -408
  298. package/fontes/lexador/lexador.js.map +1 -1
  299. package/fontes/lexador/palavras-reservadas.d.ts +36 -36
  300. package/fontes/lexador/palavras-reservadas.js +41 -41
  301. package/fontes/lexador/simbolo.d.ts +10 -10
  302. package/fontes/lexador/simbolo.js +16 -16
  303. package/fontes/quebras/index.d.ts +10 -10
  304. package/fontes/quebras/index.js +19 -19
  305. package/fontes/tipos-de-simbolos/birl.d.ts +71 -57
  306. package/fontes/tipos-de-simbolos/birl.js +78 -61
  307. package/fontes/tipos-de-simbolos/birl.js.map +1 -1
  308. package/fontes/tipos-de-simbolos/comum.d.ts +22 -22
  309. package/fontes/tipos-de-simbolos/comum.js +23 -23
  310. package/fontes/tipos-de-simbolos/delegua.d.ts +80 -80
  311. package/fontes/tipos-de-simbolos/delegua.js +81 -81
  312. package/fontes/tipos-de-simbolos/egua-classico.d.ts +77 -77
  313. package/fontes/tipos-de-simbolos/egua-classico.js +78 -78
  314. package/fontes/tipos-de-simbolos/eguap.d.ts +73 -73
  315. package/fontes/tipos-de-simbolos/eguap.js +74 -74
  316. package/fontes/tipos-de-simbolos/guarani.d.ts +14 -14
  317. package/fontes/tipos-de-simbolos/guarani.js +15 -15
  318. package/fontes/tipos-de-simbolos/portugol-ipt.d.ts +28 -28
  319. package/fontes/tipos-de-simbolos/portugol-ipt.js +29 -29
  320. package/fontes/tipos-de-simbolos/portugol-studio.d.ts +53 -37
  321. package/fontes/tipos-de-simbolos/portugol-studio.js +54 -38
  322. package/fontes/tipos-de-simbolos/portugol-studio.js.map +1 -1
  323. package/fontes/tipos-de-simbolos/rantiaquin.d.ts +2 -2
  324. package/fontes/tipos-de-simbolos/rantiaquin.js +3 -3
  325. package/fontes/tipos-de-simbolos/visualg.d.ts +68 -68
  326. package/fontes/tipos-de-simbolos/visualg.js +69 -69
  327. package/fontes/tradutores/dicionarios/dicionario-delegua-javascript.d.ts +2 -2
  328. package/fontes/tradutores/dicionarios/dicionario-delegua-javascript.js +10 -10
  329. package/fontes/tradutores/dicionarios/index.d.ts +1 -1
  330. package/fontes/tradutores/dicionarios/index.js +17 -17
  331. package/fontes/tradutores/index.d.ts +2 -2
  332. package/fontes/tradutores/index.js +18 -18
  333. package/fontes/tradutores/python/python3-lexer.d.ts +152 -152
  334. package/fontes/tradutores/python/python3-lexer.js +1226 -1226
  335. package/fontes/tradutores/python/python3-listener.d.ts +953 -953
  336. package/fontes/tradutores/python/python3-listener.js +2 -2
  337. package/fontes/tradutores/python/python3-parser.d.ts +1330 -1330
  338. package/fontes/tradutores/python/python3-parser.js +11156 -11156
  339. package/fontes/tradutores/python/python3-visitor.d.ts +612 -612
  340. package/fontes/tradutores/python/python3-visitor.js +2 -2
  341. package/fontes/tradutores/tradutor-javascript.d.ts +83 -83
  342. package/fontes/tradutores/tradutor-javascript.js +470 -470
  343. package/fontes/tradutores/tradutor-javascript.js.map +1 -1
  344. package/fontes/tradutores/tradutor-python.d.ts +1 -1
  345. package/fontes/tradutores/tradutor-python.js +34 -34
  346. package/fontes/tradutores/tradutor-reverso-javascript.d.ts +47 -47
  347. package/fontes/tradutores/tradutor-reverso-javascript.js +342 -342
  348. package/index.d.ts +5 -5
  349. package/index.js +23 -23
  350. package/package.json +88 -88
@@ -1,146 +1,295 @@
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.AvaliadorSintaticoBirl = void 0;
7
- const construtos_1 = require("../../construtos");
8
- const declaracoes_1 = require("../../declaracoes");
9
- const avaliador_sintatico_base_1 = require("../avaliador-sintatico-base");
10
- const birl_1 = __importDefault(require("../../tipos-de-simbolos/birl"));
11
- class AvaliadorSintaticoBirl extends avaliador_sintatico_base_1.AvaliadorSintaticoBase {
12
- validarSegmentoHoraDoShow() {
13
- this.consumir(birl_1.default.HORA, 'Esperado expressão `HORA DO SHOW` para iniciar o programa');
14
- this.consumir(birl_1.default.DO, 'Esperado expressão `HORA DO SHOW` para iniciar o programa');
15
- this.consumir(birl_1.default.SHOW, 'Esperado expressão `HORA DO SHOW` para iniciar o programa');
16
- this.blocos += 1;
17
- }
18
- validarSegmentoBirlFinal() {
19
- this.consumir(birl_1.default.BIRL, 'Esperado expressão `BIRL` para fechamento do programa');
20
- this.blocos -= 1;
21
- }
22
- primario() {
23
- const simboloAtual = this.simbolos[this.atual];
24
- if (this.verificarSeSimboloAtualEIgualA(birl_1.default.NEGATIVO))
25
- return new construtos_1.Literal(this.hashArquivo, Number(simboloAtual.linha), false);
26
- if (this.verificarSeSimboloAtualEIgualA(birl_1.default.POSITIVO))
27
- return new construtos_1.Literal(this.hashArquivo, Number(simboloAtual.linha), true);
28
- /* if (
29
- this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos.IDENTIFICADOR, tiposDeSimbolos.METODO_BIBLIOTECA_GLOBAL)
30
- ) {
31
- return new Variavel(this.hashArquivo, this.simbolos[this.atual - 1]);
32
- } */
33
- if (this.verificarSeSimboloAtualEIgualA(birl_1.default.NUMERO, birl_1.default.FRANGAO, birl_1.default.FRANGÃO, birl_1.default.FRANGO, birl_1.default.TEXTO)) {
34
- const simboloAnterior = this.simbolos[this.atual - 1];
35
- return new construtos_1.Literal(this.hashArquivo, Number(simboloAnterior.linha), simboloAnterior.literal);
36
- }
37
- if (this.verificarSeSimboloAtualEIgualA(birl_1.default.PARENTESE_ESQUERDO)) {
38
- const expressao = this.expressao();
39
- this.consumir(birl_1.default.PARENTESE_DIREITO, "Esperado ')' após a expressão.");
40
- return new construtos_1.Agrupamento(this.hashArquivo, Number(simboloAtual.linha), expressao);
41
- }
42
- }
43
- chamar() {
44
- return this.primario();
45
- }
46
- atribuir() {
47
- const expressao = this.ou();
48
- if (this.verificarSeSimboloAtualEIgualA(birl_1.default.IGUAL)) {
49
- const igual = this.simboloAnterior();
50
- const valor = this.atribuir();
51
- if (expressao instanceof construtos_1.Variavel) {
52
- const simbolo = expressao.simbolo;
53
- return new construtos_1.Atribuir(this.hashArquivo, simbolo, valor);
54
- }
55
- else if (expressao instanceof construtos_1.AcessoMetodo) {
56
- const get = expressao;
57
- return new construtos_1.DefinirValor(this.hashArquivo, 0, get.objeto, get.simbolo, valor);
58
- }
59
- else if (expressao instanceof construtos_1.AcessoIndiceVariavel) {
60
- return new construtos_1.AtribuicaoSobrescrita(this.hashArquivo, 0, expressao.entidadeChamada, expressao.indice, valor);
61
- }
62
- this.erro(igual, 'Tarefa de atribuição inválida');
63
- }
64
- return expressao;
65
- }
66
- blocoEscopo() {
67
- throw new Error('Método não implementado.');
68
- }
69
- declaracaoEnquanto() {
70
- throw new Error('Método não implementado.');
71
- }
72
- declaracaoPara() {
73
- throw new Error('Método não implementado.');
74
- }
75
- declaracaoEscolha() {
76
- throw new Error('Método não implementado.');
77
- }
78
- declaracaoEscreva() {
79
- const primeiroSimbolo = this.consumir(birl_1.default.CE, 'Esperado expressão `CE` para escrever mensagem.');
80
- this.consumir(birl_1.default.QUER, 'Esperado expressão `QUER` após `CE` para escrever mensagem.');
81
- this.consumir(birl_1.default.VER, 'Esperado expressão `VER` após `QUER` para escrever mensagem.');
82
- this.consumir(birl_1.default.ESSA, 'Esperado expressão `ESSA` após `VER` para escrever mensagem.');
83
- this.consumir(birl_1.default.PORRA, 'Esperado expressão `PORRA` após `ESSA` para escrever mensagem.');
84
- this.consumir(birl_1.default.INTERROGACAO, 'Esperado interrogação após `PORRA` para escrever mensagem.');
85
- this.consumir(birl_1.default.PARENTESE_ESQUERDO, 'Esperado parêntese esquerdo após interrogação para escrever mensagem.');
86
- const argumento = this.declaracao();
87
- this.consumir(birl_1.default.PARENTESE_DIREITO, 'Esperado parêntese direito após argumento para escrever mensagem.');
88
- return new declaracoes_1.Escreva(Number(primeiroSimbolo.linha), this.hashArquivo, [argumento]);
89
- }
90
- declaracaoFazer() {
91
- throw new Error('Método não implementado.');
92
- }
93
- declaracaoRetorna() {
94
- const primeiroSimbolo = this.consumir(birl_1.default.BORA, 'Esperado expressão `BORA` para retornar valor.');
95
- this.consumir(birl_1.default.CUMPADE, 'Esperado expressão `CUMPADE` após `BORA` para retornar valor.');
96
- this.consumir(birl_1.default.INTERROGACAO, 'Esperado interrogação após `CUMPADE` para retornar valor.');
97
- const valor = this.declaracao();
98
- return new declaracoes_1.Retorna(primeiroSimbolo, valor);
99
- }
100
- declaracaoSe() {
101
- throw new Error('Método não implementado.');
102
- }
103
- corpoDaFuncao(tipo) {
104
- throw new Error('Método não implementado.');
105
- }
106
- declaracao() {
107
- const simboloAtual = this.simbolos[this.atual];
108
- switch (simboloAtual.tipo) {
109
- case birl_1.default.BORA: // BORA CUMPADE?
110
- return this.declaracaoRetorna();
111
- case birl_1.default.CE: // "CE QUER VER ESSA PORRA?"
112
- return this.declaracaoEscreva();
113
- case birl_1.default.PONTO_E_VIRGULA:
114
- case birl_1.default.QUEBRA_LINHA:
115
- this.avancarEDevolverAnterior();
116
- return null;
117
- default:
118
- return this.expressao();
119
- }
120
- }
121
- analisar(retornoLexador, hashArquivo) {
122
- this.erros = [];
123
- this.blocos = 0;
124
- this.atual = 0;
125
- // 1 validação
126
- /* if (this.blocos > 0) {
127
- throw new ErroAvaliadorSintatico(
128
- null,
129
- 'Quantidade de blocos abertos não corresponde com a quantidade de blocos fechados'
130
- );
131
- } */
132
- this.simbolos = retornoLexador.simbolos;
133
- const declaracoes = [];
134
- this.validarSegmentoHoraDoShow();
135
- while (!this.estaNoFinal() && this.simbolos[this.atual].tipo !== birl_1.default.BIRL) {
136
- declaracoes.push(this.declaracao());
137
- }
138
- this.validarSegmentoBirlFinal();
139
- return {
140
- declaracoes: declaracoes.filter((d) => d),
141
- erros: this.erros,
142
- };
143
- }
144
- }
145
- exports.AvaliadorSintaticoBirl = AvaliadorSintaticoBirl;
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.AvaliadorSintaticoBirl = void 0;
7
+ const construtos_1 = require("../../construtos");
8
+ const declaracoes_1 = require("../../declaracoes");
9
+ const avaliador_sintatico_base_1 = require("../avaliador-sintatico-base");
10
+ const birl_1 = __importDefault(require("../../tipos-de-simbolos/birl"));
11
+ class AvaliadorSintaticoBirl extends avaliador_sintatico_base_1.AvaliadorSintaticoBase {
12
+ validarSegmentoHoraDoShow() {
13
+ this.consumir(birl_1.default.HORA, 'Esperado expressão `HORA DO SHOW` para iniciar o programa');
14
+ this.consumir(birl_1.default.DO, 'Esperado expressão `HORA DO SHOW` para iniciar o programa');
15
+ this.consumir(birl_1.default.SHOW, 'Esperado expressão `HORA DO SHOW` para iniciar o programa');
16
+ this.blocos += 1;
17
+ }
18
+ validarSegmentoBirlFinal() {
19
+ this.consumir(birl_1.default.BIRL, 'Esperado expressão `BIRL` para fechamento do programa');
20
+ this.blocos -= 1;
21
+ }
22
+ primario() {
23
+ const simboloAtual = this.simbolos[this.atual];
24
+ if (this.verificarSeSimboloAtualEIgualA(birl_1.default.NEGATIVO))
25
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloAtual.linha), false);
26
+ if (this.verificarSeSimboloAtualEIgualA(birl_1.default.POSITIVO))
27
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloAtual.linha), true);
28
+ if (this.verificarSeSimboloAtualEIgualA(birl_1.default.IDENTIFICADOR)) {
29
+ return new construtos_1.Variavel(this.hashArquivo, this.simbolos[this.atual - 1]);
30
+ }
31
+ if (this.verificarSeSimboloAtualEIgualA(birl_1.default.NUMERO, birl_1.default.FRANGAO, birl_1.default.FRANGÃO, birl_1.default.FRANGO, birl_1.default.TEXTO)) {
32
+ const simboloAnterior = this.simbolos[this.atual - 1];
33
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloAnterior.linha), simboloAnterior.literal);
34
+ }
35
+ if (this.verificarSeSimboloAtualEIgualA(birl_1.default.PARENTESE_ESQUERDO)) {
36
+ const expressao = this.expressao();
37
+ this.consumir(birl_1.default.PARENTESE_DIREITO, "Esperado ')' após a expressão.");
38
+ return new construtos_1.Agrupamento(this.hashArquivo, Number(simboloAtual.linha), expressao);
39
+ }
40
+ }
41
+ chamar() {
42
+ return this.primario();
43
+ }
44
+ atribuir() {
45
+ const expressao = this.ou();
46
+ if (this.verificarSeSimboloAtualEIgualA(birl_1.default.IGUAL)) {
47
+ const igual = this.simboloAnterior();
48
+ const valor = this.atribuir();
49
+ if (expressao instanceof construtos_1.Variavel) {
50
+ const simbolo = expressao.simbolo;
51
+ return new construtos_1.Atribuir(this.hashArquivo, simbolo, valor);
52
+ }
53
+ else if (expressao instanceof construtos_1.AcessoMetodo) {
54
+ const get = expressao;
55
+ return new construtos_1.DefinirValor(this.hashArquivo, 0, get.objeto, get.simbolo, valor);
56
+ }
57
+ else if (expressao instanceof construtos_1.AcessoIndiceVariavel) {
58
+ return new construtos_1.AtribuicaoSobrescrita(this.hashArquivo, 0, expressao.entidadeChamada, expressao.indice, valor);
59
+ }
60
+ this.erro(igual, 'Tarefa de atribuição inválida');
61
+ }
62
+ return expressao;
63
+ }
64
+ blocoEscopo() {
65
+ throw new Error('Método não implementado.');
66
+ }
67
+ declaracaoEnquanto() {
68
+ this.consumir(birl_1.default.NEGATIVA, 'Esperado expressão `NEGATIVA` para iniciar o bloco `ENQUANTO`.');
69
+ this.consumir(birl_1.default.BAMBAM, 'Esperado expressão `BAMBAM` após `NEGATIVA` para iniciar o bloco `ENQUANTO`.');
70
+ this.consumir(birl_1.default.PARENTESE_ESQUERDO, 'Esperado expressão `(` após `BAMBAM` para iniciar o bloco `ENQUANTO`.');
71
+ const codicao = this.expressao();
72
+ this.consumir(birl_1.default.PARENTESE_DIREITO, 'Esperado expressão `)` após a condição para iniciar o bloco `ENQUANTO`.');
73
+ const declaracoes = [];
74
+ while (!this.verificarSeSimboloAtualEIgualA(birl_1.default.BIRL)) {
75
+ declaracoes.push(this.declaracao());
76
+ }
77
+ this.consumir(birl_1.default.BIRL, 'Esperado expressão `BIRL` para fechar o bloco `ENQUANTO`.');
78
+ return new declaracoes_1.Enquanto(codicao, declaracoes);
79
+ }
80
+ declaracaoExpressao() {
81
+ const expressao = this.expressao();
82
+ this.consumir(birl_1.default.PONTO_E_VIRGULA, "Esperado ';' após expressão.");
83
+ return new declaracoes_1.Expressao(expressao);
84
+ }
85
+ declaracaoPara() {
86
+ const simboloPara = this.consumir(birl_1.default.MAIS, 'Esperado expressão `MAIS` para iniciar o bloco `PARA`.');
87
+ this.consumir(birl_1.default.QUERO, 'Esperado expressão `QUERO` após `MAIS` para iniciar o bloco `PARA`.');
88
+ this.consumir(birl_1.default.MAIS, 'Esperado expressão `MAIS` após `QUERO` para iniciar o bloco `PARA`.');
89
+ this.consumir(birl_1.default.PARENTESE_ESQUERDO, 'Esperado expressão `(` após `MAIS` para iniciar o bloco `PARA`.');
90
+ let inicializador;
91
+ if (this.verificarSeSimboloAtualEIgualA(birl_1.default.PONTO_E_VIRGULA)) {
92
+ inicializador = null;
93
+ }
94
+ else if (this.verificarSeSimboloAtualEIgualA(birl_1.default.MONSTRO)) {
95
+ inicializador = this.declaracaoDeVariavel();
96
+ }
97
+ else {
98
+ inicializador = this.declaracaoExpressao();
99
+ }
100
+ let condicao = null;
101
+ if (!this.verificarTipoSimboloAtual(birl_1.default.PONTO_E_VIRGULA)) {
102
+ condicao = this.expressao();
103
+ }
104
+ let incrementar = null;
105
+ if (!this.verificarTipoSimboloAtual(birl_1.default.PARENTESE_DIREITO)) {
106
+ incrementar = this.expressao();
107
+ }
108
+ this.consumir(birl_1.default.PARENTESE_DIREITO, 'Esperado expressão `)` após a condição para iniciar o bloco `PARA`.');
109
+ const declaracao = [];
110
+ while (!this.verificarSeSimboloAtualEIgualA(birl_1.default.BIRL)) {
111
+ declaracao.push(this.declaracao());
112
+ }
113
+ this.consumir(birl_1.default.BIRL, 'Esperado expressão `BIRL` para fechar o bloco `PARA`.');
114
+ return new declaracoes_1.Para(this.hashArquivo, simboloPara.linha, 0, 0, 0, 0);
115
+ }
116
+ declaracaoEscolha() {
117
+ throw new Error('Método não implementado.');
118
+ }
119
+ declaracaoEscreva() {
120
+ const primeiroSimbolo = this.consumir(birl_1.default.CE, 'Esperado expressão `CE` para escrever mensagem.');
121
+ this.consumir(birl_1.default.QUER, 'Esperado expressão `QUER` após `CE` para escrever mensagem.');
122
+ this.consumir(birl_1.default.VER, 'Esperado expressão `VER` após `QUER` para escrever mensagem.');
123
+ this.consumir(birl_1.default.ESSA, 'Esperado expressão `ESSA` após `VER` para escrever mensagem.');
124
+ this.consumir(birl_1.default.PORRA, 'Esperado expressão `PORRA` após `ESSA` para escrever mensagem.');
125
+ this.consumir(birl_1.default.INTERROGACAO, 'Esperado interrogação após `PORRA` para escrever mensagem.');
126
+ this.consumir(birl_1.default.PARENTESE_ESQUERDO, 'Esperado parêntese esquerdo após interrogação para escrever mensagem.');
127
+ const argumento = this.declaracao();
128
+ this.consumir(birl_1.default.PARENTESE_DIREITO, 'Esperado parêntese direito após argumento para escrever mensagem.');
129
+ return new declaracoes_1.Escreva(Number(primeiroSimbolo.linha), this.hashArquivo, [argumento]);
130
+ }
131
+ declaracaoFazer() {
132
+ throw new Error('Método não implementado.');
133
+ }
134
+ declaracaoCaracteres() {
135
+ if (this.verificarTipoSimboloAtual(birl_1.default.BICEPS)) {
136
+ this.consumir(birl_1.default.BICEPS, '');
137
+ }
138
+ const simboloCaractere = this.consumir(birl_1.default.FRANGO, '');
139
+ const inicializacoes = [];
140
+ do {
141
+ const identificador = this.consumir(birl_1.default.IDENTIFICADOR, "Esperado identificador após palavra reservada 'FRANGO'.");
142
+ inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Literal(this.hashArquivo, Number(simboloCaractere.hashArquivo), 0)));
143
+ // Inicialização de variáveis que podem ter valor definido;
144
+ let valorInicializacao;
145
+ if (this.verificarSeSimboloAtualEIgualA(birl_1.default.IGUAL)) {
146
+ this.consumir(birl_1.default.TEXTO, "Esperado ' para começar o texto.");
147
+ const literalInicializacao = this.consumir(birl_1.default.IDENTIFICADOR, 'Esperado literal de FRANGO após símbolo de igual em declaração de variável.');
148
+ this.consumir(birl_1.default.TEXTO, "Esperado ' para terminar o texto.");
149
+ valorInicializacao = String(literalInicializacao.literal);
150
+ }
151
+ inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Literal(this.hashArquivo, Number(simboloCaractere.linha), valorInicializacao)));
152
+ } while (this.verificarSeSimboloAtualEIgualA(birl_1.default.VIRGULA));
153
+ return inicializacoes;
154
+ }
155
+ declaracaoInteiros() {
156
+ let simboloInteiro;
157
+ if (this.verificarTipoSimboloAtual(birl_1.default.MONSTRO)) {
158
+ simboloInteiro = this.consumir(birl_1.default.MONSTRO, '');
159
+ }
160
+ else if (this.verificarTipoSimboloAtual(birl_1.default.MONSTRINHO)) {
161
+ simboloInteiro = this.consumir(birl_1.default.MONSTRINHO, '');
162
+ }
163
+ else if (this.verificarTipoSimboloAtual(birl_1.default.MONSTRAO)) {
164
+ simboloInteiro = this.consumir(birl_1.default.MONSTRAO, '');
165
+ }
166
+ else {
167
+ throw new Error('Simbolo referente a inteiro não especificado.');
168
+ }
169
+ const inicializacoes = [];
170
+ do {
171
+ const identificador = this.consumir(birl_1.default.IDENTIFICADOR, `Esperado identificador após palavra reservada '${simboloInteiro.lexema}'.`);
172
+ inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Literal(this.hashArquivo, Number(simboloInteiro.linha), 0)));
173
+ // Inicializações de variáveis podem ter valores definidos.
174
+ let valorInicializacao = 0x00;
175
+ if (this.verificarSeSimboloAtualEIgualA(birl_1.default.IGUAL)) {
176
+ const literalInicializacao = this.consumir(birl_1.default.NUMERO, `Esperado literal de ${simboloInteiro.lexema} após símbolo de igual em declaração de variável.`);
177
+ valorInicializacao = Number(literalInicializacao.literal);
178
+ }
179
+ inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Literal(this.hashArquivo, Number(simboloInteiro.linha), valorInicializacao)));
180
+ } while (this.verificarSeSimboloAtualEIgualA(birl_1.default.VIRGULA));
181
+ return inicializacoes;
182
+ }
183
+ declaracaoPontoFlutuante() {
184
+ const simboloFloat = this.consumir(birl_1.default.TRAPEZIO, '');
185
+ if (this.verificarTipoSimboloAtual(birl_1.default.DESCENDENTE)) {
186
+ this.consumir(birl_1.default.DESCENDENTE, '');
187
+ }
188
+ const inicializacoes = [];
189
+ do {
190
+ const identificador = this.consumir(birl_1.default.IDENTIFICADOR, "Esperado identificador após palavra reservada 'TRAPEZIO'.");
191
+ inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Literal(this.hashArquivo, Number(simboloFloat.linha), 0)));
192
+ // Inicializações de variáveis que podem ter valores definidos
193
+ let valorInicializacao = 0x00;
194
+ if (this.verificarSeSimboloAtualEIgualA(birl_1.default.IGUAL)) {
195
+ const literalInicializacao = this.consumir(birl_1.default.NUMERO, 'Esperado literal de TRAPEZIO após símbolo de igual em declaração de variavel.');
196
+ valorInicializacao = parseFloat(literalInicializacao.literal);
197
+ }
198
+ inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Literal(this.hashArquivo, Number(simboloFloat.linha), valorInicializacao)));
199
+ } while (this.verificarSeSimboloAtualEIgualA(birl_1.default.VIRGULA));
200
+ return inicializacoes;
201
+ }
202
+ declaracaoRetorna() {
203
+ const primeiroSimbolo = this.consumir(birl_1.default.BORA, 'Esperado expressão `BORA` para retornar valor.');
204
+ this.consumir(birl_1.default.CUMPADE, 'Esperado expressão `CUMPADE` após `BORA` para retornar valor.');
205
+ // this.consumir(tiposDeSimbolos.INTERROGACAO, 'Esperado interrogação após `CUMPADE` para retornar valor.');
206
+ const valor = this.declaracao();
207
+ return new declaracoes_1.Retorna(primeiroSimbolo, valor);
208
+ }
209
+ declaracaoLeia() {
210
+ const primeiroSimbolo = this.consumir(birl_1.default.QUE, 'Esperado expressão `QUE` para ler valor.');
211
+ this.consumir(birl_1.default.QUE, 'Esperado expressão `QUE` após `QUE` para ler valor.');
212
+ this.consumir(birl_1.default.CE, 'Esperado expressão `CE` após `QUE` para ler valor.');
213
+ this.consumir(birl_1.default.QUER, 'Esperado expressão `QUER` após `CE` para ler valor.');
214
+ this.consumir(birl_1.default.MONSTRAO, 'Esperado expressão `MONSTRAO` após `QUER` para ler valor.');
215
+ this.consumir(birl_1.default.INTERROGACAO, 'Esperado interrogação após `MONSTRAO` para ler valor.');
216
+ this.consumir(birl_1.default.PARENTESE_ESQUERDO, 'Esperado parêntese esquerdo após interrogação para ler valor.');
217
+ const simbolo = this.consumir(birl_1.default.TEXTO, 'Esperado texto após parêntese esquerdo para ler valor.');
218
+ const ponteiro = this.consumir(birl_1.default.IDENTIFICADOR, 'Esperado identificador após texto para ler valor.');
219
+ this.consumir(birl_1.default.PARENTESE_DIREITO, 'Esperado parêntese direito após identificador para ler valor.');
220
+ this.consumir(birl_1.default.PONTO_E_VIRGULA, 'Esperado ponto e vírgula após parêntese direito para ler valor.');
221
+ return new declaracoes_1.Leia(Number(primeiroSimbolo.linha), this.hashArquivo, []);
222
+ }
223
+ declaracaoSe() {
224
+ throw new Error('Método não implementado.');
225
+ }
226
+ corpoDaFuncao(tipo) {
227
+ throw new Error('Método não implementado.');
228
+ }
229
+ declaracao() {
230
+ const simboloAtual = this.simbolos[this.atual];
231
+ switch (simboloAtual.tipo) {
232
+ case birl_1.default.BORA: // BORA CUMPADE?
233
+ return this.declaracaoRetorna();
234
+ case birl_1.default.QUE:
235
+ return this.declaracaoLeia();
236
+ case birl_1.default.ELE:
237
+ // Retornar uma declaração de IF
238
+ case birl_1.default.NEGATIVA:
239
+ // Retornar uma declaração de WHILE
240
+ case birl_1.default.MAIS:
241
+ return this.declaracaoPara();
242
+ // Declaração de inteiros
243
+ case birl_1.default.MONSTRO:
244
+ case birl_1.default.MONSTRINHO:
245
+ case birl_1.default.MONSTRAO:
246
+ return this.declaracaoInteiros();
247
+ case birl_1.default.BICEPS:
248
+ case birl_1.default.FRANGO:
249
+ return this.declaracaoCaracteres();
250
+ case birl_1.default.TRAPEZIO:
251
+ return this.declaracaoPontoFlutuante();
252
+ case birl_1.default.VAMO:
253
+ // Retornar uma declaração de continue
254
+ case birl_1.default.SAI:
255
+ // Retornar uma declaração de break
256
+ case birl_1.default.OH:
257
+ // Retornar uma declaração de funcao
258
+ case birl_1.default.AJUDA:
259
+ // Retornar uma declaração de chamar funcao
260
+ case birl_1.default.CE: // "CE QUER VER ESSA PORRA?"
261
+ return this.declaracaoEscreva();
262
+ case birl_1.default.PONTO_E_VIRGULA:
263
+ case birl_1.default.QUEBRA_LINHA:
264
+ this.avancarEDevolverAnterior();
265
+ return null;
266
+ default:
267
+ return this.expressao();
268
+ }
269
+ }
270
+ analisar(retornoLexador, hashArquivo) {
271
+ this.erros = [];
272
+ this.blocos = 0;
273
+ this.atual = 0;
274
+ // 1 validação
275
+ /* if (this.blocos > 0) {
276
+ throw new ErroAvaliadorSintatico(
277
+ null,
278
+ 'Quantidade de blocos abertos não corresponde com a quantidade de blocos fechados'
279
+ );
280
+ } */
281
+ this.simbolos = retornoLexador.simbolos;
282
+ const declaracoes = [];
283
+ this.validarSegmentoHoraDoShow();
284
+ while (!this.estaNoFinal() && this.simbolos[this.atual].tipo !== birl_1.default.BIRL) {
285
+ declaracoes.push(this.declaracao());
286
+ }
287
+ this.validarSegmentoBirlFinal();
288
+ return {
289
+ declaracoes: declaracoes.filter((d) => d),
290
+ erros: this.erros,
291
+ };
292
+ }
293
+ }
294
+ exports.AvaliadorSintaticoBirl = AvaliadorSintaticoBirl;
146
295
  //# sourceMappingURL=avaliador-sintatico-birl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-birl.js","sourceRoot":"","sources":["../../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico-birl.js","sourceRoot":"","sources":["../../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.ts"],"names":[],"mappings":"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"}
@@ -1,69 +1,69 @@
1
- import { AvaliadorSintaticoInterface, SimboloInterface } from '../../interfaces';
2
- import { Chamada, 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, RetornoPrimario, 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
- */
12
- export declare class AvaliadorSintaticoEguaClassico implements AvaliadorSintaticoInterface {
13
- simbolos: SimboloInterface[];
14
- erros: ErroAvaliadorSintatico[];
15
- hashArquivo: number;
16
- atual: number;
17
- blocos: number;
18
- constructor(simbolos?: SimboloInterface[]);
19
- declaracaoLeia(): Leia;
20
- sincronizar(): void;
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
- simboloNaPosicao(posicao: number): SimboloInterface;
28
- estaNoFinal(): boolean;
29
- avancarEDevolverAnterior(): SimboloInterface;
30
- verificarSeSimboloAtualEIgualA(...argumentos: string[]): boolean;
31
- primario(): RetornoPrimario;
32
- finalizarChamada(entidadeChamada: RetornoPrimario): Chamada;
33
- chamar(): Construto;
34
- unario(): Construto;
35
- exponenciacao(): Construto;
36
- multiplicar(): Construto;
37
- adicaoOuSubtracao: any;
38
- adicionar(): Construto;
39
- bitFill(): Construto;
40
- bitE(): Construto;
41
- bitOu(): Construto;
42
- comparar(): Construto;
43
- comparacaoIgualdade(): Construto;
44
- em(): Construto;
45
- e(): Construto;
46
- ou(): Construto;
47
- atribuir(): Construto;
48
- expressao(): Construto;
49
- declaracaoEscreva(): Escreva;
50
- declaracaoExpressao(): Expressao;
51
- blocoEscopo(): RetornoDeclaracao[];
52
- declaracaoSe(): Se;
53
- declaracaoEnquanto(): Enquanto;
54
- declaracaoPara(): Para;
55
- declaracaoSustar(): Sustar;
56
- declaracaoContinua(): Continua;
57
- declaracaoRetorna(): Retorna;
58
- declaracaoEscolha(): Escolha;
59
- declaracaoImportar(): Importar;
60
- declaracaoTente(): Tente;
61
- declaracaoFazer(): Fazer;
62
- resolverDeclaracao(): RetornoResolverDeclaracao;
63
- declaracaoDeVariavel(): Var;
64
- funcao(kind: string): FuncaoDeclaracao;
65
- corpoDaFuncao(kind: string): FuncaoConstruto;
66
- declaracaoDeClasse(): Classe;
67
- declaracao(): RetornoDeclaracao;
68
- analisar(retornoLexador: RetornoLexador, hashArquivo?: number): RetornoAvaliadorSintatico;
69
- }
1
+ import { AvaliadorSintaticoInterface, SimboloInterface } from '../../interfaces';
2
+ import { Chamada, 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, RetornoPrimario, 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
+ */
12
+ export declare class AvaliadorSintaticoEguaClassico implements AvaliadorSintaticoInterface {
13
+ simbolos: SimboloInterface[];
14
+ erros: ErroAvaliadorSintatico[];
15
+ hashArquivo: number;
16
+ atual: number;
17
+ blocos: number;
18
+ constructor(simbolos?: SimboloInterface[]);
19
+ declaracaoLeia(): Leia;
20
+ sincronizar(): void;
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
+ simboloNaPosicao(posicao: number): SimboloInterface;
28
+ estaNoFinal(): boolean;
29
+ avancarEDevolverAnterior(): SimboloInterface;
30
+ verificarSeSimboloAtualEIgualA(...argumentos: string[]): boolean;
31
+ primario(): RetornoPrimario;
32
+ finalizarChamada(entidadeChamada: RetornoPrimario): Chamada;
33
+ chamar(): Construto;
34
+ unario(): Construto;
35
+ exponenciacao(): Construto;
36
+ multiplicar(): Construto;
37
+ adicaoOuSubtracao: any;
38
+ adicionar(): Construto;
39
+ bitFill(): Construto;
40
+ bitE(): Construto;
41
+ bitOu(): Construto;
42
+ comparar(): Construto;
43
+ comparacaoIgualdade(): Construto;
44
+ em(): Construto;
45
+ e(): Construto;
46
+ ou(): Construto;
47
+ atribuir(): Construto;
48
+ expressao(): Construto;
49
+ declaracaoEscreva(): Escreva;
50
+ declaracaoExpressao(): Expressao;
51
+ blocoEscopo(): RetornoDeclaracao[];
52
+ declaracaoSe(): Se;
53
+ declaracaoEnquanto(): Enquanto;
54
+ declaracaoPara(): Para;
55
+ declaracaoSustar(): Sustar;
56
+ declaracaoContinua(): Continua;
57
+ declaracaoRetorna(): Retorna;
58
+ declaracaoEscolha(): Escolha;
59
+ declaracaoImportar(): Importar;
60
+ declaracaoTente(): Tente;
61
+ declaracaoFazer(): Fazer;
62
+ resolverDeclaracao(): RetornoResolverDeclaracao;
63
+ declaracaoDeVariavel(): Var;
64
+ funcao(kind: string): FuncaoDeclaracao;
65
+ corpoDaFuncao(kind: string): FuncaoConstruto;
66
+ declaracaoDeClasse(): Classe;
67
+ declaracao(): RetornoDeclaracao;
68
+ analisar(retornoLexador: RetornoLexador, hashArquivo?: number): RetornoAvaliadorSintatico;
69
+ }