@designliquido/delegua 0.36.1 → 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 (490) 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 -11
  164. package/construtos/vetor.js +21 -21
  165. package/construtos/vetor.js.map +1 -1
  166. package/declaracoes/aleatorio.d.ts +15 -15
  167. package/declaracoes/aleatorio.js +15 -15
  168. package/declaracoes/bloco.d.ts +7 -7
  169. package/declaracoes/bloco.js +14 -14
  170. package/declaracoes/cabecalho-programa.d.ts +7 -7
  171. package/declaracoes/cabecalho-programa.js +14 -14
  172. package/declaracoes/classe.d.ts +14 -14
  173. package/declaracoes/classe.js +18 -18
  174. package/declaracoes/const-multiplo.d.ts +14 -14
  175. package/declaracoes/const-multiplo.js +19 -19
  176. package/declaracoes/const.d.ts +14 -14
  177. package/declaracoes/const.js +19 -19
  178. package/declaracoes/continua.d.ts +6 -6
  179. package/declaracoes/continua.js +13 -13
  180. package/declaracoes/declaracao.d.ts +8 -8
  181. package/declaracoes/declaracao.js +17 -17
  182. package/declaracoes/enquanto.d.ts +10 -10
  183. package/declaracoes/enquanto.js +15 -15
  184. package/declaracoes/escolha.d.ts +14 -14
  185. package/declaracoes/escolha.js +19 -19
  186. package/declaracoes/escreva-mesma-linha.d.ts +8 -8
  187. package/declaracoes/escreva-mesma-linha.js +14 -14
  188. package/declaracoes/escreva.d.ts +8 -8
  189. package/declaracoes/escreva.js +14 -14
  190. package/declaracoes/expressao.d.ts +8 -8
  191. package/declaracoes/expressao.js +14 -14
  192. package/declaracoes/falhar.d.ts +8 -8
  193. package/declaracoes/falhar.js +15 -15
  194. package/declaracoes/fazer.d.ts +10 -10
  195. package/declaracoes/fazer.js +15 -15
  196. package/declaracoes/funcao.d.ts +11 -11
  197. package/declaracoes/funcao.js +17 -17
  198. package/declaracoes/importar.d.ts +9 -9
  199. package/declaracoes/importar.js +15 -15
  200. package/declaracoes/index.d.ts +31 -31
  201. package/declaracoes/index.js +47 -47
  202. package/declaracoes/inicio-algoritmo.d.ts +6 -6
  203. package/declaracoes/inicio-algoritmo.js +13 -13
  204. package/declaracoes/leia-multiplo.d.ts +14 -14
  205. package/declaracoes/leia-multiplo.js +21 -21
  206. package/declaracoes/leia.d.ts +17 -17
  207. package/declaracoes/leia.js +21 -21
  208. package/declaracoes/para-cada.d.ts +11 -11
  209. package/declaracoes/para-cada.js +17 -17
  210. package/declaracoes/para.d.ts +19 -19
  211. package/declaracoes/para.js +24 -24
  212. package/declaracoes/propriedade-classe.d.ts +10 -10
  213. package/declaracoes/propriedade-classe.js +16 -16
  214. package/declaracoes/retorna.d.ts +8 -8
  215. package/declaracoes/retorna.js +15 -15
  216. package/declaracoes/se.d.ts +11 -11
  217. package/declaracoes/se.js +17 -17
  218. package/declaracoes/sustar.d.ts +6 -6
  219. package/declaracoes/sustar.js +13 -13
  220. package/declaracoes/tendo-como.d.ts +16 -16
  221. package/declaracoes/tendo-como.js +21 -21
  222. package/declaracoes/tente.d.ts +14 -14
  223. package/declaracoes/tente.js +20 -20
  224. package/declaracoes/var-multiplo.d.ts +15 -15
  225. package/declaracoes/var-multiplo.js +20 -20
  226. package/declaracoes/var.d.ts +16 -16
  227. package/declaracoes/var.js +21 -21
  228. package/depuracao/cyrb53.d.ts +9 -9
  229. package/depuracao/cyrb53.js +22 -22
  230. package/depuracao/cyrb53.js.map +1 -1
  231. package/depuracao/index.d.ts +2 -2
  232. package/depuracao/index.js +23 -23
  233. package/depuracao/ponto-parada.d.ts +4 -4
  234. package/depuracao/ponto-parada.js +2 -2
  235. package/espaco-variaveis.d.ts +19 -19
  236. package/espaco-variaveis.js +19 -19
  237. package/estruturas/chamavel.d.ts +7 -7
  238. package/estruturas/chamavel.js +12 -12
  239. package/estruturas/classe-padrao.d.ts +31 -31
  240. package/estruturas/classe-padrao.js +39 -39
  241. package/estruturas/delegua-funcao.d.ts +29 -29
  242. package/estruturas/delegua-funcao.js +141 -141
  243. package/estruturas/delegua-funcao.js.map +1 -1
  244. package/estruturas/descritor-tipo-classe.d.ts +37 -37
  245. package/estruturas/descritor-tipo-classe.js +79 -79
  246. package/estruturas/descritor-tipo-classe.js.map +1 -1
  247. package/estruturas/funcao-padrao.d.ts +23 -23
  248. package/estruturas/funcao-padrao.js +34 -34
  249. package/estruturas/index.d.ts +9 -9
  250. package/estruturas/index.js +25 -25
  251. package/estruturas/metodo-primitiva.d.ts +28 -28
  252. package/estruturas/metodo-primitiva.js +40 -40
  253. package/estruturas/modulo.d.ts +18 -18
  254. package/estruturas/modulo.js +24 -24
  255. package/estruturas/objeto-delegua-classe.d.ts +26 -26
  256. package/estruturas/objeto-delegua-classe.js +53 -53
  257. package/estruturas/objeto-delegua-classe.js.map +1 -1
  258. package/estruturas/objeto-padrao.d.ts +18 -18
  259. package/estruturas/objeto-padrao.js +32 -32
  260. package/estruturas/objeto-padrao.js.map +1 -1
  261. package/excecoes/erro-em-tempo-de-execucao.d.ts +7 -7
  262. package/excecoes/erro-em-tempo-de-execucao.js +13 -13
  263. package/excecoes/index.d.ts +1 -1
  264. package/excecoes/index.js +17 -17
  265. package/formatadores/formatador-delegua.d.ts +79 -79
  266. package/formatadores/formatador-delegua.js +676 -676
  267. package/formatadores/formatador-delegua.js.map +1 -1
  268. package/formatadores/index.d.ts +1 -1
  269. package/formatadores/index.js +17 -17
  270. package/geracao-identificadores/index.d.ts +1 -1
  271. package/geracao-identificadores/index.js +22 -23
  272. package/geracao-identificadores/index.js.map +1 -1
  273. package/index.d.ts +9 -9
  274. package/index.js +27 -27
  275. package/interfaces/analisador-semantico-interface.d.ts +6 -6
  276. package/interfaces/analisador-semantico-interface.js +2 -2
  277. package/interfaces/avaliador-sintatico-interface.d.ts +55 -55
  278. package/interfaces/avaliador-sintatico-interface.js +2 -2
  279. package/interfaces/construtos/index.d.ts +4 -4
  280. package/interfaces/construtos/index.js +2 -2
  281. package/interfaces/erros/diagnostico-analisador-semantico.d.ts +14 -14
  282. package/interfaces/erros/diagnostico-analisador-semantico.js +10 -10
  283. package/interfaces/erros/diagnostico-analisador-semantico.js.map +1 -1
  284. package/interfaces/erros/erro-interpretador.d.ts +8 -8
  285. package/interfaces/erros/erro-interpretador.js +2 -2
  286. package/interfaces/erros/index.d.ts +1 -1
  287. package/interfaces/erros/index.js +17 -17
  288. package/interfaces/escopo-execucao.d.ts +12 -12
  289. package/interfaces/escopo-execucao.js +2 -2
  290. package/interfaces/formatador-comum-interface.d.ts +11 -11
  291. package/interfaces/formatador-comum-interface.js +2 -2
  292. package/interfaces/funcao-hipotetica-interface.d.ts +3 -3
  293. package/interfaces/funcao-hipotetica-interface.js +2 -2
  294. package/interfaces/index.d.ts +16 -16
  295. package/interfaces/index.js +32 -32
  296. package/interfaces/interpretador-com-depuracao-interface.d.ts +17 -17
  297. package/interfaces/interpretador-com-depuracao-interface.js +2 -2
  298. package/interfaces/interpretador-interface-potigol.d.ts +5 -5
  299. package/interfaces/interpretador-interface-potigol.js +2 -2
  300. package/interfaces/interpretador-interface.d.ts +20 -20
  301. package/interfaces/interpretador-interface.js +2 -2
  302. package/interfaces/lexador-interface.d.ts +23 -23
  303. package/interfaces/lexador-interface.js +2 -2
  304. package/interfaces/parametro-interface.d.ts +15 -15
  305. package/interfaces/parametro-interface.js +2 -2
  306. package/interfaces/pilha-escopos-execucao-interface.d.ts +26 -26
  307. package/interfaces/pilha-escopos-execucao-interface.js +2 -2
  308. package/interfaces/pilha-interface.d.ts +7 -7
  309. package/interfaces/pilha-interface.js +2 -2
  310. package/interfaces/resolvedor-interface.d.ts +41 -41
  311. package/interfaces/resolvedor-interface.js +2 -2
  312. package/interfaces/retornos/index.d.ts +4 -4
  313. package/interfaces/retornos/index.js +20 -20
  314. package/interfaces/retornos/retorno-analisador-semantico.d.ts +4 -4
  315. package/interfaces/retornos/retorno-analisador-semantico.js +2 -2
  316. package/interfaces/retornos/retorno-avaliador-sintatico.d.ts +5 -5
  317. package/interfaces/retornos/retorno-avaliador-sintatico.js +2 -2
  318. package/interfaces/retornos/retorno-execucao-interface.d.ts +5 -5
  319. package/interfaces/retornos/retorno-execucao-interface.js +2 -2
  320. package/interfaces/retornos/retorno-interpretador.d.ts +5 -5
  321. package/interfaces/retornos/retorno-interpretador.js +2 -2
  322. package/interfaces/retornos/retorno-lexador.d.ts +9 -9
  323. package/interfaces/retornos/retorno-lexador.js +2 -2
  324. package/interfaces/simbolo-interface.d.ts +7 -7
  325. package/interfaces/simbolo-interface.js +2 -2
  326. package/interfaces/tradutor-interface.d.ts +3 -3
  327. package/interfaces/tradutor-interface.js +2 -2
  328. package/interfaces/variavel-hipotetica-interface.d.ts +8 -8
  329. package/interfaces/variavel-hipotetica-interface.js +2 -2
  330. package/interfaces/variavel-interface.d.ts +8 -8
  331. package/interfaces/variavel-interface.js +2 -2
  332. package/interfaces/visitante-comum-interface.d.ts +58 -58
  333. package/interfaces/visitante-comum-interface.js +2 -2
  334. package/interpretador/argumento-interface.d.ts +4 -4
  335. package/interpretador/argumento-interface.js +2 -2
  336. package/interpretador/comum.d.ts +2 -2
  337. package/interpretador/comum.js +51 -52
  338. package/interpretador/comum.js.map +1 -1
  339. package/interpretador/dialetos/egua-classico/index.d.ts +1 -1
  340. package/interpretador/dialetos/egua-classico/index.js +17 -17
  341. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +119 -119
  342. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +815 -815
  343. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  344. package/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.d.ts +5 -5
  345. package/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.js +11 -11
  346. package/interpretador/dialetos/egua-classico/resolvedor/index.d.ts +3 -3
  347. package/interpretador/dialetos/egua-classico/resolvedor/index.js +19 -19
  348. package/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.d.ts +9 -9
  349. package/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.js +25 -25
  350. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +106 -106
  351. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +441 -441
  352. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  353. package/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.d.ts +6 -6
  354. package/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.js +2 -2
  355. package/interpretador/dialetos/index.d.ts +2 -2
  356. package/interpretador/dialetos/index.js +18 -18
  357. package/interpretador/dialetos/portugol-ipt/index.d.ts +1 -1
  358. package/interpretador/dialetos/portugol-ipt/index.js +17 -17
  359. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +133 -133
  360. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +501 -501
  361. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  362. package/interpretador/index.d.ts +3 -3
  363. package/interpretador/index.js +19 -19
  364. package/interpretador/inferenciador.d.ts +15 -15
  365. package/interpretador/inferenciador.d.ts.map +1 -1
  366. package/interpretador/inferenciador.js +80 -80
  367. package/interpretador/inferenciador.js.map +1 -1
  368. package/interpretador/interpretador-base.d.ts +268 -268
  369. package/interpretador/interpretador-base.js +1399 -1399
  370. package/interpretador/interpretador-base.js.map +1 -1
  371. package/interpretador/interpretador-com-depuracao.d.ts +190 -190
  372. package/interpretador/interpretador-com-depuracao.js +568 -568
  373. package/interpretador/interpretador-com-depuracao.js.map +1 -1
  374. package/interpretador/pilha-escopos-execucao.d.ts +39 -39
  375. package/interpretador/pilha-escopos-execucao.js +243 -243
  376. package/interpretador/pilha-escopos-execucao.js.map +1 -1
  377. package/lexador/dialetos/index.d.ts +4 -4
  378. package/lexador/dialetos/index.js +20 -20
  379. package/lexador/dialetos/lexador-egua-classico.d.ts +36 -36
  380. package/lexador/dialetos/lexador-egua-classico.js +286 -286
  381. package/lexador/dialetos/lexador-egua-classico.js.map +1 -1
  382. package/lexador/dialetos/lexador-guarani.d.ts +10 -10
  383. package/lexador/dialetos/lexador-guarani.js +113 -113
  384. package/lexador/dialetos/lexador-guarani.js.map +1 -1
  385. package/lexador/dialetos/lexador-pitugues.d.ts +51 -51
  386. package/lexador/dialetos/lexador-pitugues.js +398 -398
  387. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  388. package/lexador/dialetos/lexador-portugol-ipt.d.ts +33 -33
  389. package/lexador/dialetos/lexador-portugol-ipt.js +237 -237
  390. package/lexador/dialetos/lexador-portugol-ipt.js.map +1 -1
  391. package/lexador/dialetos/palavras-reservadas/egua-classico.d.ts +32 -32
  392. package/lexador/dialetos/palavras-reservadas/egua-classico.js +39 -39
  393. package/lexador/dialetos/palavras-reservadas/guarani.d.ts +3 -3
  394. package/lexador/dialetos/palavras-reservadas/guarani.js +10 -10
  395. package/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts +13 -13
  396. package/lexador/dialetos/palavras-reservadas/portugol-ipt.js +20 -20
  397. package/lexador/dialetos/palavras-reservadas/rantiaquin.d.ts +1 -1
  398. package/lexador/dialetos/palavras-reservadas/rantiaquin.js +4 -4
  399. package/lexador/dialetos/pragma.d.ts +8 -8
  400. package/lexador/dialetos/pragma.js +2 -2
  401. package/lexador/erro-lexador.d.ts +5 -5
  402. package/lexador/erro-lexador.js +2 -2
  403. package/lexador/index.d.ts +4 -4
  404. package/lexador/index.js +20 -20
  405. package/lexador/lexador-base-linha-unica.d.ts +28 -28
  406. package/lexador/lexador-base-linha-unica.js +82 -82
  407. package/lexador/lexador-base-linha-unica.js.map +1 -1
  408. package/lexador/lexador-base.d.ts +41 -41
  409. package/lexador/lexador-base.js +112 -112
  410. package/lexador/lexador-base.js.map +1 -1
  411. package/lexador/lexador.d.ts +43 -43
  412. package/lexador/lexador.js +440 -440
  413. package/lexador/lexador.js.map +1 -1
  414. package/lexador/micro-lexador.d.ts +29 -29
  415. package/lexador/micro-lexador.js +207 -207
  416. package/lexador/micro-lexador.js.map +1 -1
  417. package/lexador/palavras-reservadas.d.ts +54 -54
  418. package/lexador/palavras-reservadas.js +61 -61
  419. package/lexador/simbolo.d.ts +10 -10
  420. package/lexador/simbolo.js +16 -16
  421. package/lexador/traducao/lexador-javascript.d.ts +28 -28
  422. package/lexador/traducao/lexador-javascript.js +58 -58
  423. package/package.json +5 -4
  424. package/quebras/index.d.ts +10 -10
  425. package/quebras/index.js +19 -19
  426. package/tipo-dados-elementar.d.ts +1 -1
  427. package/tipo-dados-elementar.js +2 -2
  428. package/tipos-de-dados/delegua.d.ts +18 -18
  429. package/tipos-de-dados/delegua.js +19 -19
  430. package/tipos-de-dados/listas-delegua.d.ts +6 -6
  431. package/tipos-de-dados/listas-delegua.js +7 -7
  432. package/tipos-de-dados/listas-primitivos.d.ts +5 -5
  433. package/tipos-de-dados/listas-primitivos.js +6 -6
  434. package/tipos-de-dados/primitivos.d.ts +16 -16
  435. package/tipos-de-dados/primitivos.js +17 -17
  436. package/tipos-de-simbolos/comum.d.ts +23 -23
  437. package/tipos-de-simbolos/comum.js +24 -24
  438. package/tipos-de-simbolos/delegua.d.ts +91 -91
  439. package/tipos-de-simbolos/delegua.js +92 -92
  440. package/tipos-de-simbolos/egua-classico.d.ts +75 -75
  441. package/tipos-de-simbolos/egua-classico.js +76 -76
  442. package/tipos-de-simbolos/guarani.d.ts +14 -14
  443. package/tipos-de-simbolos/guarani.js +15 -15
  444. package/tipos-de-simbolos/guarani.js.map +1 -1
  445. package/tipos-de-simbolos/microgramaticas/delegua.d.ts +46 -46
  446. package/tipos-de-simbolos/microgramaticas/delegua.js +47 -47
  447. package/tipos-de-simbolos/pitugues.d.ts +75 -75
  448. package/tipos-de-simbolos/pitugues.js +76 -76
  449. package/tipos-de-simbolos/portugol-ipt.d.ts +36 -36
  450. package/tipos-de-simbolos/portugol-ipt.js +37 -37
  451. package/tipos-de-simbolos/rantiaquin.d.ts +2 -2
  452. package/tipos-de-simbolos/rantiaquin.js +3 -3
  453. package/tradutores/dicionarios/dicionario-delegua-javascript.d.ts +2 -2
  454. package/tradutores/dicionarios/dicionario-delegua-javascript.js +10 -10
  455. package/tradutores/dicionarios/index.d.ts +1 -1
  456. package/tradutores/dicionarios/index.js +17 -17
  457. package/tradutores/index.d.ts +6 -6
  458. package/tradutores/index.js +22 -22
  459. package/tradutores/python/python3-lexer.d.ts +152 -152
  460. package/tradutores/python/python3-lexer.js +1227 -1227
  461. package/tradutores/python/python3-lexer.js.map +1 -1
  462. package/tradutores/python/python3-listener.d.ts +964 -964
  463. package/tradutores/python/python3-listener.js +3 -3
  464. package/tradutores/python/python3-parser.d.ts +1342 -1342
  465. package/tradutores/python/python3-parser.js +11226 -11226
  466. package/tradutores/python/python3-parser.js.map +1 -1
  467. package/tradutores/python/python3-visitor.d.ts +619 -619
  468. package/tradutores/python/python3-visitor.js +3 -3
  469. package/tradutores/tradutor-assembly-x64.d.ts +19 -19
  470. package/tradutores/tradutor-assembly-x64.js +128 -128
  471. package/tradutores/tradutor-assembly-x64.js.map +1 -1
  472. package/tradutores/tradutor-assemblyscript.d.ts +91 -91
  473. package/tradutores/tradutor-assemblyscript.js +590 -590
  474. package/tradutores/tradutor-assemblyscript.js.map +1 -1
  475. package/tradutores/tradutor-javascript.d.ts +95 -95
  476. package/tradutores/tradutor-javascript.js +577 -577
  477. package/tradutores/tradutor-javascript.js.map +1 -1
  478. package/tradutores/tradutor-portugol-ipt.d.ts +21 -21
  479. package/tradutores/tradutor-portugol-ipt.js +60 -60
  480. package/tradutores/tradutor-portugol-ipt.js.map +1 -1
  481. package/tradutores/tradutor-python.d.ts +65 -65
  482. package/tradutores/tradutor-python.js +461 -461
  483. package/tradutores/tradutor-python.js.map +1 -1
  484. package/tradutores/tradutor-reverso-javascript.d.ts +50 -50
  485. package/tradutores/tradutor-reverso-javascript.js +392 -392
  486. package/tradutores/tradutor-reverso-javascript.js.map +1 -1
  487. package/tradutores/tradutor-reverso-python.d.ts +32 -32
  488. package/tradutores/tradutor-reverso-python.js +71 -71
  489. package/tradutores/tradutor-reverso-python.js.map +1 -1
  490. package/umd/delegua.js +26337 -26340
