@designliquido/delegua 0.36.0 → 0.36.2

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 (491) hide show
  1. package/analisador-semantico/analisador-semantico-base.d.ts +69 -69
  2. package/analisador-semantico/analisador-semantico-base.js +180 -180
  3. package/analisador-semantico/analisador-semantico.d.ts +59 -59
  4. package/analisador-semantico/analisador-semantico.js +442 -442
  5. package/analisador-semantico/analisador-semantico.js.map +1 -1
  6. package/analisador-semantico/index.d.ts +3 -3
  7. package/analisador-semantico/index.js +19 -19
  8. package/analisador-semantico/pilha-variaveis.d.ts +20 -20
  9. package/analisador-semantico/pilha-variaveis.js +25 -25
  10. package/avaliador-sintatico/avaliador-sintatico-base.d.ts +69 -69
  11. package/avaliador-sintatico/avaliador-sintatico-base.js +223 -223
  12. package/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  13. package/avaliador-sintatico/avaliador-sintatico.d.ts +126 -126
  14. package/avaliador-sintatico/avaliador-sintatico.js +1093 -1093
  15. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  16. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +73 -73
  17. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +648 -648
  18. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
  19. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts +21 -21
  20. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +149 -149
  21. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +1 -1
  22. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +87 -87
  23. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +770 -770
  24. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  25. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.d.ts +34 -34
  26. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js +168 -168
  27. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +1 -1
  28. package/avaliador-sintatico/dialetos/index.d.ts +3 -3
  29. package/avaliador-sintatico/dialetos/index.js +19 -19
  30. package/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
  31. package/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
  32. package/avaliador-sintatico/index.d.ts +6 -6
  33. package/avaliador-sintatico/index.js +22 -22
  34. package/avaliador-sintatico/micro-avaliador-sintatico-base.d.ts +27 -27
  35. package/avaliador-sintatico/micro-avaliador-sintatico-base.js +116 -116
  36. package/avaliador-sintatico/micro-avaliador-sintatico-base.js.map +1 -1
  37. package/avaliador-sintatico/micro-avaliador-sintatico.d.ts +33 -33
  38. package/avaliador-sintatico/micro-avaliador-sintatico.js +287 -287
  39. package/avaliador-sintatico/micro-avaliador-sintatico.js.map +1 -1
  40. package/avaliador-sintatico/retornos/index.d.ts +3 -3
  41. package/avaliador-sintatico/retornos/index.js +19 -19
  42. package/avaliador-sintatico/retornos/retorno-declaracao.d.ts +3 -3
  43. package/avaliador-sintatico/retornos/retorno-declaracao.js +2 -2
  44. package/avaliador-sintatico/retornos/retorno-primario.d.ts +3 -3
  45. package/avaliador-sintatico/retornos/retorno-primario.js +2 -2
  46. package/avaliador-sintatico/retornos/retorno-resolver-declaracao.d.ts +2 -2
  47. package/avaliador-sintatico/retornos/retorno-resolver-declaracao.js +2 -2
  48. package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.d.ts +59 -59
  49. package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.js +150 -150
  50. package/bibliotecas/biblioteca-global.d.ts +157 -157
  51. package/bibliotecas/biblioteca-global.js +497 -498
  52. package/bibliotecas/biblioteca-global.js.map +1 -1
  53. package/bibliotecas/dialetos/egua-classico/biblioteca-global.d.ts +1 -1
  54. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js +236 -236
  55. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js.map +1 -1
  56. package/bibliotecas/dialetos/egua-classico/index.d.ts +2 -2
  57. package/bibliotecas/dialetos/egua-classico/index.js +32 -32
  58. package/bibliotecas/dialetos/egua-classico/index.js.map +1 -1
  59. package/bibliotecas/dialetos/egua-classico/matematica.d.ts +1 -1
  60. package/bibliotecas/dialetos/egua-classico/matematica.js +541 -541
  61. package/bibliotecas/dialetos/egua-classico/matematica.js.map +1 -1
  62. package/bibliotecas/dialetos/egua-classico/tempo.d.ts +1 -1
  63. package/bibliotecas/dialetos/egua-classico/tempo.js +39 -39
  64. package/bibliotecas/dialetos/egua-classico/tempo.js.map +1 -1
  65. package/bibliotecas/dialetos/egua-classico/textos.d.ts +8 -8
  66. package/bibliotecas/dialetos/egua-classico/textos.js +201 -201
  67. package/bibliotecas/dialetos/egua-classico/textos.js.map +1 -1
  68. package/bibliotecas/primitivas-dicionario.d.ts +6 -6
  69. package/bibliotecas/primitivas-dicionario.d.ts.map +1 -1
  70. package/bibliotecas/primitivas-dicionario.js +10 -10
  71. package/bibliotecas/primitivas-numero.d.ts +6 -6
  72. package/bibliotecas/primitivas-numero.d.ts.map +1 -1
  73. package/bibliotecas/primitivas-numero.js +10 -10
  74. package/bibliotecas/primitivas-texto.d.ts +17 -17
  75. package/bibliotecas/primitivas-texto.d.ts.map +1 -1
  76. package/bibliotecas/primitivas-texto.js +22 -22
  77. package/bibliotecas/primitivas-texto.js.map +1 -1
  78. package/bibliotecas/primitivas-vetor.d.ts +21 -21
  79. package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
  80. package/bibliotecas/primitivas-vetor.js +90 -90
  81. package/bibliotecas/primitivas-vetor.js.map +1 -1
  82. package/bin/package.json +5 -4
  83. package/construtos/acesso-elemento-matriz.d.ts +12 -12
  84. package/construtos/acesso-elemento-matriz.js +17 -17
  85. package/construtos/acesso-indice-variavel.d.ts +15 -15
  86. package/construtos/acesso-indice-variavel.js +20 -20
  87. package/construtos/acesso-metodo-ou-propriedade.d.ts +14 -14
  88. package/construtos/acesso-metodo-ou-propriedade.js +19 -19
  89. package/construtos/agrupamento.d.ts +14 -14
  90. package/construtos/agrupamento.js +19 -19
  91. package/construtos/atribuicao-por-indice.d.ts +11 -11
  92. package/construtos/atribuicao-por-indice.js +16 -16
  93. package/construtos/atribuicao-por-indices-matriz.d.ts +12 -12
  94. package/construtos/atribuicao-por-indices-matriz.js +17 -17
  95. package/construtos/atribuir.d.ts +15 -15
  96. package/construtos/atribuir.js +24 -24
  97. package/construtos/atribuir.js.map +1 -1
  98. package/construtos/binario.d.ts +33 -33
  99. package/construtos/binario.js +38 -38
  100. package/construtos/chamada.d.ts +15 -15
  101. package/construtos/chamada.js +21 -21
  102. package/construtos/comentario.d.ts +15 -15
  103. package/construtos/comentario.js +20 -20
  104. package/construtos/constante.d.ts +12 -12
  105. package/construtos/constante.js +17 -17
  106. package/construtos/construto.d.ts +7 -7
  107. package/construtos/construto.js +2 -2
  108. package/construtos/decorador.d.ts +14 -14
  109. package/construtos/decorador.js +19 -19
  110. package/construtos/definir-valor.d.ts +11 -11
  111. package/construtos/definir-valor.js +16 -16
  112. package/construtos/dicionario.d.ts +10 -10
  113. package/construtos/dicionario.js +15 -15
  114. package/construtos/expressao-regular.d.ts +10 -10
  115. package/construtos/expressao-regular.js +15 -15
  116. package/construtos/fim-para.d.ts +22 -22
  117. package/construtos/fim-para.js +25 -25
  118. package/construtos/formatacao-escrita.d.ts +16 -16
  119. package/construtos/formatacao-escrita.js +21 -21
  120. package/construtos/funcao.d.ts +12 -12
  121. package/construtos/funcao.js +16 -16
  122. package/construtos/index.d.ts +29 -29
  123. package/construtos/index.js +45 -45
  124. package/construtos/isto.d.ts +9 -9
  125. package/construtos/isto.js +14 -14
  126. package/construtos/literal.d.ts +10 -10
  127. package/construtos/literal.js +14 -14
  128. package/construtos/logico.d.ts +11 -11
  129. package/construtos/logico.js +16 -16
  130. package/construtos/qual-tipo.d.ts +11 -11
  131. package/construtos/qual-tipo.js +16 -16
  132. package/construtos/super.d.ts +10 -10
  133. package/construtos/super.js +15 -15
  134. package/construtos/tipo-de.d.ts +10 -10
  135. package/construtos/tipo-de.js +15 -15
  136. package/construtos/tuplas/deceto.d.ts +18 -18
  137. package/construtos/tuplas/deceto.js +32 -32
  138. package/construtos/tuplas/dupla.d.ts +6 -6
  139. package/construtos/tuplas/dupla.js +12 -12
  140. package/construtos/tuplas/index.d.ts +13 -13
  141. package/construtos/tuplas/index.js +67 -67
  142. package/construtos/tuplas/index.js.map +1 -1
  143. package/construtos/tuplas/noneto.d.ts +15 -15
  144. package/construtos/tuplas/noneto.js +25 -25
  145. package/construtos/tuplas/octeto.d.ts +14 -14
  146. package/construtos/tuplas/octeto.js +24 -24
  147. package/construtos/tuplas/quarteto.d.ts +8 -8
  148. package/construtos/tuplas/quarteto.js +14 -14
  149. package/construtos/tuplas/quinteto.d.ts +9 -9
  150. package/construtos/tuplas/quinteto.js +15 -15
  151. package/construtos/tuplas/septeto.d.ts +13 -13
  152. package/construtos/tuplas/septeto.js +23 -23
  153. package/construtos/tuplas/sexteto.d.ts +10 -10
  154. package/construtos/tuplas/sexteto.js +16 -16
  155. package/construtos/tuplas/trio.d.ts +7 -7
  156. package/construtos/tuplas/trio.js +13 -13
  157. package/construtos/tuplas/tupla.d.ts +8 -8
  158. package/construtos/tuplas/tupla.js +9 -9
  159. package/construtos/unario.d.ts +11 -11
  160. package/construtos/unario.js +16 -16
  161. package/construtos/variavel.d.ts +9 -9
  162. package/construtos/variavel.js +14 -14
  163. package/construtos/vetor.d.ts +11 -10
  164. package/construtos/vetor.d.ts.map +1 -1
  165. package/construtos/vetor.js +21 -20
  166. package/construtos/vetor.js.map +1 -1
  167. package/declaracoes/aleatorio.d.ts +15 -15
  168. package/declaracoes/aleatorio.js +15 -15
  169. package/declaracoes/bloco.d.ts +7 -7
  170. package/declaracoes/bloco.js +14 -14
  171. package/declaracoes/cabecalho-programa.d.ts +7 -7
  172. package/declaracoes/cabecalho-programa.js +14 -14
  173. package/declaracoes/classe.d.ts +14 -14
  174. package/declaracoes/classe.js +18 -18
  175. package/declaracoes/const-multiplo.d.ts +14 -14
  176. package/declaracoes/const-multiplo.js +19 -19
  177. package/declaracoes/const.d.ts +14 -14
  178. package/declaracoes/const.js +19 -19
  179. package/declaracoes/continua.d.ts +6 -6
  180. package/declaracoes/continua.js +13 -13
  181. package/declaracoes/declaracao.d.ts +8 -8
  182. package/declaracoes/declaracao.js +17 -17
  183. package/declaracoes/enquanto.d.ts +10 -10
  184. package/declaracoes/enquanto.js +15 -15
  185. package/declaracoes/escolha.d.ts +14 -14
  186. package/declaracoes/escolha.js +19 -19
  187. package/declaracoes/escreva-mesma-linha.d.ts +8 -8
  188. package/declaracoes/escreva-mesma-linha.js +14 -14
  189. package/declaracoes/escreva.d.ts +8 -8
  190. package/declaracoes/escreva.js +14 -14
  191. package/declaracoes/expressao.d.ts +8 -8
  192. package/declaracoes/expressao.js +14 -14
  193. package/declaracoes/falhar.d.ts +8 -8
  194. package/declaracoes/falhar.js +15 -15
  195. package/declaracoes/fazer.d.ts +10 -10
  196. package/declaracoes/fazer.js +15 -15
  197. package/declaracoes/funcao.d.ts +11 -11
  198. package/declaracoes/funcao.js +17 -17
  199. package/declaracoes/importar.d.ts +9 -9
  200. package/declaracoes/importar.js +15 -15
  201. package/declaracoes/index.d.ts +31 -31
  202. package/declaracoes/index.js +47 -47
  203. package/declaracoes/inicio-algoritmo.d.ts +6 -6
  204. package/declaracoes/inicio-algoritmo.js +13 -13
  205. package/declaracoes/leia-multiplo.d.ts +14 -14
  206. package/declaracoes/leia-multiplo.js +21 -21
  207. package/declaracoes/leia.d.ts +17 -17
  208. package/declaracoes/leia.js +21 -21
  209. package/declaracoes/para-cada.d.ts +11 -11
  210. package/declaracoes/para-cada.js +17 -17
  211. package/declaracoes/para.d.ts +19 -19
  212. package/declaracoes/para.js +24 -24
  213. package/declaracoes/propriedade-classe.d.ts +10 -10
  214. package/declaracoes/propriedade-classe.js +16 -16
  215. package/declaracoes/retorna.d.ts +8 -8
  216. package/declaracoes/retorna.js +15 -15
  217. package/declaracoes/se.d.ts +11 -11
  218. package/declaracoes/se.js +17 -17
  219. package/declaracoes/sustar.d.ts +6 -6
  220. package/declaracoes/sustar.js +13 -13
  221. package/declaracoes/tendo-como.d.ts +16 -16
  222. package/declaracoes/tendo-como.js +21 -21
  223. package/declaracoes/tente.d.ts +14 -14
  224. package/declaracoes/tente.js +20 -20
  225. package/declaracoes/var-multiplo.d.ts +15 -15
  226. package/declaracoes/var-multiplo.js +20 -20
  227. package/declaracoes/var.d.ts +16 -16
  228. package/declaracoes/var.js +21 -21
  229. package/depuracao/cyrb53.d.ts +9 -9
  230. package/depuracao/cyrb53.js +22 -22
  231. package/depuracao/cyrb53.js.map +1 -1
  232. package/depuracao/index.d.ts +2 -2
  233. package/depuracao/index.js +23 -23
  234. package/depuracao/ponto-parada.d.ts +4 -4
  235. package/depuracao/ponto-parada.js +2 -2
  236. package/espaco-variaveis.d.ts +19 -19
  237. package/espaco-variaveis.js +19 -19
  238. package/estruturas/chamavel.d.ts +7 -7
  239. package/estruturas/chamavel.js +12 -12
  240. package/estruturas/classe-padrao.d.ts +31 -31
  241. package/estruturas/classe-padrao.js +39 -39
  242. package/estruturas/delegua-funcao.d.ts +29 -29
  243. package/estruturas/delegua-funcao.js +141 -141
  244. package/estruturas/delegua-funcao.js.map +1 -1
  245. package/estruturas/descritor-tipo-classe.d.ts +37 -37
  246. package/estruturas/descritor-tipo-classe.js +79 -79
  247. package/estruturas/descritor-tipo-classe.js.map +1 -1
  248. package/estruturas/funcao-padrao.d.ts +23 -23
  249. package/estruturas/funcao-padrao.js +34 -34
  250. package/estruturas/index.d.ts +9 -9
  251. package/estruturas/index.js +25 -25
  252. package/estruturas/metodo-primitiva.d.ts +28 -28
  253. package/estruturas/metodo-primitiva.js +40 -40
  254. package/estruturas/modulo.d.ts +18 -18
  255. package/estruturas/modulo.js +24 -24
  256. package/estruturas/objeto-delegua-classe.d.ts +26 -26
  257. package/estruturas/objeto-delegua-classe.js +53 -53
  258. package/estruturas/objeto-delegua-classe.js.map +1 -1
  259. package/estruturas/objeto-padrao.d.ts +18 -18
  260. package/estruturas/objeto-padrao.js +32 -32
  261. package/estruturas/objeto-padrao.js.map +1 -1
  262. package/excecoes/erro-em-tempo-de-execucao.d.ts +7 -7
  263. package/excecoes/erro-em-tempo-de-execucao.js +13 -13
  264. package/excecoes/index.d.ts +1 -1
  265. package/excecoes/index.js +17 -17
  266. package/formatadores/formatador-delegua.d.ts +79 -79
  267. package/formatadores/formatador-delegua.js +676 -676
  268. package/formatadores/formatador-delegua.js.map +1 -1
  269. package/formatadores/index.d.ts +1 -1
  270. package/formatadores/index.js +17 -17
  271. package/geracao-identificadores/index.d.ts +1 -1
  272. package/geracao-identificadores/index.js +22 -23
  273. package/geracao-identificadores/index.js.map +1 -1
  274. package/index.d.ts +9 -9
  275. package/index.js +27 -27
  276. package/interfaces/analisador-semantico-interface.d.ts +6 -6
  277. package/interfaces/analisador-semantico-interface.js +2 -2
  278. package/interfaces/avaliador-sintatico-interface.d.ts +55 -55
  279. package/interfaces/avaliador-sintatico-interface.js +2 -2
  280. package/interfaces/construtos/index.d.ts +4 -4
  281. package/interfaces/construtos/index.js +2 -2
  282. package/interfaces/erros/diagnostico-analisador-semantico.d.ts +14 -14
  283. package/interfaces/erros/diagnostico-analisador-semantico.js +10 -10
  284. package/interfaces/erros/diagnostico-analisador-semantico.js.map +1 -1
  285. package/interfaces/erros/erro-interpretador.d.ts +8 -8
  286. package/interfaces/erros/erro-interpretador.js +2 -2
  287. package/interfaces/erros/index.d.ts +1 -1
  288. package/interfaces/erros/index.js +17 -17
  289. package/interfaces/escopo-execucao.d.ts +12 -12
  290. package/interfaces/escopo-execucao.js +2 -2
  291. package/interfaces/formatador-comum-interface.d.ts +11 -11
  292. package/interfaces/formatador-comum-interface.js +2 -2
  293. package/interfaces/funcao-hipotetica-interface.d.ts +3 -3
  294. package/interfaces/funcao-hipotetica-interface.js +2 -2
  295. package/interfaces/index.d.ts +16 -16
  296. package/interfaces/index.js +32 -32
  297. package/interfaces/interpretador-com-depuracao-interface.d.ts +17 -17
  298. package/interfaces/interpretador-com-depuracao-interface.js +2 -2
  299. package/interfaces/interpretador-interface-potigol.d.ts +5 -5
  300. package/interfaces/interpretador-interface-potigol.js +2 -2
  301. package/interfaces/interpretador-interface.d.ts +20 -20
  302. package/interfaces/interpretador-interface.js +2 -2
  303. package/interfaces/lexador-interface.d.ts +23 -23
  304. package/interfaces/lexador-interface.js +2 -2
  305. package/interfaces/parametro-interface.d.ts +15 -15
  306. package/interfaces/parametro-interface.js +2 -2
  307. package/interfaces/pilha-escopos-execucao-interface.d.ts +26 -26
  308. package/interfaces/pilha-escopos-execucao-interface.js +2 -2
  309. package/interfaces/pilha-interface.d.ts +7 -7
  310. package/interfaces/pilha-interface.js +2 -2
  311. package/interfaces/resolvedor-interface.d.ts +41 -41
  312. package/interfaces/resolvedor-interface.js +2 -2
  313. package/interfaces/retornos/index.d.ts +4 -4
  314. package/interfaces/retornos/index.js +20 -20
  315. package/interfaces/retornos/retorno-analisador-semantico.d.ts +4 -4
  316. package/interfaces/retornos/retorno-analisador-semantico.js +2 -2
  317. package/interfaces/retornos/retorno-avaliador-sintatico.d.ts +5 -5
  318. package/interfaces/retornos/retorno-avaliador-sintatico.js +2 -2
  319. package/interfaces/retornos/retorno-execucao-interface.d.ts +5 -5
  320. package/interfaces/retornos/retorno-execucao-interface.js +2 -2
  321. package/interfaces/retornos/retorno-interpretador.d.ts +5 -5
  322. package/interfaces/retornos/retorno-interpretador.js +2 -2
  323. package/interfaces/retornos/retorno-lexador.d.ts +9 -9
  324. package/interfaces/retornos/retorno-lexador.js +2 -2
  325. package/interfaces/simbolo-interface.d.ts +7 -7
  326. package/interfaces/simbolo-interface.js +2 -2
  327. package/interfaces/tradutor-interface.d.ts +3 -3
  328. package/interfaces/tradutor-interface.js +2 -2
  329. package/interfaces/variavel-hipotetica-interface.d.ts +8 -8
  330. package/interfaces/variavel-hipotetica-interface.js +2 -2
  331. package/interfaces/variavel-interface.d.ts +8 -8
  332. package/interfaces/variavel-interface.js +2 -2
  333. package/interfaces/visitante-comum-interface.d.ts +58 -58
  334. package/interfaces/visitante-comum-interface.js +2 -2
  335. package/interpretador/argumento-interface.d.ts +4 -4
  336. package/interpretador/argumento-interface.js +2 -2
  337. package/interpretador/comum.d.ts +2 -2
  338. package/interpretador/comum.js +51 -52
  339. package/interpretador/comum.js.map +1 -1
  340. package/interpretador/dialetos/egua-classico/index.d.ts +1 -1
  341. package/interpretador/dialetos/egua-classico/index.js +17 -17
  342. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +119 -119
  343. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +815 -815
  344. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  345. package/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.d.ts +5 -5
  346. package/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.js +11 -11
  347. package/interpretador/dialetos/egua-classico/resolvedor/index.d.ts +3 -3
  348. package/interpretador/dialetos/egua-classico/resolvedor/index.js +19 -19
  349. package/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.d.ts +9 -9
  350. package/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.js +25 -25
  351. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +106 -106
  352. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +441 -441
  353. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  354. package/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.d.ts +6 -6
  355. package/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.js +2 -2
  356. package/interpretador/dialetos/index.d.ts +2 -2
  357. package/interpretador/dialetos/index.js +18 -18
  358. package/interpretador/dialetos/portugol-ipt/index.d.ts +1 -1
  359. package/interpretador/dialetos/portugol-ipt/index.js +17 -17
  360. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +133 -133
  361. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +501 -501
  362. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  363. package/interpretador/index.d.ts +3 -3
  364. package/interpretador/index.js +19 -19
  365. package/interpretador/inferenciador.d.ts +15 -15
  366. package/interpretador/inferenciador.d.ts.map +1 -1
  367. package/interpretador/inferenciador.js +80 -80
  368. package/interpretador/inferenciador.js.map +1 -1
  369. package/interpretador/interpretador-base.d.ts +268 -268
  370. package/interpretador/interpretador-base.js +1399 -1399
  371. package/interpretador/interpretador-base.js.map +1 -1
  372. package/interpretador/interpretador-com-depuracao.d.ts +190 -190
  373. package/interpretador/interpretador-com-depuracao.js +568 -568
  374. package/interpretador/interpretador-com-depuracao.js.map +1 -1
  375. package/interpretador/pilha-escopos-execucao.d.ts +39 -39
  376. package/interpretador/pilha-escopos-execucao.js +243 -243
  377. package/interpretador/pilha-escopos-execucao.js.map +1 -1
  378. package/lexador/dialetos/index.d.ts +4 -4
  379. package/lexador/dialetos/index.js +20 -20
  380. package/lexador/dialetos/lexador-egua-classico.d.ts +36 -36
  381. package/lexador/dialetos/lexador-egua-classico.js +286 -286
  382. package/lexador/dialetos/lexador-egua-classico.js.map +1 -1
  383. package/lexador/dialetos/lexador-guarani.d.ts +10 -10
  384. package/lexador/dialetos/lexador-guarani.js +113 -113
  385. package/lexador/dialetos/lexador-guarani.js.map +1 -1
  386. package/lexador/dialetos/lexador-pitugues.d.ts +51 -51
  387. package/lexador/dialetos/lexador-pitugues.js +398 -398
  388. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  389. package/lexador/dialetos/lexador-portugol-ipt.d.ts +33 -33
  390. package/lexador/dialetos/lexador-portugol-ipt.js +237 -237
  391. package/lexador/dialetos/lexador-portugol-ipt.js.map +1 -1
  392. package/lexador/dialetos/palavras-reservadas/egua-classico.d.ts +32 -32
  393. package/lexador/dialetos/palavras-reservadas/egua-classico.js +39 -39
  394. package/lexador/dialetos/palavras-reservadas/guarani.d.ts +3 -3
  395. package/lexador/dialetos/palavras-reservadas/guarani.js +10 -10
  396. package/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts +13 -13
  397. package/lexador/dialetos/palavras-reservadas/portugol-ipt.js +20 -20
  398. package/lexador/dialetos/palavras-reservadas/rantiaquin.d.ts +1 -1
  399. package/lexador/dialetos/palavras-reservadas/rantiaquin.js +4 -4
  400. package/lexador/dialetos/pragma.d.ts +8 -8
  401. package/lexador/dialetos/pragma.js +2 -2
  402. package/lexador/erro-lexador.d.ts +5 -5
  403. package/lexador/erro-lexador.js +2 -2
  404. package/lexador/index.d.ts +4 -4
  405. package/lexador/index.js +20 -20
  406. package/lexador/lexador-base-linha-unica.d.ts +28 -28
  407. package/lexador/lexador-base-linha-unica.js +82 -82
  408. package/lexador/lexador-base-linha-unica.js.map +1 -1
  409. package/lexador/lexador-base.d.ts +41 -41
  410. package/lexador/lexador-base.js +112 -112
  411. package/lexador/lexador-base.js.map +1 -1
  412. package/lexador/lexador.d.ts +43 -43
  413. package/lexador/lexador.js +440 -440
  414. package/lexador/lexador.js.map +1 -1
  415. package/lexador/micro-lexador.d.ts +29 -29
  416. package/lexador/micro-lexador.js +207 -207
  417. package/lexador/micro-lexador.js.map +1 -1
  418. package/lexador/palavras-reservadas.d.ts +54 -54
  419. package/lexador/palavras-reservadas.js +61 -61
  420. package/lexador/simbolo.d.ts +10 -10
  421. package/lexador/simbolo.js +16 -16
  422. package/lexador/traducao/lexador-javascript.d.ts +28 -28
  423. package/lexador/traducao/lexador-javascript.js +58 -58
  424. package/package.json +5 -4
  425. package/quebras/index.d.ts +10 -10
  426. package/quebras/index.js +19 -19
  427. package/tipo-dados-elementar.d.ts +1 -1
  428. package/tipo-dados-elementar.js +2 -2
  429. package/tipos-de-dados/delegua.d.ts +18 -18
  430. package/tipos-de-dados/delegua.js +19 -19
  431. package/tipos-de-dados/listas-delegua.d.ts +6 -6
  432. package/tipos-de-dados/listas-delegua.js +7 -7
  433. package/tipos-de-dados/listas-primitivos.d.ts +5 -5
  434. package/tipos-de-dados/listas-primitivos.js +6 -6
  435. package/tipos-de-dados/primitivos.d.ts +16 -16
  436. package/tipos-de-dados/primitivos.js +17 -17
  437. package/tipos-de-simbolos/comum.d.ts +23 -23
  438. package/tipos-de-simbolos/comum.js +24 -24
  439. package/tipos-de-simbolos/delegua.d.ts +91 -91
  440. package/tipos-de-simbolos/delegua.js +92 -92
  441. package/tipos-de-simbolos/egua-classico.d.ts +75 -75
  442. package/tipos-de-simbolos/egua-classico.js +76 -76
  443. package/tipos-de-simbolos/guarani.d.ts +14 -14
  444. package/tipos-de-simbolos/guarani.js +15 -15
  445. package/tipos-de-simbolos/guarani.js.map +1 -1
  446. package/tipos-de-simbolos/microgramaticas/delegua.d.ts +46 -46
  447. package/tipos-de-simbolos/microgramaticas/delegua.js +47 -47
  448. package/tipos-de-simbolos/pitugues.d.ts +75 -75
  449. package/tipos-de-simbolos/pitugues.js +76 -76
  450. package/tipos-de-simbolos/portugol-ipt.d.ts +36 -36
  451. package/tipos-de-simbolos/portugol-ipt.js +37 -37
  452. package/tipos-de-simbolos/rantiaquin.d.ts +2 -2
  453. package/tipos-de-simbolos/rantiaquin.js +3 -3
  454. package/tradutores/dicionarios/dicionario-delegua-javascript.d.ts +2 -2
  455. package/tradutores/dicionarios/dicionario-delegua-javascript.js +10 -10
  456. package/tradutores/dicionarios/index.d.ts +1 -1
  457. package/tradutores/dicionarios/index.js +17 -17
  458. package/tradutores/index.d.ts +6 -6
  459. package/tradutores/index.js +22 -22
  460. package/tradutores/python/python3-lexer.d.ts +152 -152
  461. package/tradutores/python/python3-lexer.js +1227 -1227
  462. package/tradutores/python/python3-lexer.js.map +1 -1
  463. package/tradutores/python/python3-listener.d.ts +964 -964
  464. package/tradutores/python/python3-listener.js +3 -3
  465. package/tradutores/python/python3-parser.d.ts +1342 -1342
  466. package/tradutores/python/python3-parser.js +11226 -11226
  467. package/tradutores/python/python3-parser.js.map +1 -1
  468. package/tradutores/python/python3-visitor.d.ts +619 -619
  469. package/tradutores/python/python3-visitor.js +3 -3
  470. package/tradutores/tradutor-assembly-x64.d.ts +19 -19
  471. package/tradutores/tradutor-assembly-x64.js +128 -128
  472. package/tradutores/tradutor-assembly-x64.js.map +1 -1
  473. package/tradutores/tradutor-assemblyscript.d.ts +91 -91
  474. package/tradutores/tradutor-assemblyscript.js +590 -590
  475. package/tradutores/tradutor-assemblyscript.js.map +1 -1
  476. package/tradutores/tradutor-javascript.d.ts +95 -95
  477. package/tradutores/tradutor-javascript.js +577 -577
  478. package/tradutores/tradutor-javascript.js.map +1 -1
  479. package/tradutores/tradutor-portugol-ipt.d.ts +21 -21
  480. package/tradutores/tradutor-portugol-ipt.js +60 -60
  481. package/tradutores/tradutor-portugol-ipt.js.map +1 -1
  482. package/tradutores/tradutor-python.d.ts +65 -65
  483. package/tradutores/tradutor-python.js +461 -461
  484. package/tradutores/tradutor-python.js.map +1 -1
  485. package/tradutores/tradutor-reverso-javascript.d.ts +50 -50
  486. package/tradutores/tradutor-reverso-javascript.js +392 -392
  487. package/tradutores/tradutor-reverso-javascript.js.map +1 -1
  488. package/tradutores/tradutor-reverso-python.d.ts +32 -32
  489. package/tradutores/tradutor-reverso-python.js +71 -71
  490. package/tradutores/tradutor-reverso-python.js.map +1 -1
  491. package/umd/delegua.js +26337 -26339
