@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,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