@@ -1,32 +1,32 @@
1
- import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
2
- import { Chamavel } from './chamavel';
3
- /**
4
- * Classe de importação de classes de bibliotecas do JavaScript.
5
- */
6
- export declare class ClassePadrao extends Chamavel {
7
- nome: string;
8
- funcaoDeClasse: {
9
- new (...args: any[]): any;
10
- };
11
- constructor(nome: string, funcaoDeClasse: {
12
- new (...args: any[]): any;
13
- });
14
- /**
15
- * Método utilizado pelo VSCode para inspecionar esta classe em depuração.
16
- * @returns {string} A representação da classe como texto.
17
- */
18
- toString(): string;
19
- /**
20
- * Método utilizado por Delégua para representar esta classe quando impressa.
21
- * @returns {string} A representação da classe como texto.
22
- */
23
- paraTexto(): string;
24
- /**
25
- * Para o caso de uma classe padrão, instanciá-la é chamá-la
26
- * como função tendo a palavra 'new' na frente.
27
- * @param argumentos
28
- * @param simbolo
29
- */
30
- chamar(visitante: VisitanteComumInterface, argumentos: any[], simbolo: SimboloInterface): any;
31
- }
1
+ import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
2
+ import { Chamavel } from './chamavel';
3
+ /**
4
+ * Classe de importação de classes de bibliotecas do JavaScript.
5
+ */
6
+ export declare class ClassePadrao extends Chamavel {
7
+ nome: string;
8
+ funcaoDeClasse: {
9
+ new (...args: any[]): any;
10
+ };
11
+ constructor(nome: string, funcaoDeClasse: {
12
+ new (...args: any[]): any;
13
+ });
14
+ /**
15
+ * Método utilizado pelo VSCode para inspecionar esta classe em depuração.
16
+ * @returns {string} A representação da classe como texto.
17
+ */
18
+ toString(): string;
19
+ /**
20
+ * Método utilizado por Delégua para representar esta classe quando impressa.
21
+ * @returns {string} A representação da classe como texto.
22
+ */
23
+ paraTexto(): string;
24
+ /**
25
+ * Para o caso de uma classe padrão, instanciá-la é chamá-la
26
+ * como função tendo a palavra 'new' na frente.
27
+ * @param argumentos
28
+ * @param simbolo
29
+ */
30
+ chamar(visitante: VisitanteComumInterface, argumentos: any[], simbolo: SimboloInterface): any;
31
+ }
32
32
  //# sourceMappingURL=classe-padrao.d.ts.map