@@ -1,269 +1,269 @@
1
- import { Aleatorio, Bloco, CabecalhoPrograma, Classe, Const, ConstMultiplo, Continua, Declaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Expressao, Falhar, Fazer, FuncaoDeclaracao, Importar, InicioAlgoritmo, Leia, LeiaMultiplo, Para, ParaCada, Retorna, Se, TendoComo, Tente, Var, VarMultiplo } from '../declaracoes';
2
- import { Chamavel, DescritorTipoClasse, DeleguaFuncao, DeleguaModulo } from '../estruturas';
3
- import { AcessoIndiceVariavel, AcessoMetodoOuPropriedade, Agrupamento, AtribuicaoPorIndice, Atribuir, Chamada, Comentario, Construto, DefinirValor, ExpressaoRegular, FimPara, FormatacaoEscrita, FuncaoConstruto, Literal, Logico, QualTipo, Super, TipoDe, Tupla, Unario, Variavel, Vetor } from '../construtos';
4
- import { ErroInterpretador } from '../interfaces/erros/erro-interpretador';
5
- import { RetornoInterpretador } from '../interfaces/retornos/retorno-interpretador';
6
- import { ContinuarQuebra, RetornoQuebra, SustarQuebra } from '../quebras';
7
- import { PilhaEscoposExecucaoInterface } from '../interfaces/pilha-escopos-execucao-interface';
8
- import { MetodoPrimitiva } from '../estruturas/metodo-primitiva';
9
- import { ArgumentoInterface } from './argumento-interface';
10
- import { MicroLexador } from '../lexador';
11
- import { MicroAvaliadorSintaticoBase } from '../avaliador-sintatico/micro-avaliador-sintatico-base';
12
- import { EspacoVariaveis } from '../espaco-variaveis';
13
- import { InterpretadorInterface, ParametroInterface, SimboloInterface, VariavelInterface } from '../interfaces';
14
- /**
15
- * O Interpretador visita todos os elementos complexos gerados pelo avaliador sintático (_parser_),
16
- * e de fato executa a lógica de programação descrita no código.
17
- *
18
- * O Interpretador Base não contém dependências com o Node.js. É
19
- * recomendado para uso em execuções que ocorrem no navegador de internet.
20
- */
21
- export declare class InterpretadorBase implements InterpretadorInterface {
22
- diretorioBase: string;
23
- erros: ErroInterpretador[];
24
- declaracoes: Declaracao[];
25
- resultadoInterpretador: Array<string>;
26
- expandirPropriedadesDeObjetosEmEspacoVariaveis: boolean;
27
- requerDeclaracaoPropriedades: boolean;
28
- performance: boolean;
29
- funcaoDeRetorno: Function;
30
- funcaoDeRetornoMesmaLinha: Function;
31
- interfaceDeEntrada: any;
32
- interfaceEntradaSaida: any;
33
- emDeclaracaoTente: boolean;
34
- pilhaEscoposExecucao: PilhaEscoposExecucaoInterface;
35
- microLexador: MicroLexador;
36
- microAvaliadorSintatico: MicroAvaliadorSintaticoBase;
37
- regexInterpolacao: RegExp;
38
- private tiposNumericos;
39
- constructor(diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
40
- /**
41
- * Construtos de comentários não têm utilidade para o Interpretador.
42
- * Apenas retornamos `Promise.resolve()` para não termos erros.
43
- * @param declaracao A declaração de comentário.
44
- */
45
- visitarDeclaracaoComentario(declaracao: Comentario): Promise<any>;
46
- visitarDeclaracaoTendoComo(declaracao: TendoComo): Promise<any>;
47
- visitarDeclaracaoInicioAlgoritmo(declaracao: InicioAlgoritmo): Promise<any>;
48
- visitarDeclaracaoCabecalhoPrograma(declaracao: CabecalhoPrograma): Promise<any>;
49
- visitarExpressaoTupla(expressao: Tupla): Promise<any>;
50
- visitarExpressaoAtribuicaoPorIndicesMatriz(expressao: any): Promise<any>;
51
- visitarExpressaoAcessoElementoMatriz(expressao: any): Promise<any>;
52
- protected textoParaRegex(texto: string): RegExp;
53
- visitarExpressaoExpressaoRegular(expressao: ExpressaoRegular): Promise<RegExp>;
54
- visitarExpressaoTipoDe(expressao: TipoDe): Promise<string>;
55
- visitarExpressaoQualTipo(expressao: QualTipo): Promise<string>;
56
- visitarExpressaoFalhar(expressao: Falhar): Promise<any>;
57
- visitarExpressaoFimPara(declaracao: FimPara): Promise<any>;
58
- avaliar(expressao: Construto | Declaracao): Promise<any>;
59
- /**
60
- * Execução da leitura de valores da entrada configurada no
61
- * início da aplicação.
62
- * @param expressao Expressão do tipo Leia
63
- * @returns Promise com o resultado da leitura.
64
- */
65
- visitarExpressaoLeia(expressao: Leia): Promise<any>;
66
- /**
67
- * Execução da leitura de valores da entrada configurada no
68
- * início da aplicação.
69
- * @param expressao Expressão do tipo `LeiaMultiplo`.
70
- * @returns Promise com o resultado da leitura.
71
- */
72
- visitarExpressaoLeiaMultiplo(expressao: LeiaMultiplo): Promise<any>;
73
- /**
74
- * Retira a interpolação de um texto.
75
- * @param {texto} texto O texto
76
- * @param {any[]} variaveis A lista de variaveis interpoladas
77
- * @returns O texto com o valor das variaveis.
78
- */
79
- protected retirarInterpolacao(texto: string, variaveis: any[]): string;
80
- /**
81
- * Resolve todas as interpolações em um texto.
82
- * @param {texto} textoOriginal O texto original com as variáveis interpoladas.
83
- * @returns Uma lista de variáveis interpoladas.
84
- */
85
- protected resolverInterpolacoes(textoOriginal: string, linha: number): Promise<any[]>;
86
- visitarExpressaoLiteral(expressao: Literal): Promise<any>;
87
- visitarExpressaoAgrupamento(expressao: Agrupamento): Promise<any>;
88
- eVerdadeiro(objeto: any): boolean;
89
- protected verificarOperandoNumero(operador: SimboloInterface, operando: any): void;
90
- visitarExpressaoUnaria(expressao: Unario): Promise<any>;
91
- /**
92
- * Formata uma saída de acordo com o número e espaços e casas decimais solicitados.
93
- * @param declaracao A declaração de formatação de escrita.
94
- * @returns {string} A saída formatada como texto e os respectivos parâmetros aplicados.
95
- */
96
- visitarExpressaoFormatacaoEscrita(declaracao: FormatacaoEscrita): Promise<string>;
97
- /**
98
- * Lógica para verificação de valores iguais, para Delégua e alguns dialetos.
99
- * @param esquerda Uma variável.
100
- * @param direita Outra variável.
101
- * @returns Verdadeiro se são iguais. Falso em caso contrário.
102
- */
103
- eIgual(esquerda: VariavelInterface | any, direita: VariavelInterface | any): boolean;
104
- /**
105
- * Verifica se operandos são números, que podem ser tanto variáveis puras do JavaScript
106
- * (neste caso, `number`), ou podem ser variáveis de Delégua com inferência (`VariavelInterface`).
107
- * @param operador O símbolo do operador.
108
- * @param direita O operando direito.
109
- * @param esquerda O operando esquerdo.
110
- * @returns Se ambos os operandos são números ou não.
111
- */
112
- protected verificarOperandosNumeros(operador: SimboloInterface, direita: VariavelInterface | any, esquerda: VariavelInterface | any): void;
113
- visitarExpressaoBinaria(expressao: any): Promise<any>;
114
- /**
115
- * Faz a chamada do método de uma primitiva (por exemplo, número, texto, etc.) com seus
116
- * respectivos argumentos.
117
- * @param {Chamada} expressao A expressão de chamada.
118
- * @param {MetodoPrimitiva} entidadeChamada O método da primitiva chamado.
119
- * @returns O resultado da chamada do método da primitiva.
120
- */
121
- protected chamarMetodoPrimitiva(expressao: Chamada, entidadeChamada: MetodoPrimitiva): Promise<any>;
122
- protected resolverArgumentosChamada(expressao: Chamada): Promise<ArgumentoInterface[]>;
123
- /**
124
- * Resolve paraâmetros da chamada de acordo com o tipo da entidade chamada.
125
- * @param {Chamavel} entidadeChamada A entidade chamada.
126
- * @returns Os parâmetros resolvidos.
127
- */
128
- protected resolverParametrosChamada(entidadeChamada: Chamavel): ParametroInterface[];
129
- /**
130
- * Executa uma chamada de função, método ou classe.
131
- * @param expressao A expressão chamada.
132
- * @returns O resultado da chamada.
133
- */
134
- visitarExpressaoDeChamada(expressao: Chamada | any): Promise<any>;
135
- /**
136
- * Execução de uma expressão de atribuição.
137
- * @param expressao A expressão.
138
- * @returns O valor atribuído.
139
- */
140
- visitarExpressaoDeAtribuicao(expressao: Atribuir): Promise<any>;
141
- protected procurarVariavel(simbolo: SimboloInterface): any;
142
- visitarExpressaoDeVariavel(expressao: Variavel): any;
143
- visitarDeclaracaoDeExpressao(declaracao: Expressao): Promise<any>;
144
- visitarExpressaoLogica(expressao: Logico): Promise<any>;
145
- visitarDeclaracaoPara(declaracao: Para): Promise<any>;
146
- visitarDeclaracaoParaCada(declaracao: ParaCada): Promise<any>;
147
- /**
148
- * Executa uma expressão Se, que tem uma condição, pode ter um bloco
149
- * Senão, e múltiplos blocos Senão-se.
150
- * @param declaracao A declaração Se.
151
- * @returns O resultado da avaliação do bloco cuja condição é verdadeira.
152
- */
153
- visitarDeclaracaoSe(declaracao: Se): Promise<any>;
154
- visitarDeclaracaoEnquanto(declaracao: Enquanto): Promise<any>;
155
- visitarDeclaracaoEscolha(declaracao: Escolha): Promise<any>;
156
- visitarDeclaracaoFazer(declaracao: Fazer): Promise<any>;
157
- /**
158
- * Interpretação de uma declaração `tente`.
159
- * @param declaracao O objeto da declaração.
160
- */
161
- visitarDeclaracaoTente(declaracao: Tente): Promise<any>;
162
- visitarDeclaracaoImportar(declaracao: Importar): Promise<DeleguaModulo>;
163
- protected avaliarArgumentosEscreva(argumentos: Construto[]): Promise<string>;
164
- /**
165
- * Execução de uma escrita na saída padrão, sem quebras de linha.
166
- * Implementada para alguns dialetos, como VisuAlg.
167
- * @param declaracao A declaração.
168
- * @returns Sempre nulo, por convenção de visita.
169
- */
170
- visitarDeclaracaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): Promise<any>;
171
- /**
172
- * Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
173
- * alguma função para escrever numa página Web.
174
- * @param declaracao A declaração.
175
- * @returns Sempre nulo, por convenção de visita.
176
- */
177
- visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>;
178
- /**
179
- * Empilha declarações na pilha de escopos de execução, cria um novo ambiente e
180
- * executa as declarações empilhadas.
181
- * Se o retorno do último bloco foi uma exceção (normalmente um erro em tempo de execução),
182
- * atira a exceção daqui.
183
- * Isso é usado, por exemplo, em blocos tente ... pegue ... finalmente.
184
- * @param declaracoes Um vetor de declaracoes a ser executado.
185
- * @param ambiente O ambiente de execução quando houver, como parâmetros, argumentos, etc.
186
- */
187
- executarBloco(declaracoes: Declaracao[], ambiente?: EspacoVariaveis): Promise<any>;
188
- visitarExpressaoBloco(declaracao: Bloco): Promise<any>;
189
- avaliacaoDeclaracaoVarOuConst(declaracao: Const | ConstMultiplo | Var | VarMultiplo): Promise<any>;
190
- /**
191
- * Executa expressão de definição de constante.
192
- * @param declaracao A declaração `Const`.
193
- * @returns Sempre retorna nulo.
194
- */
195
- visitarDeclaracaoConst(declaracao: Const): Promise<any>;
196
- /**
197
- * Executa expressão de definição de múltiplas constantes.
198
- * @param declaracao A declaração `ConstMultiplo`.
199
- * @returns Sempre retorna nulo.
200
- */
201
- visitarDeclaracaoConstMultiplo(declaracao: ConstMultiplo): Promise<any>;
202
- visitarExpressaoContinua(declaracao?: Continua): ContinuarQuebra;
203
- visitarExpressaoSustar(declaracao?: any): SustarQuebra;
204
- visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>;
205
- visitarExpressaoDeleguaFuncao(corpoDeclaracao: FuncaoConstruto): Promise<DeleguaFuncao>;
206
- visitarExpressaoAtribuicaoPorIndice(expressao: AtribuicaoPorIndice): Promise<any>;
207
- visitarExpressaoAcessoIndiceVariavel(expressao: AcessoIndiceVariavel | any): Promise<any>;
208
- visitarExpressaoDefinirValor(expressao: DefinirValor): Promise<any>;
209
- visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): void;
210
- /**
211
- * Executa uma declaração de classe.
212
- * Uma variável do tipo `DeleguaClasse` é adicionada à pilha de escopos de execução.
213
- * @param declaracao A declaração de classe.
214
- * @returns Sempre retorna nulo, por ser requerido pelo contrato de visita.
215
- */
216
- visitarDeclaracaoClasse(declaracao: Classe): Promise<DescritorTipoClasse>;
217
- /**
218
- * Executa um acesso a método, normalmente de um objeto de classe.
219
- * @param {AcessoMetodoOuPropriedade} expressao A expressão de acesso.
220
- * @returns O resultado da execução.
221
- */
222
- visitarExpressaoAcessoMetodo(expressao: AcessoMetodoOuPropriedade): Promise<any>;
223
- visitarExpressaoIsto(expressao: any): any;
224
- visitarDeclaracaoAleatorio(declaracao: Aleatorio): Promise<any>;
225
- visitarExpressaoDicionario(expressao: any): Promise<any>;
226
- visitarExpressaoVetor(expressao: Vetor): Promise<any>;
227
- visitarExpressaoSuper(expressao: Super): any;
228
- /**
229
- * Executa expressão de definição de variável.
230
- * @param declaracao A declaração Var
231
- * @returns Sempre retorna nulo.
232
- */
233
- visitarDeclaracaoVar(declaracao: Var): Promise<any>;
234
- /**
235
- * Executa expressão de definição de múltiplas variáveis.
236
- * @param declaracao A declaração `VarMultiplo`.
237
- * @returns Sempre retorna nulo.
238
- */
239
- visitarDeclaracaoVarMultiplo(declaracao: VarMultiplo): Promise<any>;
240
- paraTexto(objeto: any): any;
241
- /**
242
- * Efetivamente executa uma declaração.
243
- * @param declaracao A declaração a ser executada.
244
- * @param mostrarResultado Se resultado deve ser mostrado ou não. Normalmente usado
245
- * pelo modo LAIR.
246
- */
247
- executar(declaracao: Declaracao, mostrarResultado?: boolean): Promise<any>;
248
- /**
249
- * Executa o último escopo empilhado no topo na pilha de escopos do interpretador.
250
- * Esse método pega exceções, mas apenas as devolve.
251
- *
252
- * O tratamento das exceções é feito de acordo com o bloco chamador.
253
- * Por exemplo, em `tente ... pegue ... finalmente`, a exceção é capturada e tratada.
254
- * Em outros blocos, pode ser desejável ter o erro em tela.
255
- * @param manterAmbiente Se verdadeiro, ambiente do topo da pilha de escopo é copiado para o ambiente imediatamente abaixo.
256
- * @returns O resultado da execução do escopo, se houver.
257
- */
258
- executarUltimoEscopo(manterAmbiente?: boolean): Promise<any>;
259
- /**
260
- * Interpretação sem depurador, com medição de performance.
261
- * Método que efetivamente inicia o processo de interpretação.
262
- * @param declaracoes Um vetor de declarações gerado pelo Avaliador Sintático.
263
- * @param manterAmbiente Se ambiente de execução (variáveis, classes, etc.) deve ser mantido. Normalmente usado
264
- * pelo modo REPL (LAIR).
265
- * @returns Um objeto com o resultado da interpretação.
266
- */
267
- interpretar(declaracoes: Declaracao[], manterAmbiente?: boolean): Promise<RetornoInterpretador>;
268
- }
1
+ import { Aleatorio, Bloco, CabecalhoPrograma, Classe, Const, ConstMultiplo, Continua, Declaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Expressao, Falhar, Fazer, FuncaoDeclaracao, Importar, InicioAlgoritmo, Leia, LeiaMultiplo, Para, ParaCada, Retorna, Se, TendoComo, Tente, Var, VarMultiplo } from '../declaracoes';
2
+ import { Chamavel, DescritorTipoClasse, DeleguaFuncao, DeleguaModulo } from '../estruturas';
3
+ import { AcessoIndiceVariavel, AcessoMetodoOuPropriedade, Agrupamento, AtribuicaoPorIndice, Atribuir, Chamada, Comentario, Construto, DefinirValor, ExpressaoRegular, FimPara, FormatacaoEscrita, FuncaoConstruto, Literal, Logico, QualTipo, Super, TipoDe, Tupla, Unario, Variavel, Vetor } from '../construtos';
4
+ import { ErroInterpretador } from '../interfaces/erros/erro-interpretador';
5
+ import { RetornoInterpretador } from '../interfaces/retornos/retorno-interpretador';
6
+ import { ContinuarQuebra, RetornoQuebra, SustarQuebra } from '../quebras';
7
+ import { PilhaEscoposExecucaoInterface } from '../interfaces/pilha-escopos-execucao-interface';
8
+ import { MetodoPrimitiva } from '../estruturas/metodo-primitiva';
9
+ import { ArgumentoInterface } from './argumento-interface';
10
+ import { MicroLexador } from '../lexador';
11
+ import { MicroAvaliadorSintaticoBase } from '../avaliador-sintatico/micro-avaliador-sintatico-base';
12
+ import { EspacoVariaveis } from '../espaco-variaveis';
13
+ import { InterpretadorInterface, ParametroInterface, SimboloInterface, VariavelInterface } from '../interfaces';
14
+ /**
15
+ * O Interpretador visita todos os elementos complexos gerados pelo avaliador sintático (_parser_),
16
+ * e de fato executa a lógica de programação descrita no código.
17
+ *
18
+ * O Interpretador Base não contém dependências com o Node.js. É
19
+ * recomendado para uso em execuções que ocorrem no navegador de internet.
20
+ */
21
+ export declare class InterpretadorBase implements InterpretadorInterface {
22
+ diretorioBase: string;
23
+ erros: ErroInterpretador[];
24
+ declaracoes: Declaracao[];
25
+ resultadoInterpretador: Array<string>;
26
+ expandirPropriedadesDeObjetosEmEspacoVariaveis: boolean;
27
+ requerDeclaracaoPropriedades: boolean;
28
+ performance: boolean;
29
+ funcaoDeRetorno: Function;
30
+ funcaoDeRetornoMesmaLinha: Function;
31
+ interfaceDeEntrada: any;
32
+ interfaceEntradaSaida: any;
33
+ emDeclaracaoTente: boolean;
34
+ pilhaEscoposExecucao: PilhaEscoposExecucaoInterface;
35
+ microLexador: MicroLexador;
36
+ microAvaliadorSintatico: MicroAvaliadorSintaticoBase;
37
+ regexInterpolacao: RegExp;
38
+ private tiposNumericos;
39
+ constructor(diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
40
+ /**
41
+ * Construtos de comentários não têm utilidade para o Interpretador.
42
+ * Apenas retornamos `Promise.resolve()` para não termos erros.
43
+ * @param declaracao A declaração de comentário.
44
+ */
45
+ visitarDeclaracaoComentario(declaracao: Comentario): Promise<any>;
46
+ visitarDeclaracaoTendoComo(declaracao: TendoComo): Promise<any>;
47
+ visitarDeclaracaoInicioAlgoritmo(declaracao: InicioAlgoritmo): Promise<any>;
48
+ visitarDeclaracaoCabecalhoPrograma(declaracao: CabecalhoPrograma): Promise<any>;
49
+ visitarExpressaoTupla(expressao: Tupla): Promise<any>;
50
+ visitarExpressaoAtribuicaoPorIndicesMatriz(expressao: any): Promise<any>;
51
+ visitarExpressaoAcessoElementoMatriz(expressao: any): Promise<any>;
52
+ protected textoParaRegex(texto: string): RegExp;
53
+ visitarExpressaoExpressaoRegular(expressao: ExpressaoRegular): Promise<RegExp>;
54
+ visitarExpressaoTipoDe(expressao: TipoDe): Promise<string>;
55
+ visitarExpressaoQualTipo(expressao: QualTipo): Promise<string>;
56
+ visitarExpressaoFalhar(expressao: Falhar): Promise<any>;
57
+ visitarExpressaoFimPara(declaracao: FimPara): Promise<any>;
58
+ avaliar(expressao: Construto | Declaracao): Promise<any>;
59
+ /**
60
+ * Execução da leitura de valores da entrada configurada no
61
+ * início da aplicação.
62
+ * @param expressao Expressão do tipo Leia
63
+ * @returns Promise com o resultado da leitura.
64
+ */
65
+ visitarExpressaoLeia(expressao: Leia): Promise<any>;
66
+ /**
67
+ * Execução da leitura de valores da entrada configurada no
68
+ * início da aplicação.
69
+ * @param expressao Expressão do tipo `LeiaMultiplo`.
70
+ * @returns Promise com o resultado da leitura.
71
+ */
72
+ visitarExpressaoLeiaMultiplo(expressao: LeiaMultiplo): Promise<any>;
73
+ /**
74
+ * Retira a interpolação de um texto.
75
+ * @param {texto} texto O texto
76
+ * @param {any[]} variaveis A lista de variaveis interpoladas
77
+ * @returns O texto com o valor das variaveis.
78
+ */
79
+ protected retirarInterpolacao(texto: string, variaveis: any[]): string;
80
+ /**
81
+ * Resolve todas as interpolações em um texto.
82
+ * @param {texto} textoOriginal O texto original com as variáveis interpoladas.
83
+ * @returns Uma lista de variáveis interpoladas.
84
+ */
85
+ protected resolverInterpolacoes(textoOriginal: string, linha: number): Promise<any[]>;
86
+ visitarExpressaoLiteral(expressao: Literal): Promise<any>;
87
+ visitarExpressaoAgrupamento(expressao: Agrupamento): Promise<any>;
88
+ eVerdadeiro(objeto: any): boolean;
89
+ protected verificarOperandoNumero(operador: SimboloInterface, operando: any): void;
90
+ visitarExpressaoUnaria(expressao: Unario): Promise<any>;
91
+ /**
92
+ * Formata uma saída de acordo com o número e espaços e casas decimais solicitados.
93
+ * @param declaracao A declaração de formatação de escrita.
94
+ * @returns {string} A saída formatada como texto e os respectivos parâmetros aplicados.
95
+ */
96
+ visitarExpressaoFormatacaoEscrita(declaracao: FormatacaoEscrita): Promise<string>;
97
+ /**
98
+ * Lógica para verificação de valores iguais, para Delégua e alguns dialetos.
99
+ * @param esquerda Uma variável.
100
+ * @param direita Outra variável.
101
+ * @returns Verdadeiro se são iguais. Falso em caso contrário.
102
+ */
103
+ eIgual(esquerda: VariavelInterface | any, direita: VariavelInterface | any): boolean;
104
+ /**
105
+ * Verifica se operandos são números, que podem ser tanto variáveis puras do JavaScript
106
+ * (neste caso, `number`), ou podem ser variáveis de Delégua com inferência (`VariavelInterface`).
107
+ * @param operador O símbolo do operador.
108
+ * @param direita O operando direito.
109
+ * @param esquerda O operando esquerdo.
110
+ * @returns Se ambos os operandos são números ou não.
111
+ */
112
+ protected verificarOperandosNumeros(operador: SimboloInterface, direita: VariavelInterface | any, esquerda: VariavelInterface | any): void;
113
+ visitarExpressaoBinaria(expressao: any): Promise<any>;
114
+ /**
115
+ * Faz a chamada do método de uma primitiva (por exemplo, número, texto, etc.) com seus
116
+ * respectivos argumentos.
117
+ * @param {Chamada} expressao A expressão de chamada.
118
+ * @param {MetodoPrimitiva} entidadeChamada O método da primitiva chamado.
119
+ * @returns O resultado da chamada do método da primitiva.
120
+ */
121
+ protected chamarMetodoPrimitiva(expressao: Chamada, entidadeChamada: MetodoPrimitiva): Promise<any>;
122
+ protected resolverArgumentosChamada(expressao: Chamada): Promise<ArgumentoInterface[]>;
123
+ /**
124
+ * Resolve paraâmetros da chamada de acordo com o tipo da entidade chamada.
125
+ * @param {Chamavel} entidadeChamada A entidade chamada.
126
+ * @returns Os parâmetros resolvidos.
127
+ */
128
+ protected resolverParametrosChamada(entidadeChamada: Chamavel): ParametroInterface[];
129
+ /**
130
+ * Executa uma chamada de função, método ou classe.
131
+ * @param expressao A expressão chamada.
132
+ * @returns O resultado da chamada.
133
+ */
134
+ visitarExpressaoDeChamada(expressao: Chamada | any): Promise<any>;
135
+ /**
136
+ * Execução de uma expressão de atribuição.
137
+ * @param expressao A expressão.
138
+ * @returns O valor atribuído.
139
+ */
140
+ visitarExpressaoDeAtribuicao(expressao: Atribuir): Promise<any>;
141
+ protected procurarVariavel(simbolo: SimboloInterface): any;
142
+ visitarExpressaoDeVariavel(expressao: Variavel): any;
143
+ visitarDeclaracaoDeExpressao(declaracao: Expressao): Promise<any>;
144
+ visitarExpressaoLogica(expressao: Logico): Promise<any>;
145
+ visitarDeclaracaoPara(declaracao: Para): Promise<any>;
146
+ visitarDeclaracaoParaCada(declaracao: ParaCada): Promise<any>;
147
+ /**
148
+ * Executa uma expressão Se, que tem uma condição, pode ter um bloco
149
+ * Senão, e múltiplos blocos Senão-se.
150
+ * @param declaracao A declaração Se.
151
+ * @returns O resultado da avaliação do bloco cuja condição é verdadeira.
152
+ */
153
+ visitarDeclaracaoSe(declaracao: Se): Promise<any>;
154
+ visitarDeclaracaoEnquanto(declaracao: Enquanto): Promise<any>;
155
+ visitarDeclaracaoEscolha(declaracao: Escolha): Promise<any>;
156
+ visitarDeclaracaoFazer(declaracao: Fazer): Promise<any>;
157
+ /**
158
+ * Interpretação de uma declaração `tente`.
159
+ * @param declaracao O objeto da declaração.
160
+ */
161
+ visitarDeclaracaoTente(declaracao: Tente): Promise<any>;
162
+ visitarDeclaracaoImportar(declaracao: Importar): Promise<DeleguaModulo>;
163
+ protected avaliarArgumentosEscreva(argumentos: Construto[]): Promise<string>;
164
+ /**
165
+ * Execução de uma escrita na saída padrão, sem quebras de linha.
166
+ * Implementada para alguns dialetos, como VisuAlg.
167
+ * @param declaracao A declaração.
168
+ * @returns Sempre nulo, por convenção de visita.
169
+ */
170
+ visitarDeclaracaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): Promise<any>;
171
+ /**
172
+ * Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
173
+ * alguma função para escrever numa página Web.
174
+ * @param declaracao A declaração.
175
+ * @returns Sempre nulo, por convenção de visita.
176
+ */
177
+ visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>;
178
+ /**
179
+ * Empilha declarações na pilha de escopos de execução, cria um novo ambiente e
180
+ * executa as declarações empilhadas.
181
+ * Se o retorno do último bloco foi uma exceção (normalmente um erro em tempo de execução),
182
+ * atira a exceção daqui.
183
+ * Isso é usado, por exemplo, em blocos tente ... pegue ... finalmente.
184
+ * @param declaracoes Um vetor de declaracoes a ser executado.
185
+ * @param ambiente O ambiente de execução quando houver, como parâmetros, argumentos, etc.
186
+ */
187
+ executarBloco(declaracoes: Declaracao[], ambiente?: EspacoVariaveis): Promise<any>;
188
+ visitarExpressaoBloco(declaracao: Bloco): Promise<any>;
189
+ avaliacaoDeclaracaoVarOuConst(declaracao: Const | ConstMultiplo | Var | VarMultiplo): Promise<any>;
190
+ /**
191
+ * Executa expressão de definição de constante.
192
+ * @param declaracao A declaração `Const`.
193
+ * @returns Sempre retorna nulo.
194
+ */
195
+ visitarDeclaracaoConst(declaracao: Const): Promise<any>;
196
+ /**
197
+ * Executa expressão de definição de múltiplas constantes.
198
+ * @param declaracao A declaração `ConstMultiplo`.
199
+ * @returns Sempre retorna nulo.
200
+ */
201
+ visitarDeclaracaoConstMultiplo(declaracao: ConstMultiplo): Promise<any>;
202
+ visitarExpressaoContinua(declaracao?: Continua): ContinuarQuebra;
203
+ visitarExpressaoSustar(declaracao?: any): SustarQuebra;
204
+ visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>;
205
+ visitarExpressaoDeleguaFuncao(corpoDeclaracao: FuncaoConstruto): Promise<DeleguaFuncao>;
206
+ visitarExpressaoAtribuicaoPorIndice(expressao: AtribuicaoPorIndice): Promise<any>;
207
+ visitarExpressaoAcessoIndiceVariavel(expressao: AcessoIndiceVariavel | any): Promise<any>;
208
+ visitarExpressaoDefinirValor(expressao: DefinirValor): Promise<any>;
209
+ visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): void;
210
+ /**
211
+ * Executa uma declaração de classe.
212
+ * Uma variável do tipo `DeleguaClasse` é adicionada à pilha de escopos de execução.
213
+ * @param declaracao A declaração de classe.
214
+ * @returns Sempre retorna nulo, por ser requerido pelo contrato de visita.
215
+ */
216
+ visitarDeclaracaoClasse(declaracao: Classe): Promise<DescritorTipoClasse>;
217
+ /**
218
+ * Executa um acesso a método, normalmente de um objeto de classe.
219
+ * @param {AcessoMetodoOuPropriedade} expressao A expressão de acesso.
220
+ * @returns O resultado da execução.
221
+ */
222
+ visitarExpressaoAcessoMetodo(expressao: AcessoMetodoOuPropriedade): Promise<any>;
223
+ visitarExpressaoIsto(expressao: any): any;
224
+ visitarDeclaracaoAleatorio(declaracao: Aleatorio): Promise<any>;
225
+ visitarExpressaoDicionario(expressao: any): Promise<any>;
226
+ visitarExpressaoVetor(expressao: Vetor): Promise<any>;
227
+ visitarExpressaoSuper(expressao: Super): any;
228
+ /**
229
+ * Executa expressão de definição de variável.
230
+ * @param declaracao A declaração Var
231
+ * @returns Sempre retorna nulo.
232
+ */
233
+ visitarDeclaracaoVar(declaracao: Var): Promise<any>;
234
+ /**
235
+ * Executa expressão de definição de múltiplas variáveis.
236
+ * @param declaracao A declaração `VarMultiplo`.
237
+ * @returns Sempre retorna nulo.
238
+ */
239
+ visitarDeclaracaoVarMultiplo(declaracao: VarMultiplo): Promise<any>;
240
+ paraTexto(objeto: any): any;
241
+ /**
242
+ * Efetivamente executa uma declaração.
243
+ * @param declaracao A declaração a ser executada.
244
+ * @param mostrarResultado Se resultado deve ser mostrado ou não. Normalmente usado
245
+ * pelo modo LAIR.
246
+ */
247
+ executar(declaracao: Declaracao, mostrarResultado?: boolean): Promise<any>;
248
+ /**
249
+ * Executa o último escopo empilhado no topo na pilha de escopos do interpretador.
250
+ * Esse método pega exceções, mas apenas as devolve.
251
+ *
252
+ * O tratamento das exceções é feito de acordo com o bloco chamador.
253
+ * Por exemplo, em `tente ... pegue ... finalmente`, a exceção é capturada e tratada.
254
+ * Em outros blocos, pode ser desejável ter o erro em tela.
255
+ * @param manterAmbiente Se verdadeiro, ambiente do topo da pilha de escopo é copiado para o ambiente imediatamente abaixo.
256
+ * @returns O resultado da execução do escopo, se houver.
257
+ */
258
+ executarUltimoEscopo(manterAmbiente?: boolean): Promise<any>;
259
+ /**
260
+ * Interpretação sem depurador, com medição de performance.
261
+ * Método que efetivamente inicia o processo de interpretação.
262
+ * @param declaracoes Um vetor de declarações gerado pelo Avaliador Sintático.
263
+ * @param manterAmbiente Se ambiente de execução (variáveis, classes, etc.) deve ser mantido. Normalmente usado
264
+ * pelo modo REPL (LAIR).
265
+ * @returns Um objeto com o resultado da interpretação.
266
+ */
267
+ interpretar(declaracoes: Declaracao[], manterAmbiente?: boolean): Promise<RetornoInterpretador>;
268
+ }
269
269
  //# sourceMappingURL=interpretador-base.d.ts.map