@@ -1,40 +1,40 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClassePadrao = void 0;
4
- const chamavel_1 = require("./chamavel");
5
- /**
6
- * Classe de importação de classes de bibliotecas do JavaScript.
7
- */
8
- class ClassePadrao extends chamavel_1.Chamavel {
9
- constructor(nome, funcaoDeClasse) {
10
- super();
11
- this.nome = nome;
12
- this.funcaoDeClasse = funcaoDeClasse;
13
- }
14
- /**
15
- * Método utilizado pelo VSCode para inspecionar esta classe em depuração.
16
- * @returns {string} A representação da classe como texto.
17
- */
18
- toString() {
19
- return `<classe-padrão ${this.nome}>`;
20
- }
21
- /**
22
- * Método utilizado por Delégua para representar esta classe quando impressa.
23
- * @returns {string} A representação da classe como texto.
24
- */
25
- paraTexto() {
26
- return `<classe-padrão ${this.nome}>`;
27
- }
28
- /**
29
- * Para o caso de uma classe padrão, instanciá-la é chamá-la
30
- * como função tendo a palavra 'new' na frente.
31
- * @param argumentos
32
- * @param simbolo
33
- */
34
- chamar(visitante, argumentos, simbolo) {
35
- const novoObjeto = new this.funcaoDeClasse(argumentos);
36
- return novoObjeto;
37
- }
38
- }
39
- exports.ClassePadrao = ClassePadrao;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClassePadrao = void 0;
4
+ const chamavel_1 = require("./chamavel");
5
+ /**
6
+ * Classe de importação de classes de bibliotecas do JavaScript.
7
+ */
8
+ class ClassePadrao extends chamavel_1.Chamavel {
9
+ constructor(nome, funcaoDeClasse) {
10
+ super();
11
+ this.nome = nome;
12
+ this.funcaoDeClasse = funcaoDeClasse;
13
+ }
14
+ /**
15
+ * Método utilizado pelo VSCode para inspecionar esta classe em depuração.
16
+ * @returns {string} A representação da classe como texto.
17
+ */
18
+ toString() {
19
+ return `<classe-padrão ${this.nome}>`;
20
+ }
21
+ /**
22
+ * Método utilizado por Delégua para representar esta classe quando impressa.
23
+ * @returns {string} A representação da classe como texto.
24
+ */
25
+ paraTexto() {
26
+ return `<classe-padrão ${this.nome}>`;
27
+ }
28
+ /**
29
+ * Para o caso de uma classe padrão, instanciá-la é chamá-la
30
+ * como função tendo a palavra 'new' na frente.
31
+ * @param argumentos
32
+ * @param simbolo
33
+ */
34
+ chamar(visitante, argumentos, simbolo) {
35
+ const novoObjeto = new this.funcaoDeClasse(argumentos);
36
+ return novoObjeto;
37
+ }
38
+ }
39
+ exports.ClassePadrao = ClassePadrao;
40
40
  //# sourceMappingURL=classe-padrao.js.map
@@ -1,30 +1,30 @@
1
- import { Chamavel } from './chamavel';
2
- import { VisitanteComumInterface } from '../interfaces';
3
- import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
4
- import { FuncaoConstruto } from '../construtos';
5
- import { ArgumentoInterface } from '../interpretador/argumento-interface';
6
- /**
7
- * Qualquer função declarada em código é uma DeleguaFuncao.
8
- */
9
- export declare class DeleguaFuncao extends Chamavel {
10
- nome: string;
11
- declaracao: FuncaoConstruto;
12
- eInicializador: boolean;
13
- instancia: ObjetoDeleguaClasse;
14
- constructor(nome: string, declaracao: FuncaoConstruto, instancia?: ObjetoDeleguaClasse, eInicializador?: boolean);
15
- aridade(): number;
16
- /**
17
- * Método utilizado por Delégua para representar esta função quando impressa.
18
- * @returns {string} A representação da função como texto.
19
- */
20
- paraTexto(): string;
21
- /**
22
- * Método utilizado pelo VSCode para inspecionar esta função em depuração.
23
- * @returns {string} A representação da função como texto.
24
- */
25
- toString(): string;
26
- private resolverParametrosEspalhados;
27
- chamar(visitante: VisitanteComumInterface, argumentos: Array<ArgumentoInterface>): Promise<any>;
28
- funcaoPorMetodoDeClasse(instancia: ObjetoDeleguaClasse): DeleguaFuncao;
29
- }
1
+ import { Chamavel } from './chamavel';
2
+ import { VisitanteComumInterface } from '../interfaces';
3
+ import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
4
+ import { FuncaoConstruto } from '../construtos';
5
+ import { ArgumentoInterface } from '../interpretador/argumento-interface';
6
+ /**
7
+ * Qualquer função declarada em código é uma DeleguaFuncao.
8
+ */
9
+ export declare class DeleguaFuncao extends Chamavel {
10
+ nome: string;
11
+ declaracao: FuncaoConstruto;
12
+ eInicializador: boolean;
13
+ instancia: ObjetoDeleguaClasse;
14
+ constructor(nome: string, declaracao: FuncaoConstruto, instancia?: ObjetoDeleguaClasse, eInicializador?: boolean);
15
+ aridade(): number;
16
+ /**
17
+ * Método utilizado por Delégua para representar esta função quando impressa.
18
+ * @returns {string} A representação da função como texto.
19
+ */
20
+ paraTexto(): string;
21
+ /**
22
+ * Método utilizado pelo VSCode para inspecionar esta função em depuração.
23
+ * @returns {string} A representação da função como texto.
24
+ */
25
+ toString(): string;
26
+ private resolverParametrosEspalhados;
27
+ chamar(visitante: VisitanteComumInterface, argumentos: Array<ArgumentoInterface>): Promise<any>;
28
+ funcaoPorMetodoDeClasse(instancia: ObjetoDeleguaClasse): DeleguaFuncao;
29
+ }
30
30
  //# sourceMappingURL=delegua-funcao.d.ts.map
@@ -1,142 +1,142 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeleguaFuncao = void 0;
4
- const chamavel_1 = require("./chamavel");
5
- const espaco_variaveis_1 = require("../espaco-variaveis");
6
- const quebras_1 = require("../quebras");
7
- const inferenciador_1 = require("../interpretador/inferenciador");
8
- const declaracoes_1 = require("../declaracoes");
9
- /**
10
- * Qualquer função declarada em código é uma DeleguaFuncao.
11
- */
12
- class DeleguaFuncao extends chamavel_1.Chamavel {
13
- constructor(nome, declaracao, instancia = undefined, eInicializador = false) {
14
- super();
15
- this.nome = nome;
16
- this.declaracao = declaracao;
17
- this.instancia = instancia;
18
- this.eInicializador = eInicializador;
19
- }
20
- aridade() {
21
- var _a, _b;
22
- return ((_b = (_a = this.declaracao) === null || _a === void 0 ? void 0 : _a.parametros) === null || _b === void 0 ? void 0 : _b.length) || 0;
23
- }
24
- /**
25
- * Método utilizado por Delégua para representar esta função quando impressa.
26
- * @returns {string} A representação da função como texto.
27
- */
28
- paraTexto() {
29
- var _a;
30
- if (!this.nome)
31
- return '<função>';
32
- let resultado = `<função ${this.nome}`;
33
- let parametros = '';
34
- let retorno = '';
35
- for (let parametro of this.declaracao.parametros) {
36
- parametros += `${parametro.nome.lexema}${parametro.tipoDado && parametro.tipoDado.tipo ? `: ${parametro.tipoDado.tipo}, ` : ', '}`;
37
- }
38
- if (this.declaracao.parametros.length > 0) {
39
- parametros = `argumentos=<${parametros.slice(0, -2)}>`;
40
- }
41
- const retorna = this.declaracao.corpo.filter((c) => c instanceof declaracoes_1.Retorna)[0];
42
- if (retorna instanceof declaracoes_1.Retorna) {
43
- const valor = (_a = retorna === null || retorna === void 0 ? void 0 : retorna.valor) === null || _a === void 0 ? void 0 : _a.valor;
44
- retorno = `retorna=<${typeof valor === 'number' ? valor : `'${valor}'`}>`;
45
- }
46
- if (parametros) {
47
- resultado += ` ${parametros}`;
48
- }
49
- if (retorno) {
50
- resultado += ` ${retorno}`;
51
- }
52
- resultado += '>';
53
- return resultado;
54
- }
55
- /**
56
- * Método utilizado pelo VSCode para inspecionar esta função em depuração.
57
- * @returns {string} A representação da função como texto.
58
- */
59
- toString() {
60
- return this.paraTexto();
61
- }
62
- resolverParametrosEspalhados(argumentos, indiceArgumentoAtual) {
63
- const argumentosResolvidos = [];
64
- for (let i = indiceArgumentoAtual; i < argumentos.length; i++) {
65
- const argumentoAtual = argumentos[i];
66
- argumentosResolvidos.push(argumentoAtual && argumentoAtual.hasOwnProperty('valor') ? argumentoAtual.valor : argumentoAtual);
67
- }
68
- return argumentosResolvidos;
69
- }
70
- async chamar(visitante, argumentos) {
71
- const ambiente = new espaco_variaveis_1.EspacoVariaveis();
72
- const parametros = this.declaracao.parametros || [];
73
- for (let i = 0; i < parametros.length; i++) {
74
- const parametro = parametros[i];
75
- const nome = parametro['nome'].lexema;
76
- if (parametro.abrangencia === 'multiplo') {
77
- const argumentosResolvidos = this.resolverParametrosEspalhados(argumentos, i);
78
- // TODO: Verificar se `imutavel` é `true` aqui mesmo.
79
- ambiente.valores[nome] = { tipo: 'vetor', valor: argumentosResolvidos, imutavel: true };
80
- }
81
- else {
82
- let argumento = argumentos[i];
83
- if (argumentos[i] === null) {
84
- argumento = parametro['padrao'] ? parametro['padrao'].valor : null;
85
- }
86
- ambiente.valores[nome] = argumento && argumento.hasOwnProperty('valor') ? argumento.valor : argumento;
87
- }
88
- }
89
- if (this.instancia !== undefined) {
90
- ambiente.valores['isto'] = {
91
- valor: this.instancia,
92
- tipo: 'objeto',
93
- imutavel: false,
94
- };
95
- // TODO: Apenass Potigol usa isso até então.
96
- // Estudar mover isso para o dialeto.
97
- if (this.instancia.classe.dialetoRequerExpansaoPropriedadesEspacoVariaveis &&
98
- this.nome !== 'construtor') {
99
- for (let [nomeCampo, valorCampo] of Object.entries(this.instancia.propriedades)) {
100
- ambiente.valores[nomeCampo] = {
101
- valor: valorCampo,
102
- tipo: (0, inferenciador_1.inferirTipoVariavel)(valorCampo),
103
- imutavel: false,
104
- };
105
- }
106
- }
107
- }
108
- // TODO: Repensar essa dinâmica para análise semântica.
109
- const interpretador = visitante;
110
- interpretador.proximoEscopo = 'funcao';
111
- const retornoBloco = await interpretador.executarBloco(this.declaracao.corpo, ambiente);
112
- const referencias = this.declaracao.parametros
113
- .map((p, indice) => {
114
- if (p.referencia) {
115
- return {
116
- indice: indice,
117
- parametro: p,
118
- };
119
- }
120
- })
121
- .filter((r) => r);
122
- const pilha = interpretador.pilhaEscoposExecucao;
123
- for (let referencia of referencias) {
124
- let argumentoReferencia = ambiente.valores[referencia.parametro.nome.lexema];
125
- pilha.atribuirVariavel({
126
- lexema: argumentos[referencia.indice].nome,
127
- }, argumentoReferencia.valor);
128
- }
129
- if (retornoBloco instanceof quebras_1.RetornoQuebra) {
130
- return retornoBloco.valor;
131
- }
132
- if (this.eInicializador) {
133
- return this.instancia;
134
- }
135
- return retornoBloco;
136
- }
137
- funcaoPorMetodoDeClasse(instancia) {
138
- return new DeleguaFuncao(this.nome, this.declaracao, instancia, this.eInicializador);
139
- }
140
- }
141
- exports.DeleguaFuncao = DeleguaFuncao;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeleguaFuncao = void 0;
4
+ const chamavel_1 = require("./chamavel");
5
+ const espaco_variaveis_1 = require("../espaco-variaveis");
6
+ const quebras_1 = require("../quebras");
7
+ const inferenciador_1 = require("../interpretador/inferenciador");
8
+ const declaracoes_1 = require("../declaracoes");
9
+ /**
10
+ * Qualquer função declarada em código é uma DeleguaFuncao.
11
+ */
12
+ class DeleguaFuncao extends chamavel_1.Chamavel {
13
+ constructor(nome, declaracao, instancia = undefined, eInicializador = false) {
14
+ super();
15
+ this.nome = nome;
16
+ this.declaracao = declaracao;
17
+ this.instancia = instancia;
18
+ this.eInicializador = eInicializador;
19
+ }
20
+ aridade() {
21
+ var _a, _b;
22
+ return ((_b = (_a = this.declaracao) === null || _a === void 0 ? void 0 : _a.parametros) === null || _b === void 0 ? void 0 : _b.length) || 0;
23
+ }
24
+ /**
25
+ * Método utilizado por Delégua para representar esta função quando impressa.
26
+ * @returns {string} A representação da função como texto.
27
+ */
28
+ paraTexto() {
29
+ var _a;
30
+ if (!this.nome)
31
+ return '<função>';
32
+ let resultado = `<função ${this.nome}`;
33
+ let parametros = '';
34
+ let retorno = '';
35
+ for (let parametro of this.declaracao.parametros) {
36
+ parametros += `${parametro.nome.lexema}${parametro.tipoDado && parametro.tipoDado.tipo ? `: ${parametro.tipoDado.tipo}, ` : ', '}`;
37
+ }
38
+ if (this.declaracao.parametros.length > 0) {
39
+ parametros = `argumentos=<${parametros.slice(0, -2)}>`;
40
+ }
41
+ const retorna = this.declaracao.corpo.filter((c) => c instanceof declaracoes_1.Retorna)[0];
42
+ if (retorna instanceof declaracoes_1.Retorna) {
43
+ const valor = (_a = retorna === null || retorna === void 0 ? void 0 : retorna.valor) === null || _a === void 0 ? void 0 : _a.valor;
44
+ retorno = `retorna=<${typeof valor === 'number' ? valor : `'${valor}'`}>`;
45
+ }
46
+ if (parametros) {
47
+ resultado += ` ${parametros}`;
48
+ }
49
+ if (retorno) {
50
+ resultado += ` ${retorno}`;
51
+ }
52
+ resultado += '>';
53
+ return resultado;
54
+ }
55
+ /**
56
+ * Método utilizado pelo VSCode para inspecionar esta função em depuração.
57
+ * @returns {string} A representação da função como texto.
58
+ */
59
+ toString() {
60
+ return this.paraTexto();
61
+ }
62
+ resolverParametrosEspalhados(argumentos, indiceArgumentoAtual) {
63
+ const argumentosResolvidos = [];
64
+ for (let i = indiceArgumentoAtual; i < argumentos.length; i++) {
65
+ const argumentoAtual = argumentos[i];
66
+ argumentosResolvidos.push(argumentoAtual && argumentoAtual.hasOwnProperty('valor') ? argumentoAtual.valor : argumentoAtual);
67
+ }
68
+ return argumentosResolvidos;
69
+ }
70
+ async chamar(visitante, argumentos) {
71
+ const ambiente = new espaco_variaveis_1.EspacoVariaveis();
72
+ const parametros = this.declaracao.parametros || [];
73
+ for (let i = 0; i < parametros.length; i++) {
74
+ const parametro = parametros[i];
75
+ const nome = parametro['nome'].lexema;
76
+ if (parametro.abrangencia === 'multiplo') {
77
+ const argumentosResolvidos = this.resolverParametrosEspalhados(argumentos, i);
78
+ // TODO: Verificar se `imutavel` é `true` aqui mesmo.
79
+ ambiente.valores[nome] = { tipo: 'vetor', valor: argumentosResolvidos, imutavel: true };
80
+ }
81
+ else {
82
+ let argumento = argumentos[i];
83
+ if (argumentos[i] === null) {
84
+ argumento = parametro['padrao'] ? parametro['padrao'].valor : null;
85
+ }
86
+ ambiente.valores[nome] = argumento && argumento.hasOwnProperty('valor') ? argumento.valor : argumento;
87
+ }
88
+ }
89
+ if (this.instancia !== undefined) {
90
+ ambiente.valores['isto'] = {
91
+ valor: this.instancia,
92
+ tipo: 'objeto',
93
+ imutavel: false,
94
+ };
95
+ // TODO: Apenass Potigol usa isso até então.
96
+ // Estudar mover isso para o dialeto.
97
+ if (this.instancia.classe.dialetoRequerExpansaoPropriedadesEspacoVariaveis &&
98
+ this.nome !== 'construtor') {
99
+ for (let [nomeCampo, valorCampo] of Object.entries(this.instancia.propriedades)) {
100
+ ambiente.valores[nomeCampo] = {
101
+ valor: valorCampo,
102
+ tipo: (0, inferenciador_1.inferirTipoVariavel)(valorCampo),
103
+ imutavel: false,
104
+ };
105
+ }
106
+ }
107
+ }
108
+ // TODO: Repensar essa dinâmica para análise semântica.
109
+ const interpretador = visitante;
110
+ interpretador.proximoEscopo = 'funcao';
111
+ const retornoBloco = await interpretador.executarBloco(this.declaracao.corpo, ambiente);
112
+ const referencias = this.declaracao.parametros
113
+ .map((p, indice) => {
114
+ if (p.referencia) {
115
+ return {
116
+ indice: indice,
117
+ parametro: p,
118
+ };
119
+ }
120
+ })
121
+ .filter((r) => r);
122
+ const pilha = interpretador.pilhaEscoposExecucao;
123
+ for (let referencia of referencias) {
124
+ let argumentoReferencia = ambiente.valores[referencia.parametro.nome.lexema];
125
+ pilha.atribuirVariavel({
126
+ lexema: argumentos[referencia.indice].nome,
127
+ }, argumentoReferencia.valor);
128
+ }
129
+ if (retornoBloco instanceof quebras_1.RetornoQuebra) {
130
+ return retornoBloco.valor;
131
+ }
132
+ if (this.eInicializador) {
133
+ return this.instancia;
134
+ }
135
+ return retornoBloco;
136
+ }
137
+ funcaoPorMetodoDeClasse(instancia) {
138
+ return new DeleguaFuncao(this.nome, this.declaracao, instancia, this.eInicializador);
139
+ }
140
+ }
141
+ exports.DeleguaFuncao = DeleguaFuncao;
142
142
  //# sourceMappingURL=delegua-funcao.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../fontes/estruturas/delegua-funcao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../fontes/estruturas/delegua-funcao.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,38 @@
1
- import { PropriedadeClasse } from '../declaracoes';
2
- import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
3
- import { Chamavel } from './chamavel';
4
- import { DeleguaFuncao } from './delegua-funcao';
5
- import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
6
- /**
7
- * Descritor de tipo de classe. Quando uma declaração de classe é visitada, o que
8
- * vai para a pilha de escopos de execução é esta estrutura. Quando uma nova instância
9
- * de classe é criada, a referência para a instância é implementada aqui.
10
- */
11
- export declare class DescritorTipoClasse extends Chamavel {
12
- simboloOriginal: SimboloInterface;
13
- superClasse: DescritorTipoClasse;
14
- metodos: {
15
- [nome: string]: DeleguaFuncao;
16
- };
17
- propriedades: PropriedadeClasse[];
18
- dialetoRequerExpansaoPropriedadesEspacoVariaveis: boolean;
19
- dialetoRequerDeclaracaoPropriedades: boolean;
20
- constructor(simboloOriginal?: SimboloInterface, superClasse?: DescritorTipoClasse, metodos?: {
21
- [nome: string]: DeleguaFuncao;
22
- }, propriedades?: PropriedadeClasse[]);
23
- encontrarMetodo(nome: string): DeleguaFuncao;
24
- encontrarPropriedade(nome: string): PropriedadeClasse;
25
- /**
26
- * Método utilizado por Delégua para representar esta classe quando impressa.
27
- * @returns {string} A representação da classe como texto.
28
- */
29
- paraTexto(): string;
30
- /**
31
- * Método utilizado pelo VSCode para inspecionar esta classe em depuração.
32
- * @returns {string} A representação da classe como texto.
33
- */
34
- toString(): string;
35
- aridade(): number;
36
- chamar(visitante: VisitanteComumInterface, argumentos: any[]): Promise<ObjetoDeleguaClasse>;
37
- }
1
+ import { PropriedadeClasse } from '../declaracoes';
2
+ import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
3
+ import { Chamavel } from './chamavel';
4
+ import { DeleguaFuncao } from './delegua-funcao';
5
+ import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
6
+ /**
7
+ * Descritor de tipo de classe. Quando uma declaração de classe é visitada, o que
8
+ * vai para a pilha de escopos de execução é esta estrutura. Quando uma nova instância
9
+ * de classe é criada, a referência para a instância é implementada aqui.
10
+ */
11
+ export declare class DescritorTipoClasse extends Chamavel {
12
+ simboloOriginal: SimboloInterface;
13
+ superClasse: DescritorTipoClasse;
14
+ metodos: {
15
+ [nome: string]: DeleguaFuncao;
16
+ };
17
+ propriedades: PropriedadeClasse[];
18
+ dialetoRequerExpansaoPropriedadesEspacoVariaveis: boolean;
19
+ dialetoRequerDeclaracaoPropriedades: boolean;
20
+ constructor(simboloOriginal?: SimboloInterface, superClasse?: DescritorTipoClasse, metodos?: {
21
+ [nome: string]: DeleguaFuncao;
22
+ }, propriedades?: PropriedadeClasse[]);
23
+ encontrarMetodo(nome: string): DeleguaFuncao;
24
+ encontrarPropriedade(nome: string): PropriedadeClasse;
25
+ /**
26
+ * Método utilizado por Delégua para representar esta classe quando impressa.
27
+ * @returns {string} A representação da classe como texto.
28
+ */
29
+ paraTexto(): string;
30
+ /**
31
+ * Método utilizado pelo VSCode para inspecionar esta classe em depuração.
32
+ * @returns {string} A representação da classe como texto.
33
+ */
34
+ toString(): string;
35
+ aridade(): number;
36
+ chamar(visitante: VisitanteComumInterface, argumentos: any[]): Promise<ObjetoDeleguaClasse>;
37
+ }
38
38
  //# sourceMappingURL=descritor-tipo-classe.d.ts.map